Summary

The main points of this chapter include the following:

  • BPEL is an XML-based process definition language. The XML approach has several merits, including programmability, executability, exportability, and easy web services integration capabilities.

  • BPEL was originally written by IBM, Microsoft, and BEA, but has been handed over to OASIS for standardization. BPEL is based on IBM’s WSFL and Microsoft’s XLANG.

  • The source code for a BPEL process is a set of WSDL files and a BPEL XML file. WSDL is the standard web service definition format, specifying port types, partner link types, message types, and properties. The process definition references the WSDL, creating partner links based on WSDL partner link types and variables based on WSDL-defined message types. Compensation, fault and event handlers can be defined for the process or any of its scope levels. The flow of a BPEL process includes service touchpoints (receive, invoke, reply) and control flow elements (wait, while, switch, flow, sequence, scope).

  • BPELJ introduces Java extensions to “pure” BPEL, such as the ability to define Java process variable, evaluate dates and conditions with Java code, and embed code snippets. Other powerful features include Java partner links (enabling invoke calls to local Java classes in addition to pure BPEL’s partner web services) and correlation based on Java classes.

  • BPELJ source code can be XML with embedded Java or Java with annotated XML. The former approach is arguably better from a design ...

Get Essential Business Process Modeling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.