Monitoringvon Workflows in einer BPEL-Engine Autor: Stefan Berntheisel Datum: 23. Februar 2010 Stefan Berntheisel Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10
Agenda Was darf man erwarten? Einführung Motivation Grundlagen Projekt Vergleich und Auswahl verschiedener BPEL-Engines Entwicklung eines Konzeptes für das Monitoring einer BPEL-Engine Implementierung eines Beispiel-Szenarios DEMO Fazit Performance Analyse Stefan Berntheisel Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10 2
Einführung Das sollte bekannt sein Geschäftsprozesse Web Services BPEL Consumer BPEL-Process Receive Provider A Invoke Invoke Reply Provider B 3
Motivation Wieso, Weshalb, Warum? Zustandsermittlung über Ereignisnachrichten (Events) Monitoring als Grundlage für Management Verknüpfen von internen Ereignissen mit externen Ereignissen Prozesssteuerung (Manipulation) Events Blackbox (BPEL-Engine) Event-Monitor (Logic) Management-API Action Action 4
Grundlagen BPEL-Event-Modell Spezifiziert durch das Institut für Architektur von Anwendungssystemen an der Universität Stuttgart BPEL-Event-Modell abgeleitet aus der BPEL-Spezifikation Ereignismodelle: Prozess Aktivitäten innerhalb eines Prozesses Gültigkeitsbereich, Schleifen, Links 5
Grundlagen BPEL-Event-Modell - Aktivitäten-Event-Modell Inactive Dead Path Ready Executing Events Activity_Ready Activity_Executing Activity_Executed Activity_Completed Activity_Dead_Path Activity_Terminated Activity_Faulted Blockierend X X X Faulted Waiting Terminated Completed 6
Projekt Vergleich verschiedener BPEL-Engines Apache ODE JBoss jbpm SUN OpenESB BPELSE ActiveEndpoints ActiveBPEL/VOS Event-Framework vorhanden nicht vorhanden vorhanden vorhanden Übereinstimmung mit Event-Modell teilweise nein keine Daten fast vollständig Event-Logging gut - vorhanden sehr gut Management-API gut - befriedigend sehr gut Handhabung gut - aufwendig sehr gut Dokumentation gut befriedigend schlecht sehr gut Stefan Berntheisel Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10 7
Projekt Entscheidung für ActiveVOS Fast vollständige Unterstützung des Event-Modells Unterstützung für blockierende Events Management-API mit größtem Funktionsumfang Verschiedene Modellierungs- und Management-Tools Integration von ESPER ActiveBPEL Engine ActiveVOS ActiveBPEL Engine ActiveBPEL-Architektur -Quelle: [JN05] 8
Projekt Überblick ActiveBPEL/VOS Event-Modell ActiveBPEL Aktivität-Event-Modell Quelle: [DW05] 9
Projekt Konzept: Beispiel Geschäftsprozess Node_0: EXECUTE = START Node_4: EXECUTE = EVEN Node_7: EXECUTE = ODD Stefan Berntheisel Node_0: EXECUTE_COMPLETE = END Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10 10
Projekt Konzept: Logging ActiveVOS enthält BIRT (Business Intelligence and Reporting Tools) Verschiedene Log-Levels: NONE, EXECUTION, EXECUTION WITH DATA und FULL Stefan Berntheisel Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10 11
Projekt Konzept I: Administration SDK Monitoringüber das Registrieren von Listenern mit Hilfe des Administration SDK AddProcessListener, AddBreakpointListener, AddEngineListener RemoveProcessListener, RemoveBreakpointListener, RemoveEngineListener UpdateBreakpointList In ActiveVOSnur innerhalb des Remote-Debuggings und Simulationsmodus möglich Alternativ: Direkter Zugriff über Java-Interface? 12
Projekt Konzept II: ESPER ESPER ist ein ESP (Event Stream Processor) mit dem CEP (Complex Event Processing) betrieben werden kann. Complex Event Processing Hoher Durchsatz von Prozessdaten Real-Time oder Near Real-Time Komplexe Event-Berechnungen Event Korrelation Event Filter Event Aggregation Event Trigger CEP ist die Grundlage für BAM (Business Activity Monitoring) Stefan Berntheisel Hochschule RheinMain Management Verteilter Systeme und Anwendungen WS 09/10 13
Projekt Konzept II: ESPER - Event Stream Processor Event Stream Processing Quelle: www.espertech.com 14
Projekt Konzept II: ESPER - Architektur ESPER Architektur Quelle: www.espertech.com Statements: Korrelation, Aggregation, Filtern Pattern: Trigger 15
Projekt Entwurf zur Implementierung ActiveVOS BPEL - Engine Business-Process Client Action-Process Monitor ESPER Event- Framework MEM DB 16
Demo Was wird in der DEMO gezeigt? Das Beispiel-Szenario (Client, Monitor, Eventing, etc.) Deployment der BPEL- und Action-Prozesse ESPER Pattern EVENT Logging ActiveVOSConsole 17
Projekt Performance Durchschnittliche Antwortzeit am Client Config(E:100, P:4) Config(E:10, P:4) 86,54 84,88 Config(E:4, P:4) Config(E:100, P:1) 76,01 75,81 Config(E:10, P:1) Config(E:4, P:1) Config(E:100, P:0) Config(E:10, P:0) Config(E:4, P:0) Config(E:0, P:0) 60,38 57,57 53,94 51,12 50,79 50,63 E:* = events 0 10 20 30 40 50 60 70 80 90 100 P:* = pattern matches 18
Fazit ActiveVOS unterstützt das BPEL-Event-Modell fast vollständig Kein Zugriff auf das Event-Framework über Management-API Verarbeitung der Events über ESPER als CEP-Framework Event-Logging für nachgelagerte Analysen Persönliche Erfahrung: Einsatz von BPEL in der Praxis ActiveVOS Complex Event Processing 19
Fragen? 20
Vielen Dank 21
Quellen [TS08] - Thomas Steinmetz Universität Stuttgart Ein Event-Modell für WS-BPEL 2.0 und dessen Realsierung in Apache ODE [DW05] - Daniel Wutke Universität Stuttgart Erweiterung einer Workflow-Engine zur Unterstützung von parametrisierten Web Service Flows [JN05] - Jörg Nitzsche - Universität Stuttgart Entwicklung eines Monitoring-Tools zur Unterstützung von parametrisierten Web Service Flows 22