Welcome!

Microservices Expo Authors: Liz McMillan, Karyn Jeffery, Thanh Tran, Elizabeth White, Anders Wallgren

Related Topics: Microservices Expo

Microservices Expo: Article

BPEL4WS 1.1 To WS-BPEL 2.0 - An SOA Migration Path

BPEL4WS V1.1 has several shortcomings that will be addressed by the next release of the specification

BPEL4WS V1.1 is a public draft release of the "Business Process Execution Language for Web Services" specification dated May 3, 2003. BPEL4WS V1.1 is arguably the de facto standard for Business Process Management (BPM); however, because it's a draft release, BPEL4WS V1.1 has several shortcomings that will be addressed by the next release of the specification (named WS-BPEL 2.0), which is targeted to be released either toward the end of this year or during the beginning of 2006.

WS-BPEL 2.0, henceforth referenced as BPEL 2.0, is considerably different from the previous V1.1 draft release. The article will address these changes and demonstrate how to attempt to migrate a V1.1 business process to be compatible with a BPEL 2.0 engine. Sometimes this migration is simple and can be accomplished by means of syntactic changes to the process; sometimes the migration is not so easy, and mostly results in the rewrite of the process or process fragment. We will start with the simple cases and move toward the more complicated ones.

It is not the intention of this article to explain BPEL 1.1 or to explain the new features of BPEL 2.0, so it is highly recommended that the reader have a good familiarity with the BPEL language.

BPEL 1.1 Features That No Longer Exist
We will first address those features that have been removed from BPEL 1.1. The concept of "partner" is no longer available for BPEL 2.0. A "partner" groups several "partnerLinks," and in doing so represents a common endpoint. Aside from being descriptive, the "partner" concept did not have any executable property, so it was decided that the language did not need this concept.

The XML element "compensationHandler" and the XML attribute "enableInstanceCompensation" in the top-level "process" element have been removed. Instance (process) level compensation handlers never had any mechanism for being invoked; therefore, because they could not be used instance level compensation handling is no longer supported.

Since it is very unlikely that any BPEL 1.1 engine made use of either of these concepts, it is generally safe enough to just remove them from the process definition when migrating to BPEL 2.0.

Syntactic Changes
The following changes are just syntactic. You can simply do a simple find-and-replace to migrate to BPEL 2.0:

  • Replace the XML attribute "variableAccessSerializable" with "isolated"
  • Replace the XML tag "terminate" with "exit"
  • Replace the XML attribute "onMessage" of event handlers with "onEvent"
  • Move the XML attribute "joinCondition" that is present in BPEL activities to be a child element of "targets," as in the following XML fragment:
    <invoke name="settleTrade">
       <targets>
         <joinCondition>
           $buyToSettle and $sellToSettle
         </joinCondition>
         <target linkName="buyToSettle"/>
       </targets>
    </invoke>
  • Replace the XML attribute value "rendezvous" of the attribute "initiate" with the attribute value "join"
  • The schema type "tRole" no longer has a child element representing the port type; instead, the port type is now specified as an attribute directly in the role itself, as demonstrated in the following fragment:
    <plnk:partnerLinkType name="shippingLT">
       <plnk:role name="shippingService"portType="shippingServicePT"/>
    </plnk:partnerLinkType>
  • The attribute "portType" of messaging activities such as "receive," "invoke," "reply," "pick," and "onEvent" is no longer mandatory and can be omitted
  • The URI used to specify XPath 1.0 as the expression/query language of choice has been changed, so replace the attribute value "http://www.w3.org/TR/1999/REC-xpath-19991116" of the attributes "expressionLanguage" and "queryLanguage" with the attribute value "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"
In addition to these, the syntax for assignments has been changed, but we will discuss this in a separate section.

Extensibility of Expression/Query Languages
In BPEL 1.1 expressions are used by switch conditions, while conditions and assignments such as XPath expressions are constrained as being an XML attribute value. Although this is not generally a problem for XPath 1.0 expressions, it is awkward for more complex languages such as XPath 2.0 or XQuery 1.0. XML attributes do not provide enough "real estate" for complicated expressions and also do not allow for the use of other XML features such as CDATA, or to write XML itself as the expression.

Hence, to allow for better extensibility of BPEL using external languages, the authoring of expressions and queries are now realized within XML tags (elements) instead of attributes. In practice this means that the XML attributes "for," "until," "joinCondition," "transitionCondition," "expression," "query," and "condition" must all be changed to be XML elements, which would then contain the expressions (the expressions are the former attribute values). The following snippet shows an example of this conversion for XPath 1.0. Note that the attribute "expressionLanguage" is optional.

<while>
   <condition
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
$itemsShipped < bpws:getVariableProperty('shipRequest','sns:itemsTotal')
   </condition>
   <sequence>
     <!- do something -->
   </sequence>
</while>

Listing 1 shows an example of a nonstandard usage of XQuery 1.0 as the expression language. BPEL 2.0 has thus far only standardized the usage of XPath 1.0.

Links
Links are used to specify synchronization dependencies between nested activities within a flow. In BPEL 1.1, links could not cross the boundary of structured activities such as "while," "isolated scope," "event handler," and "compensation handler." In BPEL 2.0, this restriction has been made stronger. Links that create a reentrant control path in scopes are no longer permitted. The reason for this tightening is to simplify the semantic of compensation handling. Figure 1 illustrates this banned scenario.

Messaging
Several aspects of messaging for BPEL 1.1 are unspecified. For example, there is no defined behavior for a process that receives a message for a request-response operation and finishes without replying. In BPEL 2.0, such a scenario would have trigged a new BPEL standard fault called "missingReply" fault.

More Stories By Alexandre Alves

Alexandre Alves currently works at BEA Systems, in the WebLogic Integration group. He has worked with integration technologies for over 10 years, focusing on CORBA, J2EE, and Web services.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
SOA Web Services Journal News Desk 11/30/05 09:11:36 PM EST

BPEL4WS 1.1 To WS-BPEL 2.0 - An SOA Migration Path. BPEL4WS V1.1 is a public draft release of the 'Business Process Execution Language for Web Services' specification dated May 3, 2003. BPEL4WS V1.1 is arguably the de facto standard for Business Process Management (BPM); however, because it's a draft release, BPEL4WS V1.1 has several shortcomings that will be addressed by the next release of the specification (named WS-BPEL 2.0), which is targeted to be released either toward the end of this year or during the beginning of 2006.

@MicroservicesExpo Stories
SYS-CON Events announced today that Tintri Inc., a leading producer of VM-aware storage (VAS) for virtualization and cloud environments, will exhibit at the 18th International CloudExpo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
While there has been much ado about interoperability, there are still no real solutions, same as last year and the year before that. The large EHR vendors who continue to dominate the market still maintain that interoperability is all but solved, still can't connect EHRs across the continuum causing frustration by providers and a disservice to patients. The ONC pays lip service to the problem, but that is about it. It is time for the healthcare industry to consider alternatives like middleware w...
In the rush to compete in the digital age, a successful digital transformation is essential, but many organizations are setting themselves up for failure. There’s a common misconception that the process is just about technology, but it’s not. It’s about your business. It shouldn’t be treated as an isolated IT project; it should be driven by business needs with the committed involvement of a range of stakeholders.
SYS-CON Events announced today that EastBanc Technologies will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. EastBanc Technologies has been working at the frontier of technology since 1999. Today, the firm provides full-lifecycle software development delivering flexible technology solutions that seamlessly integrate with existing systems – whether on premise or cloud. EastBanc Technologies partners with p...
SYS-CON Events announced today that Isomorphic Software will exhibit at SYS-CON's [email protected] at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Isomorphic Software provides the SmartClient HTML5/AJAX platform, the most advanced technology for building rich, high-productivity enterprise web applications for any device. SmartClient couples the industry’s broadest, deepest UI component set with a java server framework to deliver an end-...
Our CTO, Anders Wallgren, recently sat down to take part in the “B2B Nation: IT” podcast — the series dedicated to serving the IT professional community with expert opinions and advice on the world of information technology. Listen to the great conversation, where Anders shares his thoughts on DevOps lessons from large enterprises, the growth of microservices and containers, and more.
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
SYS-CON Events announced today that BMC Software has been named "Siver Sponsor" of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. BMC is a global leader in innovative software solutions that help businesses transform into digital enterprises for the ultimate competitive advantage. BMC Digital Enterprise Management is a set of innovative IT solutions designed to make digital business fast, seamless, and optimized from mainframe to mo...
SYS-CON Events announced today that AppNeta, the leader in performance insight for business-critical web applications, will exhibit and present at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. AppNeta is the only application performance monitoring (APM) company to provide solutions for all applications – applications you develop internally, business-critical SaaS applications you use and the networks that deli...
SoftLayer operates a global cloud infrastructure platform built for Internet scale. With a global footprint of data centers and network points of presence, SoftLayer provides infrastructure as a service to leading-edge customers ranging from Web startups to global enterprises. SoftLayer's modular architecture, full-featured API, and sophisticated automation provide unparalleled performance and control. Its flexible unified platform seamlessly spans physical and virtual devices linked via a world...
IoT generates lots of temporal data. But how do you unlock its value? How do you coordinate the diverse moving parts that must come together when developing your IoT product? What are the key challenges addressed by Data as a Service? How does cloud computing underlie and connect the notions of Digital and DevOps What is the impact of the API economy? What is the business imperative for Cognitive Computing? Get all these questions and hundreds more like them answered at the 18th Cloud Expo...
SYS-CON Events announced today the Docker Meets Kubernetes – Intro into the Kubernetes World, being held June 9, 2016, in conjunction with 18th Cloud Expo | @ThingsExpo, at the Javits Center in New York, NY. Register for 'Docker Meets Kubernetes Workshop' Here! This workshop led by Sebastian Scheele, co-founder of Loodse, introduces participants to Kubernetes (container orchestration). Through a combination of instructor-led presentations, demonstrations, and hands-on labs, participants learn ...
The initial debate is over: Any enterprise with a serious commitment to IT is migrating to the cloud. But things are not so simple. There is a complex mix of on-premises, colocated, and public-cloud deployments. In this power panel at 18th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists will look at the present state of cloud from the C-level view, and how great companies and rock star executives can use cloud computing to meet their most ambitious and disruptive business ...
Agile teams report the lowest rate of measuring non-functional requirements. What does this mean for the evolution of quality in this era of Continuous Everything? To explore how the rise of SDLC acceleration trends such as Agile, DevOps, and Continuous Delivery are impacting software quality, Parasoft conducted a survey about measuring and monitoring non-functional requirements (NFRs). Here's a glimpse at what we discovered and what it means for the evolution of quality in this era of Continuo...
Join us at Cloud Expo | @ThingsExpo 2016 – June 7-9 at the Javits Center in New York City and November 1-3 at the Santa Clara Convention Center in Santa Clara, CA – and deliver your unique message in a way that is striking and unforgettable by taking advantage of SYS-CON's unmatched high-impact, result-driven event / media packages.
You might already know them from theagileadmin.com, but let me introduce you to two of the leading minds in the Rugged DevOps movement: James Wickett and Ernest Mueller. Both James and Ernest are active leaders in the DevOps space, in addition to helping organize events such as DevOpsDays Austinand LASCON. Our conversation covered a lot of bases from the founding of Rugged DevOps to aligning organizational silos to lessons learned from W. Edwards Demings.
Application development and delivery methods have undergone radical changes in recent years to improve scalability and resiliency. Container images are the new build and deployment artifacts that are used to ship and run software. While startups have long been comfortable experimenting with and embracing new technologies, even large enterprises are now re-architecting their software systems so that they can benefit from container-enabled micro services architectures. With the launch of DC/OS, w...
Earlier this week, we hosted a Continuous Discussion (#c9d9) on Continuous Delivery (CD) automation and orchestration, featuring expert panelists Dondee Tan, Test Architect at Alaska Air, Taco Bakker, a LEAN Six Sigma black belt focusing on CD, and our own Sam Fell and Anders Wallgren. During this episode, we discussed the differences between CD automation and orchestration, their challenges with setting up CD pipelines and some of the common chokepoints, as well as some best practices and tips...
When I talk about driving innovation with self-organizing teams, I emphasize that such self-organization includes expecting the participants to organize their own teams, give themselves their own goals, and determine for themselves how to measure their success. In contrast, the definition of skunkworks points out that members of such teams are “usually specially selected.” Good thing he added the word usually – because specially selecting such teams throws a wrench in the entire works, limiting...
SYS-CON Events announced today TechTarget has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. TechTarget is the Web’s leading destination for serious technology buyers researching and making enterprise technology decisions. Its extensive global networ...