A Platform for Complex Event Processing Einführung Business Process Technology Prof. Dr. Mathias Weske Matthias Kunze Nico Herzberg
Business Process Technology Seit 2001 Untersuchung realer Probleme des BPM, Lösung dieser mit formalen Ansätzen und Entwicklung nutzbarer Prototypen Prozess-Monitoring und Event Processing Abstraktion, Konsistenz, Konformität von Prozessmodellen Prozess-Choreographien, Modellierungsmethodiken BPM Academic Initiative Projekte Öffentlich: PIGE, NPB, GET Services Industrie: SAP, ebay, AOK, T-Systems, Software AG, Schenker, Signavio
Agenda Prozesse und Events Die EPP Motivation und Architektur Das Seminar Arbeitspakete Das Seminar Organisation und Leistungserfassung
Prozesse und Events
Geschäftsprozesse Ein Geschäftsprozess besteht aus einer Menge von Aktivitäten, die in einer organisatorischen und technischen Umgebung koordiniert ausgeführt werden. Diese Aktivitäten tragen zu einem Unternehmensziel bei.
Geschäftsprozessmanagement Geschäftsprozessmanagement beinhaltet Konzepte, Methoden und Techniken für das Design, die Administration, die Konfiguration, die Ausführung und die Analyse von Geschäftsprozessen. Evaluation: Process Mining Business Activity Monitoring Evaluation Enactment: Operation Monitoring Maintenance Enactment Administration: User, Software and Process Admin Configuration Design & Analysis Design: Business Process Identification and Modeling Analysis: Validation Simulation Verification Configuration: System Selection Implementation Test and Deployment M. Weske: Business Process Management, Springer, 2012.
Events Während der Ausführung von Prozessen treten Ereignisse auf. Ein Ereignis findet zu einem bestimmten Zeitpunkt an einem bestimmten Ort in einem bestimmten Kontext statt. Diese Ereignisse werden evtl. in IT-Systemen repräsentiert, sog. Raw Events. Diese Eventinformationen können Aufschluss über die konkrete Ausführung von Prozessen geben, z.b. wie lange hat eine bestimmte Aktivität gedauert.
Die EPP Motivation und Architektur
Motivation Nutzen von Eventinformationen zur Überwachung, Analyse und Steuerung von Geschäftsprozessen Besondere Anforderungen in Umgebungen, in denen Prozesse nicht automatisiert, z.b. durch eine Process Engine, ausgeführt werden Monitoring und Analyse sind essentiell für die Verbesserung von Prozessen.
Event Processing Konzept Process Model Container needs to be cooled Ship arrived Store Container Uncooled Store Container Cooled Truck available Load Container onto Truck Reload Container to other Truck Transport Container Technical defect occured Unload Truck Process Event Monitoring Point PEMP A PEMP B PEMP C PEMP D PEMP E PEMP F Process Event Type PET 1 PET 2 PET 3 PET 4 PET 5 Normalized Event Type NET Ship NET Ware NET Truck NET Driver NET Def NET Del Event Sources
Platform Architektur User Interface R Event Processing Platform R Query Processor Persistence Layer Broker Process Model Event Types Container needs to be cooled Events Ship arrived R Queries Store Processes Container Uncooled Process Instances Store Container Cooled Truck available Load Container onto Truck Reload Container to other Truck Technical occured Transport Container Transformation Processor Process Event Monitoring Point Monitoring Correlation Processor Processor Process Event Type PEMP A Monitoring PEMP B Points PEMP C PEMP D PEMP E Aggregation PET 1 Rules PET 2 PET 3 PET 4 Normalized Event Type Event Receiver BPMN NET Ship Models NET Ware NET Truck NET Driver NET Def Database R Event Sources Event Producer 1 Event Producer n
Arbeitspakete
Refactoring der Architektur Enge Verknüpfung zwischen Anwendungslogik der Plattform mit der Benutzeroberfläche (umgesetzt mit dem Framework Wicket) Konzept "Separation of Duties à Trennung von Anwendungslogik und Benutzeroberfläche Möglichkeit für den Einsatz alternativer Frontends oder auch der Kommunikation über Web Services Identifikation von Abhängigkeiten à neue Schnittstellen Bestandteil der Aufgabe ist sowohl die Konzeption, als auch die Umsetzung der Architekturänderungen zur Trennung von Anwendungslogik und Benutzeroberfläche
Etablierung eines Berechtigungskonzepts Inhalte dürfen nur bestimmten Nutzern zur Verfügung gestellt werden Authentifizierung der Benutzer (Anmeldung) Autorisierung des Zugriffs auf Inhalte Konzeptionelle Erweiterung des existierenden Berechtigungskonzepts auf Events und Prozessmodelle sowie deren Umsetzung
Erweiterung des Query-Editors für Monitoring Event-Queries (ähnlich zu SQL) zur Abfrage über zusammenhängende Events Abfrage von Events nur über Queries, die aus einen Prozessmodell generiert wurden, oder durch explizit erstellt wurden Letzteres ist nicht benutzerfreundlich und fehleranfällig Generierung von Event-Queries ohne Prozessmodell inkl. Speicherung und Ausführung Einsatz dieser Queries für das Monitoring von Prozessen Bestandteil der Aufgabe ist sowohl die Konzeption, als auch die Umsetzung des Query-Editors ohne Prozessmodell.
Performance Analyse Plattform muss eine große Menge an Events aus verschiedenen Quellen erfassen und verarbeiten Tatsächliche Leistungsfähigkeit noch nicht überprüft Lasttest der Event Processing Plattform und Analyse der Ergebnisse Analyseergebnissen à Verbesserungsvorschläge (Gewichtung und ggf. Umsetzung) Bestandteil der Aufgabe ist sowohl die Konzeption des Lasttests und dessen Auswertung, als auch die Erarbeitung und Umsetzung von Verbesserungsvorschläge.
Organisation und Leistungserfassung
Nächste Schritte Priorisierung aller 4 vorgestellten Themen bis 18.10.2013 10 Uhr per Mail an nico.herzberg@hpi.uni-potsdam.de und matthias.kunze@hpi.uni-potsdam.de Themenzuordnung erfolgt am 18.10.2013 Belegung des Seminars bis 22.10.2013 Wöchentliche Veranstaltung jeden Dienstag 11 Uhr im Raum H-2.57 22.10.2013 Einführung in die Versionsverwaltung mit git 19.11.2013 Präsentation der Analyseergebnisse und des weiteren Vorgehens 07.01.2014 Zwischenpräsentation erster Implementierungsergebnisse 04.02.2014 Abschlusspräsentation
Leistungserfassung Die Themen werden in Gruppen bearbeitet. Der Leistungserfassungsprozess für das Seminar umfasst die folgenden Leistungen: regelmäßige und aktive Teilnahme am Seminar Zwischen- und Abschlusspräsentationen Implementierung samt Quellcodedokumentation (JavaDoc) Verfassen einer Entwicklerdokumentation (ca. 5 Seiten) JUnit Tests
Fragen
Prozessmodelle und -instanzen Ein Prozessmodell spezifiziert eine Menge von Aktivitäten und deren Ausführungsbedingungen Eine Prozessinstanz repräsentiert einen konkreten Fall im operativen Geschäft des Unternehmens Jedes Prozessmodell agiert als Vorlage für Prozessinstanzen Jeder Geschäftsprozess wird in genau einer Organisation ausgeführt, kann aber mit Prozessen anderer Organisationen interagieren Ausführung einer Prozessinstanz nennt man Orchestrierung, während deren Interaktion Choreographie genannt wird.