Introduction
Wide-spread enterprise adoption of SOAP and WSDL is underway. With that, system architects and software developers are concentrating their attention on ways to efficiently link groups of Web Services into business workflows. In an ideal world, a meta language handles all the mundane tasks of making calls to SOAP-based services and provides the language constructs (looping, conditionals, variables, and interfaces to the local system resources) to write workflow-based software applications. For example, a bank setting a loan application goes through several steps of approval. Each approval comes from a SOAP-based Web service request. Software developers use the workflow language to identify the order of the steps for approval and how the workflow branches depending on the results of each Web service response.
BPEL4WS (known as BPEL and pronounced bee-pel) is a combination of efforts by 3 major enterprise application server vendors. IBM and Microsoft combined their previous individual efforts -- IBM's Web Services Flow Language (WSFL) and Microsoft's XLANG specification -- to create the BPEL4WS specification. In addition, BEA Systems, itself a co-author of Web Services Choreography Interface (WSCI, pronounced whiskey), a competitive business process specification, joined the effort. The effort drew support from Siebel and SAP. Recently, Sun Microsystems joined the OASIS WSBPEL technical committee to further the effort.
Automating the interaction of business processes between applications, departments and enterprises recently took a giant leap forward when IBM, Microsoft and BEA announced that they intend to submit version 1.1 to the Organization for the Advancement of Structured Information Standards (OASIS) technical committee under royalty-free terms. The news is reminiscent of the traction XML Web Services received when IBM and Microsoft teamed to propose SOAP to the W3C in September of 2000.
There are two reasons why developers should look at BPEL4WS right now:
- For developers that have already adopted SOAP-based Web services, BPEL4WS delivers immediately useful code that you do not have to write. When your application requires several Web service calls with business logic to make choices then your application is a candidate to use BPEL4WS. One call to a BPEL4WS flow encapsulates the many Web service calls your application would otherwise make to process a workflow. BPEL4WS avoids your needing to write workflow code in Java in a servlet or Enterprise Java Bean (EJB) component.
- For developers that have avoided SOAP-based Web services, BPEL4WS makes the Web service platform more attractive. BPEL4WS makes Web services more than a lightweight way to implement external APIs for your applications. With BPEL4WS Web services get closer to a rich platform for processing data according to business process requirements. Consequently, your Java code becomes less complex and more reliable as the BPEL4WS engine handles calls to SOAP-based Web Services and workflows based on their results.
To help you understand BPEL4WS, this tutorial illustrates the function and benefits of the BPEL4WS specification. The tutorial then explores the application of BPEL4WS in a real-world business process.




