Business Process Execution Language

Die Business Process Execution Language ist eine Beschreibungs- und Programmiersprache für Geschäftsprozesse, die auf Web Services basieren. Die Beschreibung erfolgt in XML und kann ausführbar sein. Somit ist BPEL mit einer passenden Laufzeitumgebung eine Realisierungsmöglichkeit für Orchestration.

BPEL erlaubt es, den Kontrollfluss der Geschäftsprozesse durch Sequenzen (siehe sequence), Parallelität (siehe flow), Fallunterscheidungen (siehe switch), Schleifen (siehe while) und Blöcke (siehe scope) zu strukturieren.

Für die Behandlung von Ausnahmen können unter anderem in Blöcken Fault Handler und Compensation Handler definiert werden.

Auf die im Geschäftsprozess verwendeten Web Services wird anhand von WSDL Port Types (siehe Port Type) Bezug genommen, d.h. für die Services muss eine WSDL Beschreibung vorliegen.

Genauer beschrieben werden die statischen Kommunikationsbeziehungen zwischen dem Geschäftsprozess und den Services durch Partner, Partner Links (siehe Partner Link), Partner Link Types (siehe Partner Link Type) und Roles (siehe Role).

Die Aktivitäten für eingehende Kommunikation (siehe receive, pick und onMessage) und für ausgehende Kommunikation (siehe invoke und reply) referenzieren jeweils eine Kombination aus Partner Link, Port Type und Operation.

Für diese Aktivitäten ist das Konzept der Correlation Sets (siehe Correlation Set) wichtig. Mit Correlation Sets werden die Teile (siehe Property und Property Alias) der ausgetauschten Nachrichten identifiziert, die eine Zuordnung von Nachrichten zu Prozess Instanzen (siehe Process Instance) erlauben.

Die Möglichkeiten, mit denen innerhalb eines Geschäftsprozesses Berechungen durchgeführt werden können, sind eingeschränkt (siehe assign). Bei BPEL geht es ums Programmieren im Großen, die tatsächlichen Berechnungen finden in den angesprochenen Services statt.


Anlage

Abbildung: Zusammenhang der kommunizierenden Activities untereinander

Anlage

Abbildung: Einfache Activities

Anlage

Abbildung: Zusammenhang der kommunizierenden Activities mit den Entitäten aus WSDL

Anlage

Abbildung: Zusammengesetzte Activities