Business Process Management und
Workflow-TechnologieWorkflow Frameworks
jBPM & /YAWLTino Liebeskind
Friedrich-Schiller-Universität Jena
Friedrich-Schiller-Universität Jena Tino Liebeskind 2 / 32
Agenda
Workflow Management & Frameworks YAWL jBPM Demonstration
Friedrich-Schiller-Universität Jena Tino Liebeskind 3 / 32
Workflow Management
Grundziel: weitgehende Automatisierung von Prozessen unter Einbindung aller notwendigen Ressourcen
Workflow Management Systeme
unabdingbar
Friedrich-Schiller-Universität Jena Tino Liebeskind 4 / 32
Frameworks Framework = Programmiergerüst Verwendung von domänenspezifischen
Entwurfsmustern Implementierung am Framework
registrieren Framework steuert Kontrollfluss der
Anwendung und deren Schnittstellen
Friedrich-Schiller-Universität Jena Tino Liebeskind 5 / 32
Workflow-Frameworks
Entwicklung WMS sehr kundenspezifisch, komplex und umfangreich
Abbildung der mit Hilfe geschäftsprozess-spezifischer Entwurfsmuster
Workflowframeworks:• YAWL• jBPM• Apache ODE• ActiveBPEL
Friedrich-Schiller-Universität Jena Tino Liebeskind 6 / 32
Agenda
Workflow Management Systeme & Frameworks
YAWL jBPM Demonstration
Friedrich-Schiller-Universität Jena Tino Liebeskind 7 / 32
YAWL - Ursprung
Prof. Will van der Aalst • Department of Technology Management
University of Technology in Eindhoven • formalen Grundlagen Workflowpattern
Prof. Arthur ter Hofstede• Center of IT an der Queensland
University of Technologie in Brisbane • Implementierung von YAWL
Friedrich-Schiller-Universität Jena Tino Liebeskind 8 / 32
YAWL – Lizenz und Verbreitung
YAWL Foundation:http://sourceforge.net/projects/yawl
http://yawlfoundation.org Open Source (LGPL)
Friedrich-Schiller-Universität Jena Tino Liebeskind 9 / 32
YAWL - Grundlagen
Sprache zur Spezifikation von Kontrollflüssen in Workflow Systeme
Basiert auf der Analyse von über 30 Workflow Sprachen und Systeme
Basiert auf Petri-Netzen Unterstützt alle bekannten Workflow Pattern Ziel: YAWL als Intermediate Language für
andere Workflow Systeme
Friedrich-Schiller-Universität Jena Tino Liebeskind 10 / 32
YAWL - Funktionsumfang
Unterstützt komplexe Ressourcenzuweisung Unterstützt Validierung des Workflow Modells XML- basierte Daten-/ Schnittstellendefinition XML- basierte Überwachung und Steuerung automatisierte Formulargenerierung Hauptbestandteile: - Ausführungsengine
- Graphischer Editor- Worklist Handler
Friedrich-Schiller-Universität Jena Tino Liebeskind 11 / 32
YAWL – SymboleWorkflow Specification
besteht aus einem Set von Process Definitions
Process Definition
besteht aus Tasks und Conditions
Condition Repräsentiert Status eines Prozesses
Atomic Task Einzelner Arbeitsschritt
Composite Task
Verweis auf weitere Prozessdefinition
Taskverknüpfung
Mit Join & Split (jeweils and, or, xor)
Remove Tokens löscht Instanzen von ausgeführten Tasks
Multiple Instanzen
Von Prozessen möglich
Friedrich-Schiller-Universität Jena Tino Liebeskind 12 / 32
YAWL - Datenfluss
Datentypen (String, double, boolean, date …)
Eigene Datentypen per XML Schema Net- (global) und Task- (lokal) Variablen Variablentypen:
• Input & Output, • Only Input/ Output• Local (selbst initialisierbar)
Friedrich-Schiller-Universität Jena Tino Liebeskind 13 / 32
YAWL - Architektur
Friedrich-Schiller-Universität Jena Tino Liebeskind 14 / 32
YAWL - Implementierung
Friedrich-Schiller-Universität Jena Tino Liebeskind 15 / 32
YAWL - Installation
YAWL4Enterprise 2.0 RC1 oder YAWL4Study 2.0 RC1 JRE bis 1.5 PostgreSQL oder andere DBMS zur
Datenhaltung Apache Tomcat bis 5.5.25
Friedrich-Schiller-Universität Jena Tino Liebeskind 16 / 32
YAWL - Editor
Friedrich-Schiller-Universität Jena Tino Liebeskind 17 / 32
YAWL - Manager
Friedrich-Schiller-Universität Jena Tino Liebeskind 18 / 32
YAWL - Resümee
Vorteile+ sehr gut dokumentiert+ benutzerfreundlich (Editor und Browser)+ leistungsfähig, allgemein (XML)
Nachteile- operationale Perspektive- Datenperspektive- nicht komplett implementiert
Friedrich-Schiller-Universität Jena Tino Liebeskind 19 / 32
Agenda
Workflow Management Systeme & Frameworks
YAWL jBPM Demonstration
Friedrich-Schiller-Universität Jena Tino Liebeskind 20 / 32
jBPM - Ursprung Architekt Tom Baeyens Ziel: Eine einfach zu integrierende Zu-
standsmaschine und die Abdeckung aller komplexer Workflowpattern
jBPM 1.0 in 2003 jBPM Projektstart 2002 Aktuell jBPM 3.2.6 (und 4 RC1)
Friedrich-Schiller-Universität Jena Tino Liebeskind 21 / 32
jBPM – Lizenz und Verbreitung
jBPM ist Bestandteil des Open Source Applikationsservers JBOSS von JBOSS Inc.
Open Source (LGPL)
Friedrich-Schiller-Universität Jena Tino Liebeskind 22 / 32
jBPM - Grundlagen basiert auf den Workflowpattern von Prof. van der Aalst und
Nutzerfeedback konzentriert sich auf Orchestrierung von fachlichen Diensten
zu Geschäftsprozessen verwendet kein BPEL sondern eigene Sprache jPDL Prozessdarstellung als gerichteter Graph in GPD Beschreibung durch Knoten und Transitionen in XML Verarbeitung von Java Klassen an den Knoten
Friedrich-Schiller-Universität Jena Tino Liebeskind 23 / 32
jBPM - Funktionsumfang
Interne Prozessrepräsentation mit POJO-Modell
DB Kommunikation über Hibernate Lauffähig mit oder ohne Application-Server Eigener Java Code als ActionHandler-
Klassen in Notes und Tasknotes implementierbar
BPS optional als Simulationstool
Friedrich-Schiller-Universität Jena Tino Liebeskind 24 / 32
jBPM -SpracheNote automatische Ausführung
in jBPM Runtime
Task Note Webmaske für Benutzerinteraktion
Folk Prozessparallelisierung
Join Prozesssynchronisierung
Decision Automatische Entscheidungen
Start-/End-State Start- und Endzustand
Wait-State WartezustandEigene Notetypen
Mit eigenem Verhalten möglich
Friedrich-Schiller-Universität Jena Tino Liebeskind 25 / 32
jBPM - Architektur
Friedrich-Schiller-Universität Jena Tino Liebeskind 26 / 32
jBPM - Implementierung
Friedrich-Schiller-Universität Jena Tino Liebeskind 27 / 32
jBPM - Designer
Friedrich-Schiller-Universität Jena Tino Liebeskind 28 / 32
jBPM - Installation
Eclipse 3.4 & Java JDK 1.5 für jBPM 3.6.2 Installation über Help -> Software Updates Erstellen eines neuen jBPM Process
Projektes Alles weitere Java und XML
Friedrich-Schiller-Universität Jena Tino Liebeskind 29 / 32
jBPM - Resümee Vorteile
+ Softwarestrukturierung um einfachen Prozessgraph+ jPDL als Beschreibungssprache relativ leicht lesbar+ Geschäftslogik in Java Klassen+ Verwendung von Hibernate für DB Anbindung+ Framework flexibel integrierbar und skalierbar
Nachteile - jBPM kein Standard - Keine vorkonfigurierten Adapter zum Aufruf externer Systeme (obwohl essentiell für BPM) - Wenig Nutzerunterstützung
Friedrich-Schiller-Universität Jena Tino Liebeskind 30 / 32
Agenda
Workflow Management Systeme & Frameworks
YAWL jBPM Demonstration
Friedrich-Schiller-Universität Jena Tino Liebeskind 31 / 32
Demonstration
YAWL• GUI• Excecution
jBPM• GUI
Friedrich-Schiller-Universität Jena Tino Liebeskind 32 / 32
Literatur
Design and implementation of the YAWL system (2004)
How to Manipulate Data in YAWL (2005) Getting Started with YAWL (2007) YAWL Editor 2.0 User Manual (2008) JBOSS jBPM WHITE PAPER (2004) jBPM jPDL User Guide jBPM Tools Reference Guide (2007)