|Orchestration Standards Move Ahead|
|May 19, 2003|
Business Process Execution Language (BPEL), a specification that defines how Web services can be combined to orchestrate long-lasting business processes, has been submitted for standardization by a group led by IBM and Microsoft. BPEL is an XML-based language that allows developers to formally describe a business process, such as the steps involved in processing a loan application or making a purchase request. BPEL could become a key standard for application integration and business-to-business processing, and it will likely be the basis of Microsoft and IBM's future application integration products.
Like many earlier standards for Web services, BPEL was co-authored by Microsoft and IBM, but also includes input from BEA. The group has submitted BPEL to the Organization for Advancement of Structured Information Standards (OASIS), a vendor consortium of software vendors, consultants, and IT organizations originally formed to promote Standard Generalized Markup Language (SGML) interoperability but now focused on XML. Although a rival technology sponsored by Sun Microsystems, Oracle and others, has been submitted to the World Wide Web Consortium (W3C), BPEL is quickly gaining support from many enterprise application vendors, such as SAP and Siebel Systems.
Standardization to Make Orchestration Mainstream
BPEL is a language that enables developers to specify how information flows between Web services during long-running business processes. (Although Microsoft uses the term orchestration to describe this business process analysis, IBM typically uses the phrase workflow and some other vendors prefer choreography.) For example, in order to process a purchase order, a company might need to make a price calculation, schedule production, request a credit check on the potential buyer from a third party, and finally arrange for shipping and delivery. Some of these steps are interdependent and must be coordinated (the shipping arrangements will affect the price calculation), while others are more isolated and can be processed in parallel. BPEL allows these relationships to be formalized.
In addition to describing a simple sequence of events, BPEL allows developers to model more complex business processes by including support for the following:
Conditional processes. Business processes are rarely linear; the result of one step in a process is likely to affect the subsequent sequence. For example, purchase orders that exceed a price threshold might require credit authorization, while those that fall below a specified amount can be processed immediately.
Error handling and recovery. BPEL allows developers to specify error conditions and recovery methods. Error handling is particularly important because the steps of a business process may be distributed among partners running their business applications and Web services on different OSs and application servers.
In the past, such integration was highly customized and time consuming. It was limited to firms (such as automobile manufacturers) that had the ability to deploy enterprise application integration (EAI) systems and to effectively force their partners to adopt a single system. Standards-based systems, such as BPEL, have the potential to make this process available and economical for a much wider range of companies.
BPEL is not the first solution to the problem of specifying business processes. In fact, it combines and supersedes two previous technologies, Microsoft’s XLANG (used by BizTalk Server) and IBM’s Web Services Flow Language (WFSL). BizTalk Server, Microsoft's application integration product, currently uses XLANG, and IBM has several toolkits based on WSFL. But without a standardized orchestration specification, it has been difficult to integrate complex business processes between partners using different systems. By joining forces to develop BPEL, Microsoft and its partners hope to ease this process and increase the adoption of Web services.
Vendors Converging on BPEL
BPEL, however, is not the only attempt at standardizing Web services orchestration. An alternate proposal called the Web Services Choreography Interface (WSCI) was developed by BEA, SAP, and Sun and submitted to the W3C for standardization. However, several factors make BPEL more likely to see widespread adoption.
Application server support. Microsoft, BEA, and IBM are the three largest application server vendors and all three support BPEL, although BEA appears to be hedging its bets by co-authoring and pledging support for both specifications.
Likely rapid standardization of BPEL. Because OASIS is generally seen as a more "vendor-friendly" standards body than the W3C and has less restrictive standards on inclusion of vendor-patented technologies, BPEL is likely to be approved by a standards body more quickly than WSCI.
Sun joining BPEL committee. Even though Sun was a co-author of WSCI, Sun and Oracle have announced they will join the OASIS committee standardizing BPEL and Sun says it will support both WSCI and BPEL.
The result is that while both WSCI and BPEL may eventually be standardized, BPEL is more likely to see widespread adoption, given that Microsoft and IBM are unlikely to support WSCI.
The draft specification for BPEL can be found at msdn.microsoft.com/library/en-us/dnbiz2k2/html/BPEL1-1.asp.
For more information on how Microsoft and IBM both compete and cooperate on Web services, see "Web Services Built on Cooperation and Competition" on page 16 of the May 2001 Update.
For a more detailed discussion of XLANG, Microsoft’s predecessor to BPEL, see "BizTalk Server 2000 Orchestrates Business Interaction" on page 3 of the Mar. 2001 Update.
The home page for the OASIS technical committee for BPEL is www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel.