Mit BPEL in eine neue Entwicklungs-Ära

16.02.2006
Von Rolf Scheuch und Torsten  Winterberg

Variabel verkettete Services

Sobald sich auf der Geschäftsprozessebene eine Änderung ergibt, verkettet man einfach die Services in einer anderen Art und Weise. Abstraktions-Frameworks sind in der BPEL-Engine so verallgemeinert angelegt, dass nicht nur Web-Services, sondern auch beliebige andere Technologien in den Ablauf der Prozesse integriert werden können: Java, J2EE, Enterprise Java- beans (EJBs), Messaging-Systeme, E-Mails, Datei- und Datenbankzugriffe etc. All diese Technologien kann man in der BPEL-Engine "andocken". Für den Mitarbeiter des Fachbereichs, der einen Prozess verändern will, sieht jedoch jeder Service "von oben" immer so aus wie ein Web-Service. Das ist ein wichtiger Normierungsschritt.

Um diesen Gedanken zu verdeutlichen, hilft eine Analogie zur Weiterentwicklung von neuen Rennwagen in der Formel 1: Vor jeder neuen Saison designen die Techniker eines Rennstalls neue Motorfunktionen. Sie implementieren diese in den aktuellen Boliden und gehen damit auf die Teststrecke. Unterwegs werden laufend Details wie Kurven- und Bremsverhalten oder Treibstoffverbrauch gemessen. Diese Daten werden anschließend ausgewertet und für die Verbesserung der Leistungsfähigkeit herangezogen.

BPEL

Business Process Execution Language (BPEL) ist eine normierte XML-Sprache, die ursprünglich von Microsoft, Bea und IBM entwickelt wurde. Mit ihr lassen sich Geschäftsprozesse beschreiben und mit den für die Abläufe benötigten Services (zum Beispiel Web-Services) in Verbindung bringen. Aktuell ist die von der Organization for the Advancement of Structured Information Standards (Oasis) freigegebene Spezifikation BPEL4WS 1.1 verfügbar ("BPEL for Webservices"). Im ersten Halbjahr 2006 wird die finale Version von WS-BPEL 2.0 erwartet, die einige in der Praxis aufgetretene Unzulänglichkeiten beseitigt.

IT prüft nur noch das Design

Übertragen auf das Design von Geschäftsprozessen bedeutet dies: Es gibt einen Kreislauf zwischen dem Design eines Prozesses, dessen Implementierung über eine BPEL-Engine und dem Monitoring. Am Ende steht das Optimieren des Prozesses. Die BPEL-Engine ist der Ort, an dem diese Änderungen vorgenommen werden.