Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Jacob Koenig Geändert vor über 8 Jahren
1
Business Process Management und Workflow-Technologie
Workflow Frameworks jBPM & /YAWL Tino Liebeskind Friedrich-Schiller-Universität Jena
2
Friedrich-Schiller-Universität Jena Tino Liebeskind
Agenda Workflow Management & Frameworks YAWL jBPM Demonstration Friedrich-Schiller-Universität Jena Tino Liebeskind
3
Friedrich-Schiller-Universität Jena Tino Liebeskind
Workflow Management Grundziel: weitgehende Automatisierung von Prozessen unter Einbindung aller notwendigen Ressourcen Workflow Management Systeme unabdingbar Friedrich-Schiller-Universität Jena Tino Liebeskind
4
Friedrich-Schiller-Universität Jena Tino Liebeskind
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
Friedrich-Schiller-Universität Jena Tino Liebeskind
Workflow-Frameworks Entwicklung WMS sehr kundenspezifisch, komplex und umfangreich Abbildung der mit Hilfe geschäftsprozess-spezifischer Entwurfsmuster Workflowframeworks: YAWL jBPM Apache ODE ActiveBPEL Liste Open Source Workflowframeworks: Friedrich-Schiller-Universität Jena Tino Liebeskind
6
Friedrich-Schiller-Universität Jena Tino Liebeskind
Agenda Workflow Management Systeme & Frameworks YAWL jBPM Demonstration Friedrich-Schiller-Universität Jena Tino Liebeskind
7
Friedrich-Schiller-Universität Jena Tino Liebeskind
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 YAWL steht für YET ANOTHER WORKFLOW LANGUAGE Friedrich-Schiller-Universität Jena Tino Liebeskind
8
YAWL – Lizenz und Verbreitung
YAWL Foundation: Open Source (LGPL) Pro Woche ungefähr 300 Downloads Derzeit nur 17 Entwickler Friedrich-Schiller-Universität Jena Tino Liebeskind
9
Friedrich-Schiller-Universität Jena Tino Liebeskind
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
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
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL – Symbole Workflow 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
Friedrich-Schiller-Universität Jena Tino Liebeskind
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) Cast der Variablen: user definde XQuerys Input: Net Variablen -> Task Variablen Output: Task Variablen -> Net Variablen Friedrich-Schiller-Universität Jena Tino Liebeskind
13
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL - Architektur Friedrich-Schiller-Universität Jena Tino Liebeskind
14
YAWL - Implementierung
Friedrich-Schiller-Universität Jena Tino Liebeskind
15
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL - Installation YAWL4Enterprise 2.0 RC1 oder YAWL4Study 2.0 RC1 JRE bis 1.5 PostgreSQL oder andere DBMS zur Datenhaltung Apache Tomcat bis Friedrich-Schiller-Universität Jena Tino Liebeskind
16
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL - Editor Friedrich-Schiller-Universität Jena Tino Liebeskind
17
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL - Manager Friedrich-Schiller-Universität Jena Tino Liebeskind
18
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL - Resümee Vorteile + sehr gut dokumentiert + benutzerfreundlich (Editor und Browser) + leistungsfähig, allgemein (XML) Nachteile - operationale Perspektive - Datenperspektive - nicht komplett implementiert + Mathematische Korrektheit durch Petri Netze Friedrich-Schiller-Universität Jena Tino Liebeskind
19
Friedrich-Schiller-Universität Jena Tino Liebeskind
Agenda Workflow Management Systeme & Frameworks YAWL jBPM Demonstration Friedrich-Schiller-Universität Jena Tino Liebeskind
20
Friedrich-Schiller-Universität Jena Tino Liebeskind
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 (und 4 RC1) Friedrich-Schiller-Universität Jena Tino Liebeskind
21
jBPM – Lizenz und Verbreitung
jBPM ist Bestandteil des Open Source Applikationsservers JBOSS von JBOSS Inc. Open Source (LGPL) JBoss Inc. zu Red Hat gehörig -> koordiniert Weiterentwicklung und bietet Dienstleistungen dazu. 1,186 Downloads pro Woche Friedrich-Schiller-Universität Jena Tino Liebeskind
22
Friedrich-Schiller-Universität Jena Tino Liebeskind
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 jPDL = process definition language GPD = Graphical Prcess Designer Friedrich-Schiller-Universität Jena Tino Liebeskind
23
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 BPS = Business Process Simulation Friedrich-Schiller-Universität Jena Tino Liebeskind
24
Friedrich-Schiller-Universität Jena Tino Liebeskind
jBPM -Sprache Note 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 Wartezustand Eigene Notetypen Mit eigenem Verhalten möglich Friedrich-Schiller-Universität Jena Tino Liebeskind
25
Friedrich-Schiller-Universität Jena Tino Liebeskind
jBPM - Architektur Friedrich-Schiller-Universität Jena Tino Liebeskind
26
jBPM - Implementierung
Friedrich-Schiller-Universität Jena Tino Liebeskind
27
Friedrich-Schiller-Universität Jena Tino Liebeskind
jBPM - Designer Friedrich-Schiller-Universität Jena Tino Liebeskind
28
Friedrich-Schiller-Universität Jena Tino Liebeskind
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
Friedrich-Schiller-Universität Jena Tino Liebeskind
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 Kompatibel mit allen J2EE basierten Technologien wie Web Services, Java Messaging, J2EE Connectors, JDBC, and EJBs Friedrich-Schiller-Universität Jena Tino Liebeskind
30
Friedrich-Schiller-Universität Jena Tino Liebeskind
Agenda Workflow Management Systeme & Frameworks YAWL jBPM Demonstration Friedrich-Schiller-Universität Jena Tino Liebeskind
31
Friedrich-Schiller-Universität Jena Tino Liebeskind
Demonstration YAWL GUI Excecution jBPM Friedrich-Schiller-Universität Jena Tino Liebeskind
32
Friedrich-Schiller-Universität Jena Tino Liebeskind
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) Friedrich-Schiller-Universität Jena Tino Liebeskind
33
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL – Sprache Workflow 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 weiter 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
34
Friedrich-Schiller-Universität Jena Tino Liebeskind
YAWL – Symbole Friedrich-Schiller-Universität Jena Tino Liebeskind
35
YAWL - Implementierung
YAWL Designer / Editor: Workflow Specifications entwerfen YAWL Manager: Manuelle Organisation der vorhandenen Workflow Spezifikationen (löschen, laden…) Definition der Organsisationsstruktur YAWL Engine: Hauptkomponente des Systems Verifizieren, Registrieren und Instanzieren von Workflow Spezifikationen Organisation der Cases (Instanzierte Spezifikationen) Designer und Editor können optional um YAWL specification analysis utility wofyawl.exe von Eric Verbeek ergänzt werden Friedrich-Schiller-Universität Jena Tino Liebeskind
36
YAWL - Implementierung
YAWL Repository: Menge von „runnable“ WF Spezifikationen YAWL Worklisthandler (INBOX): User sieht in der Worklist, was er zu tun hat Bei Beendigung wird System benachrichtigt YAWL Webservicebroker: Vermittler zwischen der Engine und externen Web Services YAWL Interopbroker: Schnittstelle zu anderen Workflow Engines WFs in Reposotory durch Engine bereits verifiziert und registriert Custom YAWL Service: Beispiele: Drucker, Mobile Geräte, … Friedrich-Schiller-Universität Jena Tino Liebeskind
37
Friedrich-Schiller-Universität Jena Tino Liebeskind
jBPM - Sprache Note automatische Ausführung in jBPM Runtime Task Note Webmaske für Benutzerinteraktion Join Prozesssynchronisierung Folk Prozessparallelisierung Decision Automatische Entscheidungen Start-/End-State Start- und Endzustand Wait-State Wartezustand Eigene Notetypen Mit eigenem Verhalten möglich Friedrich-Schiller-Universität Jena Tino Liebeskind
38
Friedrich-Schiller-Universität Jena Tino Liebeskind
jBPM -Sprache Friedrich-Schiller-Universität Jena Tino Liebeskind
39
jBPM - Implementierung
Process Engine Plain Java (J2SE) Library als die Runtime Environment für Prozessdefinitionen und Ausführung von Instanzen Kann in jegliche Java Umgebung integriert werden (Web-Applikation, Swing-Applikation, Webservices) Status-, Variablen- und Taskmanagement laufender Prozesse Integrierter Prozess Timer und Audit-Logging aktiver Prozesse Enthält: Request Handler als Kommunikationsinfrastruktur Interaction Services für Anbindung existierender Dienste State Manager für Verzahnung von Prozessen und Daten Friedrich-Schiller-Universität Jena Tino Liebeskind
40
jBPM - Implementierung
Web Konsole / Process Monitor Userinterface um mit Prozesstasks zu interagieren Administrierungs-, Monitoring- und Tracking-Konsole um Instanzen zu analysieren und zu manipulieren Graphischer Designer (GPD) Unterstützt Business Analyst und Developer per View Weicher Übergang von Business Process Modelling zur praktischen Implementierung Job Executer Ausführung und Monitoring von Jobs in Java-Umgebungen Jobs für Timer und asynchrone Messages Instanzen analysieren um Flaschenhälse oder Optimierungsmöglichkeiten zu finden Jobs wenn weder JMS noch EJB verfügbar Friedrich-Schiller-Universität Jena Tino Liebeskind
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.