Web-Software · Fachartikel

BPEL: Geschäftsprozesse als Webservice-Abläufe modellieren

Die Business Process Execution Language beschreibt, wie einzelne Webservices zu ausführbaren Geschäftsprozessen verbunden, koordiniert und überwacht werden.

Servertechnik als Symbol für vernetzte Webservices und Geschäftsprozesse
Auf einen BlickBPEL verbindet Webservices zu beschriebenen Prozessabläufen.

Grundlagen

Was ist BPEL?

Die Business Process Execution Language, kurz BPEL oder WS-BPEL, ist eine XML-basierte Sprache zur Beschreibung und Ausführung von Geschäftsprozessen. Sie legt fest, wie mehrere Webservices in einer definierten Reihenfolge zusammenarbeiten.

Ein BPEL-Prozess beschreibt dabei nicht nur einzelne Aufrufe, sondern auch die Kommunikation mit beteiligten Geschäftspartnern. Schnittstellen, Nachrichten und Dialogschritte können so in einem nachvollziehbaren Ablauf zusammengeführt werden.

BPEL entstand aus frühen Vorschlägen von IBM und Microsoft und wurde anschließend im Umfeld von OASIS weiterentwickelt. Die Sprache steht in engem Zusammenhang mit XML, Webservices und Standards für die technische Prozessintegration.

Zu den zentralen Aufgaben gehören das Aufrufen und Verknüpfen von Diensten, die Beschreibung von Prozesslogik und Zuständen sowie die Korrelation eingehender Nachrichten mit einer laufenden Prozessinstanz. Ebenso lassen sich Fehlerbehandlung, Unterbrechungen, Beendigungen und wiederverwendbare Prozessbausteine modellieren.

In der Praxis dient BPEL damit vor allem der Orchestrierung: Ein zentral beschriebener Prozess koordiniert verschiedene Dienste, während die jeweiligen Systeme ihre eigenen Aufgaben über definierte Schnittstellen ausführen.

Einordnung

Vom Dienstaufruf zum Prozess

BPEL ist weniger eine allgemeine Programmiersprache als eine Beschreibungssprache für die Zusammenarbeit verteilter Dienste. Ihr Wert liegt in der strukturierten Darstellung von Abläufen, Nachrichten und Zuständen.

Schnittstellen festlegen

Ein Prozess beschreibt, über welche Webservice-Schnittstellen Nachrichten empfangen und gesendet werden.

Ablauf koordinieren

Aufrufe, Bedingungen und Abhängigkeiten werden zu einer nachvollziehbaren Prozesslogik verbunden.

Nachrichten zuordnen

Korrelationen helfen dabei, eingehende Nachrichten der passenden Prozessinstanz zuzuordnen.

Ausnahmen behandeln

Fehler, Unterbrechungen und reguläre Beendigungen können als Bestandteil des Ablaufs beschrieben werden.

Häufige Fragen zu BPEL

Wofür steht BPEL?

BPEL steht für Business Process Execution Language. Die Sprache beschreibt ausführbare Geschäftsprozesse, die mehrere Webservices koordinieren.

Welche Rolle spielt XML?

BPEL verwendet XML als strukturierte Grundlage. Dadurch können Prozessbeschreibungen maschinenlesbar ausgetauscht und von geeigneten Laufzeitumgebungen verarbeitet werden.

Was bedeutet Orchestrierung?

Orchestrierung bezeichnet die zentrale Koordination mehrerer Dienste durch einen beschriebenen Ablauf, einschließlich Reihenfolge, Bedingungen und Nachrichten.

Ist BPEL dasselbe wie ein Webservice?

Nein. BPEL beschreibt einen Prozess, der Webservices aufruft oder als Prozessdienst bereitgestellt werden kann. Ein einzelner Webservice ist dagegen ein abgegrenzter Dienst mit einer Schnittstelle.

Welche Informationen werden in einem BPEL-Prozess festgelegt?

Dazu zählen unter anderem Partner-Schnittstellen, Nachrichten, Prozessaktivitäten, Zustände, Korrelationen sowie Regeln für Fehler und Beendigung.