Intalio|Works BPMS – Überblick
Posted by Martin Wieschollek at Januar 8th, 2010
Intalio stellt mit seiner BPM-Suite Intalio|Works BPMS eine vollständige Lösung zur Umsetzung von lauffähigen Prozessen zur Verfügung. Intalio ist schon seit mehreren Jahren auf dem Markt und hat mittlerweile eine gewisse Reife erlangt. In diesem Artikel gebe ich einen kurzen Überblick über das System.
Seit Mitte Dezember publiziert Intalio ihre Produktpalette auf zwei getrennten Webseiten. Intalio|Cloud und Intalio|Works. Das Business Process Management System ist seit dem im Bereich Intalio|Works zu finden. Intalio|Works BPMS wird in zwei verschiedenen Editionen angeboten: die kostenfreie Community Edition und die kostenpflichtige Enterprise Edition. Beide Editionen sind komplette Open Source Produkte die sich leider deutlich im Funktionsumfang unterscheiden. Es gab auch noch eine Developer Edition. Hierüber ist aber auf der neuen Webseite nichts mehr zu lesen (außer bei der Beschreibung des Lizenzmodells).
Zuerst eine Übersicht über die Intalio|Works BPMS Komponenten:
Die Komponenten der Enterprise Edition sind alle Optional. Man zahlt im Endeffekt für die fertige Integration der Komponenten und für den Support. Hier gibt es drei Support Level (Silver, Gold und Platinum), die sich hauptsächlich durch unterschiedliche garantierte Antwortzeiten bei Support-Anfragen unterscheiden. Zusätzlich ist noch ein SAP Connector erhältlich um RFC, BAPI und IDOC in Prozesse zu integrieren.
Die Community Edition bildet das eigentliche “Kern-System” ab. Hiermit kann man vollständige Prozesse mit BPMN entwerfen, sowie Web Services und Datenbanken einbinden. Es existiert eine komplette Web-GUI für die Entanwender und eine für Administratoren. Falls schon ein ESB vorhanden ist (z.B. Sopera oder Glasfish ESB) können auch problemlos weitere Systeme und Protokolle in die Prozesse integriert werden.
Bei der Enterprise Edition muss man sich gut überlegen welche optionalen Komponenten man einkaufen möchte. Durch die Fülle an Open Source Projekten sind einige Features mehrfach vorhanden. Z.B. bietet das Alfresco als Hauptfunktion Content Management an, das Liferay Portal bietet aber ebenfalls Content Management an. Generell sind Alfresco und Liferay für sich noch noch einmal relativ große und Umfangreiche Systeme, wenn man alle Features nutzen möchte. Alfresco kommt eigentlich aus der DMS und CMS Ecke. Hier ist das Tool sehr stark und meiner Meinung nach das beste frei erhältliche DMS. Liferay ist ein klassisches Portal-System und unterstützt JSR168 und JSR286. Da beides eigenständige Projekte sind werden natürlich immer neue Features implementiert und der Funktionsumfang beider Systeme nähert sich einander an. Wobei die Systeme ihre eigentlichen Stärken immer noch in ihren Ursprünglichen Funktionalitäten haben.
Nun aber zur Kernfunktionalität des Intalio|Works BPMS: Prozesse
Im Intalio können Prozesse komplett ohne Programmieraufwand implementiert werden. Dies behaupten ja mittlerweile sehr viele Anbieter von sich. Beim Intalio funktioniert es auch wirklich. Das bedeutet aber nicht, dass man keinerlei IT-Kenntnisse benötigt. Man muss sich schon mit Web Services, XSD, XPath, WSDL, SQL und so weiter auskennen. Und so lange man mit dem TIBCO General Interface Builder auskommt braucht man wirklich nicht programmieren.
Die Prozesse an sich werden mit BPMN 1.2 modelliert. Da in den bisherigen BPMN Spezifikationen keine Ausführbare-Semantik beinhalten (mit der entgültigen Verabschiedung von BPMN 2.0 wird sich das endlich ändern
) müssen einige Informationen für die spätere Übersetzung nach BPEL benötigt. Während der Modellierung bin ich bisher auf keine gravierende Einschränkung der BPMN gestoßen und die Transformations-Engine leistet sehr gute Arbeit. Dennoch muss man sich bewusst sein, dass sich in einigen Spezialfällen die Ablaufstrukturen im BPMN und BPEL gravierend unterscheiden. Denn BPEL ist blockorientiert und BPMN nicht. Ein kleines Beispiel für den Unterschied sieht man in folgendem Prozess:
Wenn dieser Prozess nach BPEL transformiert wird passiert folgendes:
Aufgrund der Blockstrukturen wird Task 4 erst ausgeführt wenn 1 UND 3 abgeschlossen sind. Im BPMN Prozessmodell wird Task 4 ausgeführt wenn Task 1 UND Task 2 durchgeführt worden sind. Die Daten die bei Task 4 zur Bearbeitung vorliegen sind in beiden Prozessen identisch, da Task 4 unabhängig von Task 3 ist, aber der Zeitpunkt und somit auch die gesamte Laufzeit des Prozesses werden im BPEL Prozess verschlechtert. Im BPMN können 3 und 4 parallel bearbeitet werden, im BPEL geschieht dies nacheinander.
Jeder Prozessschritt an sich wird im Intalio als Web Service realisiert. Auf diese Webservices kann man auch von außerhalb zugreifen. So kann man z.B. einen Prozess per WS-Aufruf starten oder einzelne Task per WS-Aufruf durchführen.
Die Einbindung von Web Services, die von Dritt-Systemen angeboten werden erfolgt in der Regel problemlos. Nach dem Import des WSDL kann der Zugriff auf den Service per Drag & Drop im Prozess modelliert werden. Das zuordnen der Input und Output Parameter für den Web Service erfolgt über einen Data-Mapper. Hier können die Datenstrukturen visuell angepasst und aufeinander gemappt werden. Sollten Transformationen notwendig sein, können im grafische Mapping XPath-Ausdrücke verwendet werden. Bei sehr umfangreichen Datenmodellen (z.B. IDOC) wird der Data-Maper aber schnell unübersichtlich. Desweiteren können auch Datenbankzugriffe in den Prozess eingebaut werden. Hierfür muss man dann aber zumindest SQL können um die entsprechenden Abfragen zu erstellen.
Wenn Benutzer im Prozess mitarbeiten sollen können Dialoge modelliert werden. Entweder über einen grafischen XForms Designer oder über den in Ecplise integrierten TIBCO General Interface Builder. Mit dem Interface Builder können Ajax Dialoge erstellt werden. Es steht hierfür sämtliche HTML-Objekte zur Verfügung. Auch Plausibilitätskontrollen für einzelne Eingaben können direkt über Regular Expressions (so wie z.B. in XSD Dateien) eigegeben werden, bzw. einige Standard Expressions sind voreingestellt.Eine Validierung über mehrere Felder hinweg (z.B. Feld 1 > Feld 2) ist leider nicht ohne weiteres möglich. Alle Felder die auf einem Formular angelegt werden können später im Prozess als Input oder Output verwendet werden. Hierfür kann man die Formulare per Drag & Drop in den Prozess ziehen und schon stehen die Daten dem Prozess zur Verfügung. Auch können diesem manuellen Task auch eine Person oder Rolle zugewiesen werden.
Eine sehr interessante und etwas versteckte Komponente, die auch in der Community Edition vorhanden ist, ist der Task Managament Process (TMP) im Task Manager. Der TMP steuert alle Prozesse die über das Intalio laufen. Hier kann man in die zentrale Prozessbearbeitung eingreifen. Dies sollten nur Experten machen, denn die Auswirkung erstreckt sich auf das gesamte System. Der TMP ist selber ein BPMN/BPEL Prozess und kann genauso wie alle anderen Prozesse im Designer bearbeitet werden. So lassen sich zum Beispiel diverse Benachrichtigungsszenarien, Logging Mechanismen oder auch BAM Funktionen zentral realisieren.
Fazit:
Intalio ist mittlerweile ein ausgereiftes BPMS, welches nicht umsonst auch bei Forrester & Co. als einziges Open Source BPMS mit in den regelmäßigen Marktbeobachtungen erwähnt wird. Zwar schneidet es in einer der letzten Studien vom Fraunhofer Institut nicht so gut ab (siehe hier). Aber es wurde nur die Community Edition getestet und dann zwei sehr großen kommerziellen BPM-Suiten gegenüber gestellt. Die Enterprise Edition hätte wesentlich besser abgeschnitten (wird in der Studie aber auch erwähnt). Die Community Edition ist vom Umfang her für kleine Unternehmen oder Prototypen gut verwendbar. Im Mittelstand und darüberhinaus benötigt man einige Komponenten der Enterprise Edition (BRE, BAM, evtl. Portal) um ein BPMS effizient zu betreiben. Der Beratermarkt für Intalio ist im deutschsprachigen Raum leider noch etwas dünn, aber das wird sich bestimmt in den nächsten Monaten ändern. Es laufen zurzeit einige größere Intalio Projekte mit denen die “Early-Adopter” in Deutschland nun Intalio Erfahrung sammeln können.

