Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Business Process Execution Language (BPEL)

BPEL is the de-facto industry standard for modeling executable Web service orchestrationsbusiness process orchestration. It is an XML-based language used for the definition and execution of business, as well as scientific workflows using Web services. WSO2 Business Process Server (WSO2 BPS) and Apache Orchestration Director Engine(ODE) are two WS-BPEL-compliant business process executable work-flow engines, which support composition of Web services by orchestrating service interactionsWeb services. In other words, BPEL is used to write business processes by composing Web services together with orchestration. The outcome is a composite Web service.

Although these business processes may interact with humans, the WS-BPEL standard does not specify human interactions. As a result, a business process defined by WS-BPEL alone can not have human interactions but only with Web services. The WSO2 BPS facilitates defining and using human tasks into business processes.

Orchestration Vs. Choreography

Web services can be composed using two approaches: orchestration and choreography. In orchestration, there is a central director to coordinate the services. In contrast, choreography contains no central director and each contributing service should have an understanding of participant services.

For composing Web services for a business process, orchestration is a better option for reasons such as simpler process management, loose-coupling between participating Web services, ease in error handling, standardization etc.

Abstract and Executable Processes

Based on the definition of the actual behavior required by a business process, it can be design in two ways using WS-BPEL: abstract and executable. Abstract processes are intended to hide some operational details of the process. As a result, they do not include executable details like process flows. Executable business processes are used to model the actual implementation of the business process.

An abstract process is denoted under the "http://docs.oasis-open.org/wsbpel/2.0/process/abstract" namespace and an executable process is denoted under the "http://docs.oasis-open.org/wsbpel/2.0/process/executable". Additionally, there are syntactical differences between an abstract and an executable BPEL process.