Friedrich-Schiller-Universität - Fakultät für Mathematik und Informatik
Transcription
Friedrich-Schiller-Universität - Fakultät für Mathematik und Informatik
Friedrich-Schiller-Universität Fakultät für Mathematik und Informatik Lehrstuhl für Datenbanken und Informationssysteme Seminararbeit im Sommersemester 2009 Business Process Management und Workflow-Technologie Betreuer: Matthias Liebisch Thema: Produktvorstellung – Oracle BPEL Process Manager Bearbeitet von: Matrikelnummer: Studiengang: Fachsemester: Anschrift: Thomas Böcker 88215 Wirtschaftsinformatik 6 Artur-Becker- Str.3 07745 Jena Telefon: E-Mail: 03641/370723 [email protected] Inhaltsverzeichnis 1. Einleitung 3 2. Allgemeine Daten 3 2.1 Historische Entwicklung 3 2.2 Marktanteile und Verbreitungsgrad 4 2.3 Abgrenzung und Vergleich zu anderen (Konkurrenz-)Produkten 5 3. Produkteigenschaften 6 3.1 Produktgrundlagen und Funktionen 6 3.1.1 Standardkonformität 6 3.1.2 Integrationsfähigkeit 7 3.1.3 Funktionsumfang 8 3.2 Technische Konzepte 9 3.3 Unterstützung des Nutzers bezüglich der Modellierung 4. Fazit 12 14 Anhang Literaturverzeichnis 2 1. Einleitung Das Thema dieser Seminararbeit ist die Vorstellung des Produkts Oracle BPEL Process Manager (BPM). Dabei wird die Prozessverwaltung informationstechnisch mithilfe der Prozessausführungssprache BPEL umgesetzt. Ziel eines Workflow-Systems ist das Erörtern, Gestalten, Dokumentieren und Verbessern von Geschäftsprozessen. Geschäftsprozesse sollen somit geplant und modelliert, ausgeführt und validiert werden. Dies geschieht sowohl auf betriebswirtschaftlicher als auch auf technischer Ebene. Die Arbeit gliedert sich in Informationen zu allgemeinen und speziellen Produktdaten. Zu den allgemeinen Informationen zählen z.B. die historische Entwicklung, Marktanteile und die Abgrenzung zu anderen Produkten. Im zweiten Teil der Arbeit werden die speziellen Informationen zu Produktgrundlagen wie Architektur, Standardkonformität und Integrationsfähigkeit sowie einige technische Konzepte, wie die Ausführung und das Verteilen der Prozesse, und die Unterstützung des Benutzers hinsichtlich der Modellierung untersucht. 2. Allgemeine Daten Oracle ist einer der größten Softwarehersteller der Welt. Er bietet zahlreiche Produkte wie die bekannte Oracle Database oder den JDeveloper an. Dabei ist der Oracle BPEL Process Manager Bestandteil des Produktportfolios der Oracle Fusion Middleware. Ziel dieses Portfolios ist es, alle Ebenen der Unternehmenstechnologien zu verbinden, um den Kunden eine schnelle und gute Anpassungsmöglichkeit an die sich immer verändernden Marktbedingungen zu bieten. Welchen Anteil der BPEL Process Manager am Weltmarkt hat bzw. aus welchen Ursprüngen er hervorgegangen ist, wird in den folgenden Kapiteln aufgezeigt. 2.1 Historische Entwicklung Grundlage des BPEL Process Manager ist eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Webservices implementiert sind, die Business Process Execution Language (BPEL). Sie wurde 2002 von IBM/BEA Systems1 und Microsoft zur Webservice Orchestrierung erfolgreich entwickelt. Nach einer einheitlichen Standardisierung erschien 2007 die Version WS-BPEL 2.0. Sie enthielt Gemeinsamkeiten zu Web Service(WS)-Standards wie z.B. WSDL oder WS-Security, und wurde von Oracle vorangetrieben. Oracle entwickelte daraufhin zur Implementierung dieser Standards 1 http://de.wikipedia.org/wiki/WS-Business_Process_Execution_Language 3 seinen BPEL Process Manager. Unter den zahlreichen Releases2 kann man drei besonders wichtige Versionen unterscheiden: Bis Anfang 2006 wurden zunächst folgende Standards für die Version 10.1.2.0.2. umgesetzt: - zahlreiche supports z.B. für WebSphere oder dem Standard WS-Adressing - Verbesserung des JDevelopers für die Prozessmodellierung - Zertifizierung der BPEL Konsole mit Firefox zur verbesserten Prozessausführung. Die nächste Version BPEL 10.1.3 erschien im Laufe des Jahres 2006. Einige Erweiterungen waren: - BPEL-optimierter SOAP Stack in OC4J (Anwendungsserver von Oracle) - verbesserter Support für komplexere Geschäftsprozesse im JDeveloper und der Console - Erhebung von Metadaten über den Workflow. Die heute aktuelle Version BPEL 11 wurde zu Beginn des Jahres 2007 mit folgenden Erweiterungen fertig gestellt: - Fehlerbehandlung, falls Prozesse Kollisionen auslösen - Erstellung von selbst dokumentierenden Prozessen - Einführung von verschiedenen Worklist -Anwendungen. 2.2 Marktanteile und Verbreitungsgrad Der BPEL Process Manager ist Bestandteil der Oracle Fusion Middleware. Weitere wichtige Bestandteile sind der Business Process Manager, der Business Process Analyst und die SOA Suite. Sie sind kompatibel mit Anwendungen anderer Hersteller. Business Analisten und Architekten sollen in die Lage gebracht werden, mittels vereinfachter Methoden wichtige Geschäftsprozesse zu modellieren, simulieren und zu veröffentlichen. Ein wichtiger Partner war dabei das Software- und Beratungshaus IDS Scheer3. Es lieferte die Aris Plattform, ein zu BPEL analoges Konzept, um u. a. für den Kunden Analysen und Dokumentationen stark zu vereinfachen. Heute besitzt Oracle in diesem Bereich über 31.000 Kunden, darunter führende Organisationen aus den Bereichen Finanzdienstleistungen, Telekommunikation, Fertigung, Einzelhandel, Pharmaindustrie, Gesundheitswesen sowie dem Öffentlichen Sektor. Oracle ist in über 1454 Ländern vertreten. 9000 Partner, darunter marktführende unabhängige Softwarehersteller und Systemintegratoren unterstützen ebenfalls dieses strategische Geschäftsfeld. 2 http://www.oracle.com/technology/products/ias/bpel/pdf/bpelroadmapfeaturespreview.pdf 3 http://www.ids-scheer.de/de/Meldungen/Oracle_erweitert_das_BPM Angebot_der_Oracle_Fusion_Middleware_um_die_ARIS_Platform _von_IDS_Scheer/2038.html?referer=8731 4 http://oracle.com/corporate/story.html 4 Die größten Konkurrenten bleiben dabei die Unternehmen IBM, SAP und Microsoft im Bereich Workflow- Technologie. 2.3 Abgrenzung und Vergleich zu anderen (Konkurrenz-)Produkten Der Oracle BPEL Process Manager gilt wie später beschrieben als Software mit einheitlichen Standards. Es unterstützt die Versionen BPEL 1.1 und 2.0, sodass eine 100-prozentige Kompatibilität zu anderen Produkten entsteht, welche diese Versionen anwenden. BPELErweiterungen, wie z.B. BPEL4People, werden ebenfalls unterstützt. Deshalb ist sowohl eine Interaktion zwischen Maschine und Maschine als auch eine Interaktion zwischen Mensch und Maschine möglich. Um den BPM abzugrenzen, ist es notwendig, seine Produktstrategien5 zu betrachten: 1. Garantie einer umfassende Funktionalität, um das Prinzip der Standardsoftware einzuhalten, 2. Vereinfachte Wissensübertragbarkeit (es besteht nicht die Notwendigkeit, den Benutzer speziell am System auszubilden, sondern nur das Standardwissen zu übertragen), 3. Toolset – Erweiterbarkeit, um problemlos eigene BPEL- Prozesse erstellen zu können, 4. Schaffung einer einheitlich gestalteten Verkäuferplattform. Eine besondere Fähigkeit besteht in der Kompatibilät zu anderen Datenbanken wie z.B. IBM DB2 oder MS SQL Server. Der J2EE Anwendungsserver unterstützt auch andere Applikationen von OC4J oder Weblogic. Unter Punkt 3.1.3 werden weitere wichtige Funktionen des Programms beschrieben. 3. Produkteigenschaften Der Oracel BPEL Process Manager ist eine Software, welche für das Deployment, Ausführen und Management von Geschäftsprozessen, definiert in BPEL, zuständig ist. Dieses standardisierte Programm besteht aus den drei Hauptkomponenten: BPEL Designer, BPEL Console und dem BPEL Server. Dabei werden verschiedene Geschäftsprozesse als Web Services deklariert und anschließend in einer service orientierten Architektur (SOA) umgesetzt. Im weiteren Verlauf dieser Arbeit werden wichtige Produktgrundlagen beschrieben, ein Überblick über technische Konzepte, insbesondere zum Deployment, gegeben, die Ausführung von Prozessen erläutert sowie die Unterstützung der Anwender bezüglich der Modellierung von Prozessen aufgezeigt. 5 http://www.oracle.com/technologies/tech/standards/pdf/bpel. 5 3.1 Produktgrundlagen und Funktionen In den folgenden drei Unterpunkten soll beschrieben werden, welche Standardkonformität der Process Manager gewährleistet, wie er integriert werden kann und wie die Architektur und deren wichtigste Funktionen aussehen. 3.1.1 Standardkonformität Seit 2003 arbeitet Oracle am BPEL Standard mit. Zunächst bestand die Aufgabe darin, eine XML-basierte Sprache zur Prozessausführung zu entwickeln. BPEL gilt deshalb als Grundlage für die SOA und Orchestration. Orchestration bedeutet das Zusammensetzen einzelner Services zu einem zusammengesetzten Service. Um den Standards zu genügen, müssen verschiedene Forderungen6 eingehalten werden, wie z.B. das Erstellen von Prozessen oder das Zusammenfassung von kleineren in größere Prozesse. Diese Forderungen werden von BPEL erfüllt. Die Versionen BPEL1.0 und BPEL 2.0 sind deshalb Bestandteil des Oracle BPEL Process Manager. Außerdem fließt die BPEL Spezifikation BPEL4People von IBM und SAP in das Programm ein. Damit ist nicht nur eine Interaktion von Maschine zu Maschine möglich, sondern auch von Mensch zu Maschine möglich. Das bedeutet, dass menschliche Aktivitäten erstellt werden können. Dadurch ist der Mensch in der Lage, Prozesse zu initiieren und zu managen. Ein wichtiges Problem liegt darin, dass es zur Eskalation von zeitüberschreitenden Prozessen kommen kann. Deshalb bietet Oracle zusätzlich die Möglichkeit, musterbasiertes Pattern zu deklarieren und verbesserte Meldungen an den User zu senden. Weitere unterstützte Standards sind mitunter XML, Web Services, Java und SQL. Da all diese Eigenschaften von Oracle unterstützt werden, kann der BPEL Process Manager ohne weiteres als Software mit einheitlichen Standards bezeichnet werden. 3.1.2 Integrationsfähigkeit BPEL gilt als wichtiger Grundbaustein der SOA7. SOA schafft durch die Verbindung einzelner Services mit einem gemeinsamen Schnittstellenbus flexible Strukturen. Dadurch kann eine Vielzahl von Anwendungen / Prozessen eines Unternehmens in ein IT System integriert 6 7 http://www.oracle.com/technologies/tech/standards/pdf/bpel http://www.oracle.com/technologies/soa/docs/oracle-soa-suite-datasheet.pdf 6 werden. Es entstehen heterogene IT Infrastrukturen, welche als Webservice zu einem Geschäftsprozess zusammengesetzt werden. Abb. 1: SOA In Abb. 18 wird die entsprechende service orientierte Architektur dargestellt. Grundbaustein bildet der Anwendungsserver. Darüber liegt der gemeinsame Schnittstellenbus mit den unterschiedlichen Adaptern. Der nachfolgende Services Manager ist für die Verschlüsselung der verschiedenen Nachrichten zuständig. Der BPEL Process Manager dient der Ausführung und Verwaltung von Prozessen. Eine „native“ BPEL Engine garantiert innerhalb des BPN eine Prozessportabiliät. Rules beziehen sich dabei auf Geschäftsregeln, welche innerhalb des laufenden Prozesses hinzugefügt werden können. Geschäftsprozesse werden zum Schluss auf dem Business Activity Monitor angezeigt. Als weitere Möglichkeiten gelten das von Oracle entwickelte JDeveloper sowie ein Plug in von Eclipse als integrierte Entwicklungsumgebungen für den Bau von SOA’s. Weitere wichtige Integrationen im BPEL Server sind die Builtin-Integration Services und die Kompatibilität mit verschiedenen Datenbanken und Anwendungen. 3.1.3 Funktionsumfang Die Funktionen9 ergeben sich im Wesentlichen aus der Architektur (vlg. Juric et al. 2004, S. 167-171) des Process Managers: 8 http://technology.amis.nl/blog/1655/soa-suite-build-deployment-and-testautomation-%E2%80%93-part-2-automating-esb-deployments 9 http://www.oracle.com/technology/products/ias/bpel/pdf/ oracle_bpel_process_manager_datasheet.pdf 7 Abb. 2: Architektur Er besteht aus BPEL Server, BPEL Designer und BPEL Console. Der zentrale Baustein des BPM ist der BPEL Server. Er besteht aus WSDL Bindings, Integration Services und der Core BPEL Engine. Die Datenbank speichert BPEL Schemas und ermöglicht als Bestandteil der Core BPEL Engine die Dehydration, d.h. komplexere Prozesse werden automatisch auf die Datenbank zurück geschrieben um zusätzliche Serverressourcen freizugeben. Den Kern des Servers bildet die sehr robuste und maßstabsgetreue Core Engine. Die Core Engine ermöglicht ein Clustering im Fehlerfall. Mehrere Server werden vernetzt und im Falle eines Systemabsturzes können andere Server den Betrieb wieder aufnehmen. Da BPEL 1.1 weiterhin unterstützt werden soll, sind Standardtechnologien wie WS-Securiy, WS Adressing oder WS Reliable Messaging in der Core Engine enthalten. Die wichtigste Funktion ist das Freischalten und Ausführen von Prozessen. Ergänzende Bestandteile sind die WSDL Bindings und Integration Services. Das WSDL framework ist für die Kommunikation zwischen den einzelnen Web Services innerhalb des Servers zuständig. Das schließt die Kommunikation sowohl innerhalb der einzelnen Web Services als auch von Client zu Web Service ein. Dies können verschiedene Protokolle wie das Standardprotokoll SOAP ermöglichen. Auch wird die Verbindung zu Java Bestandteilen sowie zu Standarddiensten wie email oder http unterstützt. Die integrierten Built-in-Sevices ermöglichen eine Vielzahl unterschiedlicher Funktionen. Web Services tauschen z.B. XML Dokumente aus und deshalb existieren Xpath zur Dokumentadressierung und XSLT zur Transformation von XML in andere Formate wie html. 8 Auch können Benachrichtigungen durch verschiedene Kanäle wie SMS oder fax an den Benutzer gesandt werden. Dieser erfährt dann z.B. in seiner Anwendung welche Aufgaben in seiner worklist noch zu erledigen sind. Indentity Service ermöglicht dafür z.B. die Autorisierung der Benutzer. Wenn der Prozess dann ausgeführt ist kann mithilfe von Sensoren der Zugang zu verschiedenen Aktiviäten oder Variablen erfolgen. Wichtig ist außerdem, dass der BPEL Server mit dem J2EE Anwendungsserver verbunden ist, welcher Unterstützung für kommerzielle Anwendungen bietet. Der BPEL Process Designer ermöglicht eine grafische und nutzerfreundliche Entwicklung von Prozessen. Entwickler können sich den BPEL code ansehen und anschließend modifizieren. Der Designer kann als Plugin zum Jdeveloper oder Eclipse ausgeführt werden. Standardservices sind: Definition von komplexen Notations maps, Adapter konfigurieren und eine Konfiguration einfacher und komplexer Workflow Arbeitsschritte. Die BPEL Console ist ein benutzerfreundliches webbasiertes Interface für Management, Administration und Debugging freigeschalteter Prozesse des BPEL Server. Protokolldaten werden automatisch erstellt und sind durch eine Java Applikation abrufbar. Es existieren eine Workflow task list sowie Berichte über die Entwicklung der Prozesse. 3.2 Technische Konzepte Es gibt zahlreiche technische Konzepte wie z.B. die Dehydration, Version control, Verteilen (Deployment), Ausführung (Execution) und Entwicklung (Development). In diesem Kapitel sollen nur das Deployment und die anschließende Ausführung der Prozesse, speziell mittels der BPEL console (vlg. Juric et al. 2004, S. 178-192) betrachtet werden. Um einen Prozess richtig auf den Server zu verteilen wird ein spezieller Process Descriptor benötigt. Dargestellt wird er als XML Datei, welche folgende Daten enthält: den BPEL source file name, die BPEL ID, die WSDL location von allen partner links und bestimmte Konfigurationseigenschaften. Im nächsten Schritt werden die Entwicklungsvariablen eingestellt (Installationspfad, Klassenpfad für den BPEL Server und Anwendungsserver). Bevor im letzten Schritt die Prozesse verteilt werden, müssen sie mit dem BPEL Compiler manuell oder automatisch kompiliert werden, so dass in einem Archiv zusätzlich eine JAR Datei erstellt wird. So kann die Datei in einer Java Laufzeit Umgebung als Programm gestartet werden. Nach dem Verteilen erfolgt die Ausführung mit Hilfe der BPEL Console. Die Prozesse werden durch einen Web Service Client aufgerufen. Der Web Service kann durch mehrere Sprachen der verschiedenen Anwendungsserver ausgeführt werden. Dabei dient die Console der Ausführung, dem Anzeigen, Managen und Debuggen von Prozessen. Bei der Anzeige erscheinen zunächst alle Prozesse, welche schon verteilt sind. Danach wird der 9 jeweilige XML-Code vom Process Descriptor angezeigt. Anschließend erfolgt eine Prüfung, ob die Prozesse synchron oder asynchron ausgeführt werden sollen. Es kann zwischen drei Möglichkeiten gewählt, siehe Abbildung, werden um den Prozess abschließend zu bearbeiten oder anzuzeigen: 1. Der visual flow ist eine graphische Anzeige von Prozessen. Jeder Prozess kann den Status running, completed, canceled oder stale haben. 2. In der Instanzprüfung werden nur fertige Prozesse angezeigt, welche zur Verfügung stehen und Nachrichten versandt haben. 3. Das Debugging dient der Manipulation des XML Quelltextes. Abb 3: BPEL Console Nachdem die Instanz gestartet wurde, kann sich der jeweilige Mitarbeiter in seiner WorklistAnwendung einloggen und die anstehenden Aufgaben bearbeiten. 10 Abb 4: BPM Worklist Im Bild sind zusätzlich unten links Statistiken dargestellt, welche einen Überblick über die Anzahl der verschiedenen Aufgaben geben. Nach der Ausführung dieser Arbeitsschritte können zahlreiche weitere Funktionen der Console verwendet werden. Eine wichtige Funktion ist das Managen der Instanzen. Instanzen enthalten wichtige Informationen über den Prozessstatus, z.B. ob er laufend, fertig, abgebrochen oder pausierend eingestellt ist. Dabei spielen Lebenszyklus und Prozessstatus eine wichtige Rolle. Der Prozessstatus kann on oder off eingestellt sein. Bei off können keine neuen Instanzen erstellt werden und der Zugriff zur aktuellen Instanz wird verweigert. Der Zyklus kann aktiv oder ruhend sein. Im ruhenden Zustand kann eine Prozessrevision erfolgen und neue Instanzen erstellt werden. Auch können abgeschlossene Instanzen archiviert und entfernt bzw. laufende Instanzen überwacht werden. Neben der Verwaltung ist Performance Tuning möglich. Die Performance wird beeinflusst durch die Cachegröße, den load factor, threads und weiteren Faktoren. Das Tuning erfolgt durch Performance-Statistiken und Thread Allocation-Statistiken. Es werden die Ausführungszeit von Prozessen ebenso angezeigt wie Informationen über threads und deren Zuteilung. Danach werden Testläufe gestartet um den Zeitaufwand anschließend anzeigen und optimieren zu können. Als wichtige Funktion der Console gilt letztendlich auch die Administration. Zu den Adminrechten gehören das Verwalten von Serverparameter, Serverpasswort, Management der Domains und thread – Statistiken. Durch die Domains kann die logische Organisation der 11 Prozesse erfolgen. Im anschließenden Kapitel soll die Modellierung von Workflows betrachtet werden. 3.3 Unterstützung des Nutzers bezüglich der Modellierung Das Entwickeln der Prozesse per Hand ist sehr zeit- und arbeitsintensiv. Der BPEL Designer wurde zur grafischen Unterstützung dieser Prozesse entwickelt. Aktivitäten können per drag and drop hinzugefügt werden, sodass ein vereinfachtes und schnelleres Modellieren möglich ist. Bestandteil des Designers ist ein Browser, welcher Web Services lokalisieren kann, ein Kopierassistent, ein XPath-Editor, Compiler und Deployer. Die Modellierung kann über den JDeveloper oder den Eclipse BPEL Designer erfolgen. Der JDeveloper BPEL Designer (vlg. Juric et al. 2004, S. 194-204) ist ein Plugin zum JDeveloper, welcher von Oracle als Software für eine Vielzahl weiterer Anwendungen entwickelt wurde. Prozessentwickler, welche sich mit dem ursprünglichen Programm auskennen, sollen hierbei besonders angesprochen werden. Es werden alle graphischen Strukturen der vorhandenen Prozesse und deren partner links angezeigt. Ebenfalls ist eine Quellcodeansicht möglich, deren Änderung sofort graphisch umgesetzt wird. Wichtige Funktionen für die Prozessentwicklung von JDeveloper sind: 1. Import von bereits existierenden Prozessen. 2. Auswahl von Partner links und Web Services: Bei den Partner links müssen wichtige Details wie die WSDL location oder den partner links type konfiguriert werden. 3. Variablen: Sie werden entweder manuell oder automatisch hinzugefügt. Bei der manuellen Eingabe werden Variablentyp und Name angegeben. 4. Aktivitäten: Sie können dem Prozess hinzugefügt und z.B. folgenden Gruppen zugeordnet werden: • Standard Aktivitäten sind z.B. assign, compensate oder empty, • Spezielle Aktivitäten sind z.B. die flows 5. XPath Expression Builder: Er ist für die Erstellung und Änderung von XPath-Ausdrücken notwendig. Auch BPEL Variablen und verschiedene Funktionen und Operatoren können genutzt werden 6. BPEL Validation Browser: Er ist nützlich für das Finden von Warnungen und Fehlermeldungen und deren anschließenden Behandlung. Die letzte wichtige Funktion ist das Deployment von Prozessen. Es werden zunächst Prozess und Verbindung zum BPEL server ausgewählt und anschließend die Domains und deren Passwörter. Der Rest wird wie im vorangegangenen Kapitel 3.2 ausgeführt. 12 Wenn sich der Entwickler mit Eclipse besser auskennt, kann er das Eclipse-plugin Eclipse BPEL Designer (vlg. Juric et al. 2004, S. 206-212) zur Prozessmodellierung verwenden. Im Hauptfenster wird zuerst ein Überblick über alle Prozesse mit deren partner links und den globalen XML-Variablen gegeben. Dies ist z.B. im JDeveloper nicht möglich. Der JDeveloper kann dagegen zusätzlich Oracle spezifische Funktionen z.B. sensors und adapter unterstützen. Es können die entsprechenden Elemente hinzugefügt werden, Quellcodeansicht und Manipulation des XML-Codes sind möglich. Alle Änderungen werden sofort wieder visuell umgesetzt. Wichtige Funktionen von Eclipse sind: 1. Partner links und Web Services. Der Partner Link wird ausgewählt und die entsprechenden Parameter wie Ort, Typ und Rolle werden eingestellt. Wenn der Ort unbekannt sein sollte, kann man den UDDI Browser anwenden, welcher BPEL server oder WSIL Dokumente anzeigt. 2. Variablen: Es sind sowohl globale Variablen als auch scopes (gebündelte Aktivitäteneinheit) einzusetzen. Name und Typ wie z.B. message type oder XML Schema type müssen eingegeben werden. Der XML Type Browser dient dazu, Schemas in verschiedenen Namensklassen wieder zu finden. Er zeigt nützliche XPath-Ausdrücke zum Editieren von Aktivitäten und komplexen Schemas an. 3. Process Map: Alle Prozesse werden graphisch repräsentiert. Sie werden folgenden Gruppen zugeordnet: • Core BPEL/Standard BPEL – Aktivitäten, • BPEL Erweiterungen wie z.B. parallele Flüsse oder exec Aktivitäten, • Notationen, welche Zugang zu Notification services ermöglichen, • Experiment bietet Zugang zu anderen erweiterten Aktivitäten wie XSLT- Transformationen, • Benutzerinteraktionen bzw. dem Zugang zum Workflow Service. 4. Copy Rule Editor: Kopierregeln werden zu Aktivitäten und Variablen eingestellt. Auch können Ausdrücke oder XML-Fragmente bearbeitet werden. 5. Function Wizard: Mit der Funktion können XPath-Ausdrücke zusammengestellt und bearbeitet werden. Abschließend erfolgt eine direkte Kompilation und Deployment auf dem BPEL-Server. 13 4. Fazit Um ein abschließendes Fazit treffen zu können, dürfen nicht nur die Vorteile, wie die benutzerfreundliche Pozessentwicklung und Prozessausführung, betrachtet werden sondern auch die Nachteile. Bei erfolgreicher Installation der Programme ist eine Versionskontrolle notwendig, damit alle angegebenen Features angewendet werden können. Die aktuelle Version vom JDeveloper enthält dagegen keinen BPEL Designer, frühere Versionen beinhalten unterschiedliche Tools. Um letztlich alle Eigenschaften nutzen zu können, ist eine kostenpflichtige Registrierung bei Oracle erforderlich. Nicht nur technische, sondern auch allgemeine Nachteile10 von Workflowsystemen spielen eine wichtige Rolle. Mitarbeiter verlieren Eigenverantwortung und in der Folge die Motivation zur aktiven Einflussnahme. Das Modell veraltet sehr schnell aufgrund einer sich ständig verändernden Geschäftswelt. Nichtsdestotrotz kann der Oracle BPEL Process Manager als leistungsstarke standardisierte Software mit einer hohen Benutzerfreundlichkeit bezeichnet werden, sofern alle Funktionen vorhanden sind. Es besitzt große Integrationsfähigkeiten und weist eine große Kompatibilität zu anderen Plattformen auf. 10 http://de.wikipedia.org/wiki/Prozessmanagement 14 Anhang Demobeispiel: Urlaubsanfrage Inhalt dieses Beispiels ist die Urlaubsanfrage eines Mitarbeiters an seinen Vorgesetzten. Dieser entscheidet dann, ob die Anfrage angenommen oder abgelehnt wird. Die Modellierung findet mit Hilfe des JDevelopers statt. Dabei werden folgende Schritte ausgeführt: A) Erstellen des Prozesses mit Input und Output Nachrichten B) Erstellen der Human task C) Einstellen der Input und Output Variablen für human task D) Erstellen des Aufgabenformulars für Arbeitsliste E) Definieren des Outputergebnisses F) Deploying und Ausführung. 15 Schritt A) Erstellen des Prozesses mit Input und Output Nachrichten Im ersten Schritt wird ein neuer Prozess erstellt. Neben dem Namen müssen Input- und Output- Schemas angegeben werden. Schritt B) Erstellen der Human task Auf der rechten Seite des Bildes sind die verschiedenen Aktivitäten dargestellt, welche in einfacher Art und Weise per drag und drop hinzugefügt werden können, darunter auch die Human task. Nachdem sie eingefügt wurden, müssen die Eigenschaften der Aufgabe des Vorgesetzten bearbeitet werden. Dafür erstellt man eine neue Task Definition. Im folgenden Bild müssen Titel und verschiedene Eigenschaften konfiguriert werden. 16 Im Weiteren werden Parameter erstellt und entsprechend über den Type Chooser ausgesucht. Anschließend wird der Vorgesetzte der Aufgabe über den Punkt Assignment Policy hinzugefügt. Dabei wird ein XPath-Ausdruck im folgenden Bild zusammengestellt. Der Ausdruck setzt sich aus dem Schema creator und der Funktion getManager zusammen. Als nächster Schritt folgt das Einstellen von Input und Outputvariablen der Human Task. 17 Schritt C) Einstellen der Input und Output Variablen für human task Dem Initiator des Prozesses werden wieder über den Expression Builder Variablen zugewiesen. Dabei wird das Schema creator mit der Funktion getUserIdsFromGroupAlias zusammengesetzt. Anschließend muss das Aufgabenformular für den Prozessinitiator erstellt werden. Schritt D) Erstellen des Aufgabenformulars für Arbeitsliste Dieser Arbeitsschritt erfolgt automatisch. Bevor der Prozess über die Console gestartet werden kann, müssen die zu initiierenden Parameter festgelegt werden. Dabei ist der Manager und das Datum (Ende und Beginn des Prozesses) einzugeben. Schritt E) Definieren des Outputergebnisses Nach dem Erstellen des Formulars wird der Output der Human task definiert. Dabei werden der anschließenden Switch-Activity drei Möglichkeiten zugewiesen. Der Antrag kann entsprechend abgelehnt oder angenommen werden. Die dritte Möglichkeit bezieht sich auf die Fehlerbehandlung. Dies geschieht über den Copy Rule Editor. 18 In diesem Arbeitsschritt ist der Ausdruck einzugeben und die Ergebnisvariable auszuwählen. Aus Ausdruck wird ein String benutzt, welcher das jeweilige Ergebnis beinhaltet. Für jede Aktivität wird die jeweilige Copy Rule erstellt. Schritt F) Deploying und Ausführung Nachdem der Prozess fertig modelliert wurde, kann er mit Angabe der Serverdomain auf einfache Art und Weise freigeschaltet werden. Der Prozess erscheint in der BPEL Console. Nach dem Initialisieren von Datum und Manager wird eine Instanz gestartet. Der Prozess wartet auf das Erfüllen der Aufgabe des Vorgesetzten. Dieser loggt sich über seinen Login in der Worklist Anwendung ein und wählt eine der verbleibenden Möglichkeiten Annahme oder Ablehnung aus. Nach dem Versenden der Nachricht ist der Prozess erfolgreich beendet. 19 Quellenverzeichnis Literaturverzeichnis Bücher: 1) Juric, M., B. Mathe, P. Sarang: Business Process Execution Language for Web Services 2nd Edition, Packt Publishing, Olton 2004 Quellen aus dem Internet: 1) http://de.wikipedia.org/wiki/oracle vom 15.05.2009 2) http://de.wikipedia.org/wiki/Prozessmanagement vom 12.05.2009 3) http://de.wikipedia.org/wiki/WS-Business_Process_Execution_Language vom 12.05.2009 4) http://www.ids-scheer.de/de/Meldungen/Oracle_erweitert_das_BPMAngebot_der_Oracle_Fusion_Middleware_um_die_ARIS_Platform_von_IDS_Scheer/203 8.html?referer=8731 vom 15.05.2009 5) http://oracle.com/corporate/story.html vom 15.05.2009 6) http://www.oracle.com/technology/products/ias/bpel/pdf/ bpelroadmapfeaturespreview.pdf vom 15.05.2009 7) http://www.oracle.com/technology/products/ias/bpel/pdf/ oracle_bpel_process_manager_datasheet.pdf vom 15.05.2009 8) http://www.oracle.com/technologies/soa/docs/oracle-soa-suite-datasheet.pdf vom 15.05.2009 9) http://www.oracle.com/technology/software/products/ias/bpel/index.html vom 15.05. und Demo vom Oracle BPEL Process Manager 20 file:///D:/product/10.1.3.1/OraBPEL_1/samples/demos/VacationRequest/ VacationRequest.pdf vom 14.06.2009 10) http://www.oracle.com/technologies/tech/standards/pdf/bpel.pdf vom 15.05.2009 11) http://www.oracle.com/us/corporate/015275_EN vom 15.05.2009 12) http://technology.amis.nl/blog/1655/soa-suite-build-deployment-and-testautomation-%E2%80%93-part-2-automating-esb-deployments vom 13.06.2009 Abbildungsverzeichnis Abb. 1 Juric, M.; Mathe, B.; Sarang, P.: Business Process Execution Language for Web Services 2nd Edition, Packt Publishing, Olton, 2004, Seite 168 Abb. 2 http://technology.amis.nl/blog/1655/soa-suite-build-deployment-and-testautomation-%E2%80%93-part-2-automating-esb-deployments vom 13.06.2009 Abb. 3 http://192.168.220.100:9700/BPELConsole/default/displayProcess.jsp vom 13.06.2009 Abb. 004 http://192.168.220.100:9700/integration/worklistapp/TaskList?viewId =ORCL_WF_STD_VIEW_TASKS_DUE_SOON vom 13.06.2009 21