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

Documents pareils