JAXenter.de

Das Portal für Java, Architektur, Cloud & Agile
X

Schon abgestimmt im Quickvote? Docker versus Rocket - wer hat Recht?

SOA & BPM Integration Days 2011

BPMN ist tot, es lebe BPEL!

Tammo van Lessen, Jürgen Kress, Bernd Rücker, Torsten Winterberg

"BPMN ist tot, es lebe BPEL" - so lautete der Titel des Diskussionspanels im Rahmen des SOA & BPM Integration Days 2011, an dem Experten aus den jeweiligen Gebieten die Berechtigung beider Technologien unter die Lupe nahmen. BPMN versus BPEL - wo liegen die jeweiligen Stärken und Schwächen beider Ansätze?

Für den provokanten Titel “BPMN ist tot, es lebe BPEL” entschieden wir uns nach den ersten Diskussionen im Rahmen der W-JAX. "Wir" bezeichnet hier die Panel-Teilnehmer Tammo van Lessen (BPEL Experte, Autor und Freelancer), Bernd Rücker (BPM Experte, Autor und Mitgründer von camunda), Torsten Winterberg (SOA Experte, Autor und SOA Competence Leiter bei Opitz Consulting) und Jürgen Kress (Moderation & SOA Partner Adoption, Oracle EMEA). Ziel sollte es sein, die verschiedenen Einsatzgebiete und Berechtigungen beider Technologien zu verdeutlichen. Werfen wir im Folgenden einen Blick auf einige der Ergebnisse.

Einsatzgebiete der Sprachen

BPEL ist bestens für Integrationsszenarien geeignet, bei welchen mehrere IT-Systeme miteinander verknüpft werden. Die Prozesse werden in BPEL orchestriert, z.B. werden zur Abwicklung eines Auftrages die Kundendaten vom CRM-System an das Rechnungs- und Buchhaltungssystem übergeben. Die Einfachheit, Skalierbarkeit und Verfügbarkeit von BPEL-Lösungen stechen dabei hervor.

BPMN ist hingegen bestens für Personen-getriebene Fachprozesse geeignet, das am häufigsten umgesetzte Beispiel ist vermutlich der unternehmenseigene Urlaubsantrag: Ein Mitarbeiter beantragt Urlaub, dieser wird vom Vorgesetzten und der Personalabteilung nach mehr oder weniger komplexen Regeln genehmigt.

Limitierungen der Sprachen

Rücksprünge in BPEL sind eingeschränkt. Beim Prozessdesign muss zwischen der fachlichen und technischen Umsetzung getrennt werden. D.h. im BPEL-Prozess erfolgt die Umsetzung von Rücksprüngen über einen Block, der wiederholt wird. Dies ist zugleich eine Stärke von BPEL, da solch ein Prozess nicht verklemmen kann - es wird immer das definierte Ende erreicht. Die Prozessorchestrierung in BPEL ist nicht für die fachliche Prozessmodellierung geeignet, da BPEL überwiegend technische Belange abdeckt. Deshalb kann ein BPEL-Prozess mitunter für die Fachabteilung unverständlich sein.

Während sich BPMN früher ausschließlich auf die fachliche Dokumentation und Simulation fokussiert hatte, unterstützt die Modellierungsprache seit Version 2.0 auch die direkte Ausführung der Prozessmodelle. Hierbei sind zwei Strömungen zu beobachten: Auf der einen Seite stehen Produkte wie Activiti und Drools. Dies sind Java-zentrierte Lösungen, was bedeutet, dass die Integration in Java-Anwendungen besonders einfach möglich sein soll. Die Integration in Service-orientierte, verteilte und heterogene Umgebungen ist dafür nicht ohne weiteres möglich. Auf der anderen Seite, hauptsächlich durch die kommerziellen Hersteller repräsentiert, wird der Fokus auf eben solche Integrationsszenarien gesetzt. Ähnlich wie bei BPEL-Systemen werden also Dienste orchestriert, um ein fachliches Ziel zu ereichen.

Der Reifegrad von BPMN ist noch nicht ausgeprägt. So kann bei einer unpräzisen Modellierung von langlaufenden Prozessmodellen nach Jahren ein Deadlock entstehen, da die Sprache derartige Modellierungsfehler erlaubt. Hier sind die Hersteller gefragt, solche Situationen z.B. durch Model Checking zu erkennen und dem Anwender Werkzeuge an die Hand zu geben, um verklemmte Prozessinstanzen wiederbeleben zu können.

Stärken & Anwender der Sprachen

BPEL hat sich als etablierte Sprache in den vergangenen Jahren in Projekten mit hohen Anforderungen an Verfügbarkeit und Skalierbarkeit bewährt. Das produktive Tooling ermöglicht Entwicklern effizient, Integrationsszenarien abzubilden und diese bei Bedarf zu ergänzen und anzupassen.

BPMN ermöglicht aufgrund vieler fachlicher Symbolen den Schulterschluss zwischen den Fachabteilungen und den Architekten bei der Prozessmodellierung.

Lösungsanbieter

  • Apache ODE: Open-Source-BPEL-Engine
  • Activiti: Open-Source-BPMN-Lösung
  • JBoss Drools: Open-Source-BPMN-Lösung
  • SAP: kommerzielle BPMN-Lösung
  • Oracle: kommerzielle BPEL & BPMN-Lösung
  • IBM: kommerzielle BPEL & BPMN-Lösung

Ausblick

BPEL ist eine ausgereifte Sprache, welche weiterhin für Integrationsprozesse eingesetzt wird.

BPMN kommt in ersten fachlich getriebenen Projekten zum Einsatz. Im Hype-Zyklus muss BPMN erst noch beweisen, dass es nicht enttäuscht. Vermutlich sind weitere Spezifikationen und Ergänzungen zur Datenmodellierung und technischen Ausführbarkeit notwendig, um mit BPEL in der Ausführung aufzuschließen. Ein zukünftig sehr interessantes Einsatzgebiet könnte Adaptive Case Management sein, also in jenen Anwendungsfällen, in denen eine statische Ausmodellierung von Prozessen nicht ausreichend flexibel ist. Wir freuen uns auf weitere spannende Diskussionen!

Weitere Informationen & Diskussionen

Über Kommentare und Diskussion in unserer Linkedin Gruppe, auf Twitter oder unserer SOA Communtiy Website würden wir uns sehr freuen!

SOA & BPM Integration Days

BPM und SOA werden wieder den Schwerpunkt auf den kommenden SOA & BPM Integration Days II bilden. Wir freuen uns bereits auf die Fortsetzung der Diskussion!

 
Verwandte Themen: 

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).