Friedrich-Schiller-Universität Jena Institut für Informatik Lehrstuhl für Datenbanken und Informationssysteme Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung Seminarleiter: Prof. Dr. Klaus Küspert, Dr. Andreas Wickenhäuser Seminarbetreuer: Matthias Liebisch Seminararbeit zum Thema BPMN Wie definiere ich meine Prozesse? vorgelegt von: Name: Leopold Stephan Anschrift: Sophienstr. 3 07743 Jena Telefon: 0163 3344274 Fachsemester: 10 Studienrichtung: Diplom-Wirtschaftsinformatik Matrikel-Nr.: 79824 Abgabetag: 14.07.2009
Inhaltsverzeichnis ABKÜRZUNGSVERZEICHNIS...II 1 EINLEITUNG... 3 2 GESCHÄFTSPROZESS VERSUS WORKFLOW... 4 3 BUSINESS PROCESS MODELING NOTATION... 5 3.1 MOTIVATION... 5 3.2 HISTORISCHE ENTWICKLUNG... 5 3.3 EIGENSCHAFTEN... 6 4 NOTATIONSELEMENTE DER BPMN... 6 4.1 FLOW OBJECTS... 7 4.1.1 Events... 7 4.1.2 Activities... 8 4.1.3 Gateways... 9 4.2 CONNECTING OBJECTS... 10 4.3 SWIMLANES... 11 4.3.1 Pools... 11 4.3.2 Lanes... 11 4.4 ARTIFACTS... 12 4.4.1 Data Objects... 12 4.4.2 Groups... 12 4.4.3 Annotations... 13 5 WORKFLOW AM BEISPIEL DES SEMINARABLAUFS... 13 6 FAZIT... 15 LITERATURVERZEICHNIS... 16 ANHANG... A ABBILDUNGSVERZEICHNIS... D
Abkürzungsverzeichnis BPD BPEL BPMI BPML BPMN OMG XML XPDL Business Process Diagram Business Process Execution Language Business Process Management Initiative Business Process Modeling Language Business Process Modeling Notation Object Management Group Extensible Markup Language XML Process Definition Language II
1 Einleitung Eine Studie der Firma Logica [Log08] aus dem Jahr 2008 ergab, dass ein Großteil der 380 befragten Vorstände Westeuropäischer Unternehmen 10% bis 55% der durchschnittlichen Gewinne in die Verbesserung ihrer Geschäftsprozesse investiert. Für die Modellierung von Geschäftsprozessen wird immer häufiger die Business Process Modeling Notation verwendet. Jan Recker [Rec08, S. 1] leitet in seiner Studie mit dem Satz ein: The Business Process Modeling Notation (BPMN) is an increasingly important standard for process modeling and has enjoyed high levels of attention and uptake in BPM practice. Das angeführte Zitat von Jan Recker verdeutlicht, dass die BPMN für die Modellierung von Geschäftsprozessen zunehmend an Bedeutung gewinnt. Was die BPMN auszeichnet, sind nicht nur die leichte Zugänglichkeit durch alle Prozessbeteiligten (Entwickler, Modellierer, Manager), sondern auch die Entwicklung hin zur direkten Ausführbarkeit in Process Engines. In dieser Arbeit werden Grundlagen für das Verständnis von BPMN, seiner Konstrukte und den Zielstellungen geschaffen. In Kapitel 2 werden die für das Grundverständnis wichtigen Begriffe Geschäftsprozess und Workflow erläutert und gegenübergestellt. Darüber hinaus wird erklärt, was genau unter einer Notation verstanden werden kann. Die Vorstellung der BPMN erfolgt in Kapitel 3. Dabei wird sowohl auf deren Entstehung als auch auf den aktuellen Stand und zukünftige Entwicklungen eingegangen. In Kapitel 4 werden die Grundkonstrukte von BPMN eingeführt und erläutert. Das Zusammenspiel verschiedener Elemente von BPMN wird letztendlich in Kapitel 5 anhand eines Beispielprozesses veranschaulicht. Die Arbeit schließt mit einem Fazit in Kapitel 6 ab. 3
2 Geschäftsprozess versus Workflow Als Grundlage für die folgenden Kapitel werden in diesem Abschnitt kurz die Begriffe Geschäftsprozess sowie Workflow erläutert und gegenübergestellt. Ein Geschäftsprozess ist nach [Gad03] definiert als [ ] eine zielgerichtete, zeitlichlogische Abfolge von Aufgaben, die arbeitsteilig von mehreren Organisationen oder Organisationseinheiten unter Nutzung von Informations- und Kommunikationstechnologien ausgeführt werden können. Er dient der Erstellung von Leistungen entsprechend den vorgegebenen, aus der Unternehmensstrategie abgeleiteten Prozesszielen. Ein Workflow ist nach [Gad03] [ ] ein formal beschriebener, ganz oder teilweise automatischer Geschäftsprozess. Er beinhaltet die zeitlichen, fachlichen und ressourcenbezogenen Spezifikationen, die für eine automatische Steuerung des Arbeitsablaufes auf der operativen Ebene erforderlich sind. Die hierbei anzustoßenden Arbeitsschritte sind zur Ausführung durch Mitarbeiter oder durch Anwendungsprogramme vorgesehen. Den Zusammenhang von Geschäftsprozess und Workflow verdeutlicht folgende vereinfachte Abbildung: Abbildung 1: Geschäftsprozess- und Workflowebene (nach [Gad03]) 4
Sämtliche Geschäftsprozesse im Unternehmen leiten sich aus der Strategie ab. Auf der fachlich-konzeptionellen Ebene werden die Geschäftsprozesse voneinander abgegrenzt und modelliert. Auf der operativen Ebene werden den Geschäftsprozessen die zur Ausführung in einer Process Engine notwendigen Informationen beigefügt, ausgeführt sowie während und nach der Laufzeit ausgewertet, um Fehler im Ablauf zu identifizieren oder potentielle Optimierungen im Prozess vornehmen zu können. 3 Business Process Modeling Notation 3.1 Motivation Um komplexe Prozesse mit allen Aspekten, wie Verzweigungsregeln und Datenflüssen, darstellen zu können werden geeignete Notationen benötigt. Notationen für die graphische Modellierung von Geschäftsprozessen legen fest, mit welchen Symbolen die verschiedenen Elemente von Prozessen dargestellt werden, was sie bedeuten und wie sie miteinander kombinierbar sind. Die Einheitlichkeit einer solchen Sprache zur Beschreibung von Geschäftsprozessen lässt jeden Anwender die Modelle des anderen verstehen (vgl. [All08]). 3.2 Historische Entwicklung Die Business Process Modeling Notation wurde 2002 von der Business Process Management Initiative (BPMI) mit dem Ziel entwickelt, in XML notierte BPML- Modelle visuell darstellen zu können. Mittlerweile ist die BPMI in der OMG aufgegangen und die BPML hat sich gegenüber den wichtigen Sprachen XPDL und BPEL nicht durchsetzen können. Die bis zum Zeitpunkt der Entwicklung der BPMN nicht standardisierten Formen der graphischen Modellierung von Geschäftsprozessen, welche häufig aus der Abfolge von Kästchen und Pfeilen bestand, sollten im Rahmen der Übernahme des Projektes durch die OMG standardisiert werden (vgl. [All08]). 5
3.3 Eigenschaften Die BPMN ist eine grafische Notation zur fachlichen als auch technischen Darstellung von Geschäftsprozessen. Beide Darstellungsformen unterscheiden sich dabei vor allem in dem Detailgrad der Darstellung. Die fachliche Sicht reduziert das Modell auf das Verständnis des grundlegenden Prozessablaufs Bedingungen an Verzweigungen werden für Laien verständlich in Klartext ausgedrückt. Hingegen wird auf technischer Ebene Wert auf die Darstellung von Details, wie beispielsweise logisch formulierten Bedingungen an Verzweigungen oder umfangreiche Fehlerbehandlungen, gelegt. Im Zuge der Spezifizierung der BPMN wurde als neues Ziel formuliert, eine Sprache bereitzustellen und weiterzuentwickeln, die von allen an den Prozessen beteiligten Gruppierungen gleicher Art verstanden werden kann: vom Business Analyst über die Entwickler bis hin zu den Personen, die letztendlich die Prozesse managen und verwalten (vgl. [Whi04]). Das Problem, welches momentan oft im Zusammenhang mit BPMN angesprochen wird, ist die nur unzureichende Unterstützung der Transformation in eine ausführbare Sprache, wie beispielsweise BPEL. Vor allem die Hersteller von Business Process Management Tools sind daran interessiert, BPMN Modelle direkt und ohne Umwege in Workflow Engines auszuführen. Die noch für dieses Jahr erwartete Version BPMN 2.0 wird bereits wichtige Erweiterungen im Kontext dieser Problematik enthalten. 4 Notationselemente der BPMN Im Folgenden werden die verschiedenen Notationselemente der BPMN vorgestellt. Die OMG ordnet diese innerhalb der Spezifikation in vier Kategorien ein: Flow Objects Connecting Objects Swimlanes und Artifacts. 1 Ein Prozessmodell wird in der BPMN als BPD (Business Process Diagram) bezeichnet. 1 In Kapitel 4 werden die englischen Begriffe aus der Spezifikation kursiv geschrieben. Auf die Verwendung von eingedeutschten Bezeichnungen wurde verzichtet. 6
4.1 Flow Objects Flow Objects sind die Basiselemente, die unterteilt werden in: Events Activities und Gateways. 4.1.1 Events Events sind Ereignisse, die den Verlauf eines Geschäftsprozesses beeinflussen und haben in der Regel einen Auslöser ( trigger ) oder ein Ergebnis ( result ). Unterteilt werden Events in Start, Intermediate und End Events, abhängig vom Zeitpunkt ihres Eintretens: Start Events kennzeichnen den Beginn eines bestimmten Prozesses. Intermediate Events treten zwischen einem Start und einem End Event ein. Sie beeinflussen den Prozessfluss. End Events kennzeichnen das Ende eines Prozesses. Events werden darüber hinaus in verschiedene Typen aufgeteilt (vgl. Abbildung 2): Message, Timer, Error, Cancel, Compensation, Conditional, Link, Signal, Terminate und Multiple Events. Abbildung 2: Events 7
Start (in Abbildung 2 in der ersten Spalte) und die meisten Intermediate Events (in Abbildung 2 in der zweiten und dritten Spalte) treten auf Grund von bestimmten Auslösern ein. End Events (in Abbildung 2 in der vierten Spalte) hingegen definieren ein Ergebnis als Konsequenz der Beendigung eines Prozesses. Start Events reagieren lediglich auf Auslöser ( catch ), wohingegen End Events Ergebnisse auslösen ( throw ). Intermediate Events können sowohl durch Auslöser eintreten (nicht ausgefülltes Symbol) als auch Ergebnisse auslösen (ausgefülltes Symbol). 4.1.2 Activities Eine Activity kennzeichnet eine Tätigkeit, die durch eine Bezeichnung beschrieben wird. Activities werden durch ein Rechteck mit abgerundeten Ecken dargestellt und in folgende Typen unterteilt: Tasks und Sub-Processes. Tasks (vgl. Abbildung 3) sind atomare Activities, die nicht weiter heruntergebrochen werden können. Abbildung 3: Task Sub-Processes sind zusammengesetzte Activities innerhalb eines Prozesses. Solch ein Sub-Process kann heruntergebrochen werden auf eine detailiertere Modellierungsebene, in der wiederum ein Prozess dargestellt wird. Die Details eines Sub-Processes sind im BPD nicht sichtbar, gekennzeichnet wird ein Sub-Process (vgl. Abbildung 4) durch ein Plus im unteren Bereich des sonst unausgefüllten Symbols für eine Activity. Abbildung 4: Collapsed Sub-Process 8
Durch klicken auf das Plus gelangt man (sofern unterstützt durch die Modellierungssoftware) zur Darstellung des Sub-Processes (vgl. Abbildung 5) als eigenständigen Prozess. Abbildung 5: Expanded Sub-Process 4.1.3 Gateways Gateways werden für die Verzweigung ( split / fork ) und Zusammenführung ( merge / join ) von Sequence Flows (vgl. 4.2) verwendet. Typen von Gateways (vgl. Abbildung 6) sind Exclusive Gateway, Inclusive Gateway, Complex Gateway und Parallel Gateway. Abbildung 6: Gateways Der Exclusive Gateway entspricht dem logischen XOR und wird mittels einer leeren Raute oder wahlweise auch durch eine mit einem X ausgefüllten Raute gekennzeichnet. Der Inclusive Gateway entspricht dem logischen OR und wird mit einer Raute mit Kreis dargestellt. 9
Der Parallel Gateway entspricht dem logischen AND und wird mit einem + gekennzeichnet. Der Complex Gateway behandelt die Fälle, die mit der üblichen Logik nicht abzubilden sind, wie beispielsweise den Fall, dass bei dem parallelen Ablauf von 3 Aktivitäten 2 ausgeführt sein müssen, damit der Flow weitergeht (Regel 2 aus 3 ). 4.2 Connecting Objects Connecting Objects verbinden die Flow Objects eines BPDs miteinander. Es werden drei Arten von Connecting Objects unterschieden: Sequence Flow, Message Flow und Association. Der Sequence Flow (vgl. Abbildung 7) wird verwendet, um die Reihenfolge der Ausführung (in Pfeilrichtung) von Activities innerhalb eines Prozesses zu verdeutlichen. Abbildung 7: Sequence Flow Der Message Flow (vgl. Abbildung 8) stellt den Nachrichtenaustausch zwischen zwei Prozessteilnehmern dar. Diese werden durch zwei separate Pools (vgl. 4.3) repräsentiert. Abbildung 8: Message Flow Associations (vgl. Abbildung 9) werden verwendet, um den Zusammenhang von Informationen und Flow Objects zu verdeutlichen. Ein Pfeil wird der Association angefügt, wenn die Richtung des Informationsflusses von Belang ist. Abbildung 9: Associations 10
4.3 Swimlanes In einem BPMN Diagramm können mehrere Prozesse modelliert werden, die untereinander kommunizieren. Die für die Modellierung solcher Sachverhalte notwendigen Konstrukte heißen Pools und Lanes. Abbildung 10: Pool mit Lanes 4.3.1 Pools Ein Pool (vgl. Abbildung 10) repräsentiert einen Prozessteilnehmer. Ein Prozessteilnehmer kann sowohl Unternehmen darstellen als auch eine spezifische Rolle innerhalb eines Unternehmens wie Einkäufer oder Verkäufer. Pools werden als Rechtecke mit spitzen Kanten dargestellt und entsprechend benannt. Zwischen mehreren Pools wird der Austausch von Informationen mit Message Flows modelliert, keinesfalls mit Sequence Flows. 4.3.2 Lanes Eine Lane (vgl. Abbildung 10) unterteilt einen Pool vom Anfang bis zum Ende des Pools. Lanes werden verwendet, um Activities innerhalb eines Pools zu organisieren und zu kategorisieren. Die Spezifikation schreibt allerdings keinen genauen Anwendungsbereich vor. Dem Modellierer ist die Interpretation von Lanes selbst überlassen. Lanes werden oftmals für die Modellierung von internen Rollen (Manager, Mitarbeiter, ), Systemen (Mailserver, Datenbanken, ) oder internen Abteilungen (Finanzbuchhaltung, Versand) verwendet. Zwischen Lanes innerhalb eines Pools wird der Fluss mittels Sequence Flows modelliert, keinesfalls mit Message Flows. 11
4.4 Artifacts Um zusätzliche Aspekte und Informationen im BPD abbilden zu können, wurden drei Typen von so genannten Artifacts spezifiziert. Modellierern und Toolherstellern steht es frei, die BPMN um zusätzliche Artifacts zu erweitern. Die drei Typen der BPMN- Spezifikation der OMG sind Data Objects, Groups und Annotations. 4.4.1 Data Objects Data Objects (vgl. Abbildung 11) sind Daten, die zwischen Activities ausgetauscht werden und welche nicht mittels Sequence oder Message Flows abgebildet werden können. Ein Beispiel ist ein Dokument, welches von einer Activity erstellt und zur Überprüfung an die nächste übergeben wird. Abbildung 11: Data Object 4.4.2 Groups Eine Group (vgl. Abbildung 12) ist ein Konstrukt, welches hilfreich ist, um mehrere Elemente zusammenzufassen und optisch hervorzuheben. Der eigentliche Prozessablauf wird dabei nicht beeinflusst. Groups werden als strichpunktierte Rechtecke mit abgerundeten Ecken dargestellt. Abbildung 12: Group 12
4.4.3 Annotations Annotations (vgl. Abbildung 13) dienen dazu, Erläuterungen zu Elementen hinzuzufügen. Oftmals werden sie auch für die Formulierung von Abbruchbedingungen verwendet, wobei die eigentlichen Bedingungen als Attributwerte den Elementen hinterlegt sind. Die textuelle Beschreibung durch Annotations dient dem Verständnis auf wirtschaftlicher Ebene. Abbildung 13: Annotation 5 Workflow am Beispiel des Seminarablaufs Der mit der Software Intalio Designer 2 modellierte Workflow soll den Seminarablauf vom Kickoff-Meeting bis zur Bekanntgabe der Seminarergebnisse in BPMN-Notation abbilden (siehe Anhang). In diesem Abschnitt wird auf einige Ausschnitte des Workflows näher eingegangen. Der Workflow stellt den Nachrichtenaustausch zwischen dem Lehrstuhlteam, welches das Seminar ausrichtet, und dem jeweiligen Studenten als Choreografie dar. Professor Allweyer [All08] definiert eine Choreografie im Umfeld der Modellierung von Geschäftsprozessen mit BPMN als [ ] das aufeinander abgestimmte Zusammenspiel von zwei oder mehr Prozessen, die keiner zentralen Steuerung unterliegen und mittels Nachrichtenaustausch kommunizieren. 2 www.intalio.com 13
Abbildung 14: Beginn Workflow (Ausschnitt aus Gesamtworkflow) In Abbildung 14 wird der Beginn des Workflows mittels eines Timer-Events getriggert. Der Workflow startet demnach genau am 15.04.2009 16:00 Uhr. Der Nachrichtenaustausch zwischen beiden kollaborierenden Prozessen von Lehrstuhlteam und Student findet zwischen den jeweils ersten Tasks in Form von Fragen und Antworten statt. Abbildung 15 zeigt in der unteren Lane einen Parallel Gateway, von dem zwei Sequence Flows abgehen, die parallel bis zu dem Gateway verlaufen, welches beide Flüsse wieder vereint. Innerhalb beider Gateways arbeitet der Student den Vortrag aus, hält ihn am Termin, der vorher festgelegt wurde und stellt parallel dazu die Seminararbeit fertig. In der Abbildung wird darüber hinaus mittels einer Group der Teil des Workflows visuell gruppiert, der das Halten der Seminarvorträge beziehungsweise dem Beiwohnen der Seminarvorträge modelliert. Abbildung 15: Parallel Gateway und Group (Ausschnitt aus Gesamtworkflow) 14
Der Workflow endet mit dem Eintreten eines End Events ohne weitere Tasks bei nicht bestandenem Seminar oder aber zusätzlich mit der Abarbeitung der Tasks für das Ausstellen und das Abholen des Scheins bei bestandener Prüfung. Abbildung 16: Ende des Workflows (Ausschnitt aus Gesamtworkflow) 6 Fazit Noch wird die BPMN für die graphische Modellierung genutzt, um die daraus entstehenden Modelle bei Bedarf mittels aufwendiger Modelltransformationen in ausführbare Modelle beispielsweise im BPEL-Standard umzuwandeln. Mittelfristig wird sich die BPMN gegen zur Zeit noch häufig eingesetzte Notationen, wie den Ereignisgesteuerten Prozessketten, durchsetzen können. Diese Aussage kann nicht nur aufgrund der Standardisierung durch die OMG sowie der steigenden Akzeptanz sowohl durch die fachliche als auch technische Anwenderseite getroffen werden sondern vor allem auch wegen der stetigen Weiterentwicklung. Die BPMN in der Version 2.0 wird viele Erweiterungen enthalten, wie beispielsweise differenzierte Tasks (User Tasks, Web Service Tasks, ), neue Typen von Events (Escalation Event) sowie neue Diagrammtypen (Conversation Diagram). Darüber hinaus ist die Entwicklung eines Metamodells geplant, welches die Bedeutung und die Zusammenhänge der einzelnen Konstrukte der BPMN exakt modelliert. 15
Literaturverzeichnis [All08] ALLWEYER, Thomas: BPMN: Business Process Modeling Notation. Einführung in den Standard für die Geschäftsprozessmodellierung. 2008 [Gad03] GADATSCH, Andreas: Grundkurs Geschäftsprozessmanagement. November 2003 [Log08] Logica Management Consulting: Securing the value of business process change. 2008 http://www.logica.com/file/12912 [OMG08] OMG: Business Process Modeling Notation, V1.1. 2008 http://www.omg.org/spec/bpmn/1.1/pdf [Rec08] RECKER, Jan: BPMN Modeling - Who, Where, How and Why. BPTrends. März 2008 http://eprints.qut.edu.au/12317/1/03-08-art-bpmn_survey-recker.pdf [Whi04] WHITE, Stephen A.: Introduction to BPMN. IBM. Mai 2004 http://bpmn.org/documents/introduction%20to%20bpmn.pdf 16
Anhang Workflow am Beispiel des Seminarablaufs Teil 1 A
Workflow am Beispiel des Seminarablaufs Teil 2 B
Workflow am Beispiel des Seminarablaufs Teil 3 C
Abbildungsverzeichnis Abbildung 1: Geschäftsprozess- und Workflowebene (nach [Gad03])...4 Abbildung 2: Events...7 Abbildung 3: Task...8 Abbildung 4: Collapsed Sub-Process...8 Abbildung 5: Expanded Sub-Process...9 Abbildung 6: Gateways...9 Abbildung 7: Sequence Flow...10 Abbildung 8: Message Flow...10 Abbildung 9: Associations...10 Abbildung 10: Pool mit Lanes...11 Abbildung 11: Data Object...12 Abbildung 12: Group...12 Abbildung 13: Annotation...13 Abbildung 14: Beginn Workflow (Ausschnitt aus Gesamtworkflow)...14 Abbildung 15: Parallel Gateway und Group (Ausschnitt aus Gesamtworkflow)...14 Abbildung 16: Ende des Workflows (Ausschnitt aus Gesamtworkflow)...15 D