Anatomy of a Process

The BPEL specification[*] is positioned as a business process extension to existing web services standards. In the past, web services were limited to stateless interactions; BPEL and other process and choreography languages show how to build stateful, conversational business processes from web services. BPEL is a rigorous language that builds on and extends web services for interacting processes.

A BPEL process definition consists of two types of files:

  • Web Services Definition Language (WSDL) files specifying the web service interfaces—partner link types, properties, port types and operations, message and part—of interest to the process, including services implemented by and called by the process. WSDL is a well-known technology with many uses besides process definition.

  • BPEL files, each of which encodes in XML form the definition of a process, including its main activities, partner links, correlation sets, variables, and handlers for compensation, faults, and events.

When combined, the WSDL and the process definition form a business control flow that can act as an interface with external parties through web services. In a sense, the main steps in a process—the ones that drive the flow—are its service touchpoints, represented by receive, pick, invoke, and reply activities. The most rigid rule of BPEL programming is that a process must begin with a receive or pick activity, implying that a process must start by being called as a service of a particular type. Thereafter, ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.