JBoss Seam - Die Web-Beans-Implementierung

Bernd Müller

JBoss Seam

Die Web-Beans-Implementierung

2008

283 Seiten

Format: PDF, Online Lesen

E-Book: €  27,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446414150

 

Kapitel 5 Geschäftsprozesse und Pageflows mit jBPM (S. 136-137)

Die software-technische Unterstützung von Geschäftsprozessen (Business-Processes) ist ein gegenwärtig aktuelles Thema. Insbesondere im Bereich der service-orientierten Architekturen (SOA) ist BPEL (Business Process Execution Language) relativ weit verbreitet, da die Sprache von IBM, Microsoft, BEA, SAP und weiteren Firmen unterstützt wird. Mittlerweile ist BPEL durch OASIS als WS-BPEL (Web-Service-BPEL) in Version 2.0 standardisiert. JBoss bietet mit jBPM (Java Business Process Management) eine Alternative zur Unterstützung und Realisierung von Geschäftsprozessen an. Neben Geschäftsprozessen können auch sogenannte Pageflows (Seitenfolgen, Dialogfolgen) definiert werden. jBPM ist als separates Framework in Java-SE- und Java-EE-Anwendungen einsetzbar. Die Integration in Seam erfolgte nahtlos und ermöglicht die einfache Kombination von Seam-Komponenten, Oberfläche und Datenbank mit jBPM.

Die beiden Verwendungsarten von jBPM in Seam, zum einen die Möglichkeit der Definition von Geschäftsprozessen, zum anderen die Möglichkeit der Defi- nition von Pageflows innerhalb komplexer Benutzerinteraktionen, sind deutlich zu unterscheiden. Da dieModellierung und dasManagement von Geschäftsprozessen deutlich komplexer als die Definition von Pageflows und wahrscheinlich den meisten Lesern weniger geläufig ist, widmen wir die nächsten Abschnitte der Realisierung von Geschäftsprozessen und gehen erst in Abschnitt 5.4 auf Pageflows ein.

Wie alle JBoss-Systeme kann auch jBPM[URL-JBPM] als Open-Source-System in kommerziellen Projekten verwendet werden.

5.1 Geschäftsprozesse und das jBPM-Framework

Unter einem Geschäftsprozess wird im Allgemeinen eine Menge von automatisierten, teilautomatisierten, aber auch manuellen betrieblichen Aktivitäten verstanden, die der Umsetzung der Unternehmensziele und der Sicherung des Unternehmenserfolgs dienen [LWS06, SH04, RS03]. Die einzelnen Aktivitäten werden von verschiedenen Akteuren durchgeführt und sind in ihrer Abfolge zwar festgelegt, aber beliebig unterbrechbar und später weiter fortführbar. Sie unterscheiden sich daher in ihrer technischen Implementierung prinzipiell von Anwendungsfällen (Use-Cases), die meist von einem Akteur in einer Sitzung durchgeführt werden. Die in den vorangegangenen Kapiteln eingeführten Konzepte wie z. B. Zustände, Konversationen, Authentifizierung und Autorisierung bezogen sich auf die Implementierung einzelner Anwendungsf älle. Die Realisierung von Geschäftsprozessen auf Basis dieser Konzepte zieht einen erheblichen Implementierungsmehraufwand nach sich, so dass Aktivitäten zur Realisierung der benötigten Infrastruktur für die Modellierung und Implementierung von Geschäftsprozessen entstanden sind. Das Ergebnis der JBoss-Aktivitäten auf diesem Gebiet ist das jBPM-Framework.

Geschäftsprozesse sind durch mehrere Aufgaben (Tasks) charakterisiert, die von verschiedenen Akteuren zu unterschiedlichen Zeiten durchgeführt werden. Der Abschluss einer Task durch einen Benutzer kann Vorbedingung für den Beginn einer oder mehrerer anderer Tasks anderer Benutzer sein. Ein BPMSystem muss die einzelnen Zustände (Abschluss von Task A durch Benutzer X) kennen und Abhängigkeiten (Task B kann durch Benutzer Y erst begonnen werden, wenn Task A abgeschlossen wurde) kontrollieren bzw. den Geschäftsprozess basierend auf diesen Abhängigkeitsregeln steuern. In einer Task erzeugte Daten müssen evtl. in einer anderen Task verfügbar sein, auch nach einem Neustart des Servers. Das BPM-System muss daher eine Möglichkeit haben, die einzelnen Tasks, deren Abhängigkeiten sowie Kontrollflüsse inklusive Verzweigungen zu spezifizieren und den Zustand des Prozesses persistent zu verwalten. Das jBPM-Framework verwendet als Spezifikationssprache den XML-Dialekt jPDL (jBPM Process Definition Language). Die Sprache jPDL ist in Abschnitt 18.4 des jBPM-Benutzerhandbuchs [URL-JBPMREF] beschrieben. Wir werden jPDL hier nur so weit einführen, wie wir es für unsere Beispiele benötigen. Für detailliertere Ausführungen verweisen wir auf das jBPM-Benutzerhandbuch [URL-JBPMREF] und auf das im Augenblick einzige Buch zu jBPM, das Buch von Cumberlidge [Cum07].

 

© 2009-2024 ciando GmbH