4.5. WS-BPEL

WS-BPEL, usually abbreviated to just BPEL (pron. Beepell or Beeple), is a programming language that is designed to represent business processes as XML. It is an extension to web services standards that introduces stative constructs to interactions between services that are otherwise transactionally stateless. A BPEL program contains two kinds of file: WSDL files that describe service interfaces and BPEL files that encode the definition and orchestration of processes. In fact, BPEL's messaging facilities depend entirely on the use of the WSDL to describe outgoing and incoming messages. Thus, partner process activities do not address each other using identities but pass messages that encapsulate key data that can be correlated over the duration of the exchange.

The details of process execution languages should not concern the average business analyst and is outside the scope of a text on requirements engineering and specification, such as this one. In fact, since BPEL is limited to web service implementations, which we have already seen are not the only way to implement service oriented architecture, the analyst might want to steer well clear of such implementation decisions. However, since very many current installations use BPEL, this section provides a high level overview of it and how it fits in architecturally - especially with respect to BPMN.

Historically, IBM and Microsoft had both developed process execution languages: WSFL and XLANG. As the business process ...

Get Requirements Modelling and Specification for Service Oriented Architecture 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.