Process Modeling (Workflow) and Service-Oriented Architecture (SOA)

History of EDI - Electronic Data Interchange - see Wikipedia

Languages for workflow modeling

Web Services

The idea is having object-oriented programming in the Internet context: Object instances are called instances of Web Services, and a Web Service is a definition of an object class. Inheritance is not really supported. This is also called "Service-Oriented Architecture" (SOA). For more pointers, see here. The relationship between Workflow modeling and SOA was discussed in a document from 2005.

Business Process Execution Language (BPEL)

In object-orientation, the main idea is encupsulation of methods bodies behind the object interfaces. The Web Services standards concentrate on how to define interfaces. On the other hand, BPEL is a language that can be used to define the dynamic behavior of a Web Service - it is is a kind of implementation language that can be used to define the "body" of the methods that are defined in the interface.

BPEL is an XML-based language for "orchestrating" Web Services, that is, to write a program that defines some local processing and interaction with other Web Services. A BPEL program has an WSDL interface that defines the service that it provides. The BPEL standard is defined by OASIS.

For an overview, see Wikipedia or Section 5 of BPEL specification v2. It uses an extended version of WSDL for defining the interfaces for communication with other WS, and XPath (and possibly Java or scripting languages) for accessing particular elements of the XML data structures of the exchanged messages and of local (global) variables that are shared among all activities of a BPEL process. Related standard developments are WS-Coordination and WS-Transactions.

The control flow primitives are like in Activity Diagrams, except that BPEL also allows for data dependencies between concurrent activities (see first diagram in the example of Section 5 in the BPEL Specification). A BPEL process represents a centralized process (running as a Web Service) that communicates with other Web Services according to the local control flow defined within the BPEL process. Here are some further links:

Transactions


Updated: 2011, 2012, 2013