Process Monitoring mit Camunda

1.677 Aufrufe

Veröffentlicht am

Monitoring und KPIs mit Camunda BPM

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Process Monitoring mit Camunda

  1. 1. MONITORING UND KPIS MIT CAMUNDA BPM HOLGER HAGEN, NOVATEC CONSULTING GMBH ERIC KLIEME, NOVATEC CONSULTUNG GMBH Kundenlogo bitte hier platzieren
  2. 2. AGENDA
  3. 3. VORSTELLUNG CAMUNDA
  4. 4. KURZVORSTELLUNG NOVATEC
  5. 5. Die NovaTec Unternehmensgruppe gliedert sich in drei eigenständige operative Einheiten. Diese sind 100%-Töchter der NovaTec Holding GmbH. NovaTec Holding GmbH NovaTec Consulting GmbH NovaTec Solutions GmbH NovaTec Products GmbH Ganzheitliche IT- Beratung, Produktvorentwicklung Lösungen und Dienstleistungen im Bereich IT-Strategie und IT-Management Produktentwicklung, Product Lifecycle Management, Produktberatung Berlin Frankfurt/Main München Stuttgart (Zentrale) Jeddah (Saudi-Arabien) 5 23.11.2015 Monitoring und KPIs mit camundaBPM
  6. 6. Unsere Kernkompetenzen Dienstleistungsportfolio Unser Anspruch: Tiefes Spezialwissen und eine fundierte Beratung, die nicht nur kurzfristig Probleme löst. Sondern nachhaltige und strategische Vorteile bietet. Data Center Automation Enterprise Application Development Application Performance Management Agile Methods Enterprise Application Integration Business Process Management Enterprise Mobility 6 23.11.2015 Monitoring und KPIs mit camundaBPM
  7. 7. Softwarelösungen für alle Anforderungen Produktportfolio Mit unserer langjährigen Themenkompetenz und dem einzigartigen Know-how erfüllen unsere Produkte die Anforderungen unserer Kunden punktgenau. Provisioning Lizenzmanagement Lasttest Performanceanalyse 7 23.11.2015 Monitoring und KPIs mit camundaBPM
  8. 8. Damit wir unseren Kunden immer die optimalen Lösungen bieten können, haben wir mit verschiedenen IT-Unternehmen umfassende Partnerschaften geschlossen. 8 23.11.2015 Monitoring und KPIs mit camundaBPM
  9. 9. Wir führen Kooperationen mit zahlreichen Hochschulen und Bildungspartnern, um technologisch und methodisch immer auf der Höhe der Zeit zu sein, junge Talente zu fördern und den technischen Fortschritt aktiv mitzugestalten. 9 23.11.2015 Monitoring und KPIs mit camundaBPM
  10. 10. GRUNDLAGEN PROZESSMONITORING
  11. 11. Der Business Process Management-Zyklus 11 Modellierung Simulation Optimierung Umsetzung und Ausführung Überwachung  Aufnahme der Geschäftsprozesse (SOLL bzw. IST)  Definition von KPIs  Zuweisung von Ressourcen Reaktion in Echtzeit Einflussnahme auf die Prozessabläufe durch Anpassung der Regeln und Parameter Kontinuierliche Prozessverbesserung Einflussnahme auf die Prozessabläufe durch Anpassung des Modells auf Grund von Erkenntnissen aus dem laufenden Betrieb  Überwachung der definierten KPIs  Benachrichtigung bei kritischen Abweichungen  Prüfung von Varianten  Korrektur der identifizierten Schwachstellen  Simulation der Modelle  Prüfung auf Schwachstellen (z.B. Engpässe, überflüssige Tätigkeiten, lange Wartezeiten, etc.)  Funktionale und Lasttests  Umsetzung der Prozesse (idealerweise IT-unterstützt mit einer Prozesslaufzeit- umgebung)  Anbindung an die Umsysteme  Etablierung der Schnittstellen 23.11.2015 Monitoring und KPIs mit camundaBPM
  12. 12. Ein einfaches Beispiel Wieviele Prozesse laufen aktuell? Wieviele Aufgaben liegen aktuell an? Wieviele Prozesse sind heute gestartet worden? Was war die Durchlaufzeit meiner Prozesse? 23.11.2015 Monitoring und KPIs mit camundaBPM12
  13. 13. Messpunkte können über intermediate Events auch explizit gemacht werden. 23.11.2015 Monitoring und KPIs mit camundaBPM13 Wieviele Vorgänge waren bereits bearbeitet? Vorteile: • Explizit sichtbar im Prozess • Erleichtert die Diskussion mit den Prozessverantwortlichen • Leichtere Auswertung / leichtere Erstellung von Reports
  14. 14. In manchen Szenarien sollen die Messpunkt bzw. Meilensteine auch in einem externen System (z.B. einem Geschichtsbuch) abgelegt werden. 14 Vorteile: • Nutzung eines eigenen, dedizierten Datenmodells für die Events • Ablage der Informationen in einem separaten Datentopf, losgelöst vom Lifecycle der Prozessinstanz (interessant möglicherweise sowohl für die Sachbarbeiter als auch für die Revision) • (Noch) leichtere Erstellung von Auswertungen Reports auf Grund der eigenen Datenstruktur 23.11.2015 Monitoring und KPIs mit camundaBPM
  15. 15. Bei der Nutzung einer externen Ablage können auch weitere Systeme angebunden werden, um übergreifende Aspekte zu überwachen 15 23.11.2015 Monitoring und KPIs mit camundaBPM Postkorb- anwendung Inputmanagement Werden alle Vorgänge erfolgreich an das nächste System übergeben? Wie oft werden Aufgaben an andere Bereiche im Unternehmen weitergeleitet? Fach- anwendung Wie oft musste bei der Bearbeitung ein neuer Partner/Beteiligter im System angelegt werden?
  16. 16. Handelt es sich bei der Bearbeitung um eine Fallbearbeitung, so wird das übergreifende Monitoring noch interessanter… 16 23.11.2015 Monitoring und KPIs mit camundaBPM Fach- anwendung ????????? Auf Grund des weniger strukturierten Ablaufs sind Auswertungen zum Ablauf umso interessanter: • Wie lief der Fall ab? • Gibt es wiederkehrende Muster in der Bearbeitung? • Kann ich daraus Erkenntnisse für zukünftige Fälle ziehen?
  17. 17. 17 23.11.2015 Monitoring und KPIs mit camundaBPM Auf Basis eines Geschichtsbuchs oder ähnlichem lassen sich neben dem klassischen BI-Reports auch Algorithmen wie das Process Mining anwenden
  18. 18. 18 23.11.2015 Monitoring und KPIs mit camundaBPM Bis hierher ist das alles klassisches BI-Geschäft… Quelle: Akash Kapoor http://www.google.de/imgres?imgurl=http%3A%2F%2Felearning.greatlakes.edu.in%2Fpgpba%2Fblog%2Fwp-content%2Fuploads%2F2014%2F09%2Fakash- kapoor.png&imgrefurl=http%3A%2F%2Felearning.greatlakes.edu.in%2Fpgpba%2Fblog%2Ftransition-from-business-intelligence-to-web-analytics-role- perspective%2F&h=850&w=1791&tbnid=rXewqHcP8kmZmM%3A&zoom=1&docid=Zaz6NkUS_cMmSM&ei=NhiIVcvWBOj-ywOY- aWwAQ&tbm=isch&iact=rc&uact=3&dur=4685&page=2&start=39&ndsp=46&ved=0CKgBEK0DMCw
  19. 19. Muss noch schneller und zeitnah ausgewertet werden, so bietet sich eine Complex Event Processing (CEP) – Architektur an Quelle: Wikipedia (https://fr.wikipedia.org/wiki/Traitement_des_%C3%A9v%C3%A9nements_complexes#/media/File:Complex_Event_Processing.jpg) 19 23.11.2015 Monitoring und KPIs mit camundaBPM
  20. 20. Realtime Monitoring von Prozessen mit Complex Event Processing 20 23.11.2015 Monitoring und KPIs mit camundaBPM ??? Stehen die beiden Ereignisse im richtigen Verhätlnis zueinander? CEP-Plattform JBoss WSO2
  21. 21. … wer noch mehr wissen will, kann es auch mit Predictive Analytics versuchen. 21 Beispiel: Wieviel mehr Verträge würde ich abschließen, wenn eine Gesundheitsprüfung schneller durchgeführt würde? Die Wahrscheinlichkeit für die Policierung (Y = 4) eines Vertrages in Abhängigkeit der Durchlaufzeit in der Risikoprüfung und des Alters des Versicherungsnehmers kann nun durch folgende Formel berechnet werden: 23.11.2015 Monitoring und KPIs mit camundaBPM
  22. 22. EINBLICK IN DIE TECHNIK
  23. 23. Und nun zur Technik…[camundaBPM] Modellierung Simulation Optimierung Umsetzung und Ausführung Überwachung  Aufnahme der Geschäftsprozesse (SOLL bzw. IST)  Definition von KPIs  Zuweisung von Ressourcen Überwachung Bietet mir camunda Dashboards für meine KPIs? Gibt es Alerting-Möglichkeiten? Wie kann ich auf Auffälligkeiten reagieren? Modellierung Kann ich KPIs in camunda modellieren? Kann ich modellieren, welche Informationen gespeichert werden sollen und welche nicht?  Überwachung der definierten KPIs  Benachrichtigung bei kritischen Abweichungen  Prüfung von Varianten  Korrektur der identifizierten Schwachstellen  Simulation der Modelle  Prüfung auf Schwachstellen (z.B. Engpässe, überflüssige Tätigkeiten, lange Wartezeiten, etc.)  Funktionale und Lasttests  Umsetzung der Prozesse (idealerweise IT-unterstützt mit einer Prozesslaufzeit- umgebung)  Anbindung an die Umsysteme  Etablierung der Schnittstellen Umsetzung Welche historischen Daten speichert camunda für mich? Wie kann ich externe Datentöpfe anbinden? 23 23.11.2015 Monitoring und KPIs mit camundaBPM
  24. 24. Umsetzung – die camundaBPM History-Architektur 24 • camundaBPM emittiert per-default einen Eventstrom für durchgeführte Aktionen (u.A. Start, End) im Kontext typischer Artefakte wie Tasks, Aktivitäten, Prozessinstanzen oder Cases • Standardmäßig wird dieser in die History Tabellen geschrieben, getrennt von Laufzeit Tabellen • Das Detaillevel der History ist konfigurierbar, es kann ein eigenes Level definiert werden • Es kann ein eigenes History-Backend verwendet werden History Level Umfang NONE Keine Events ACTIVITY Start, Update, End-Events von Aktivitäten, d.h. Prozesse, Tasks, Cases etc. AUDIT Zusätzlich für Variablen, nur neueste Version FULL Variablen-Historisierung, Taskoperation, Historische Jobs, Incidents AUTO Für mehrere Engines auf einer Datenbank CUSTOM Gemäß Anforderungen, bspw. auf Prozessdefinitionen oder bestimmte Aktivitäten oder Events begrenzt 23.11.2015 Monitoring und KPIs mit camundaBPM
  25. 25. Das Datenbankschema der Camunda History Tabellen 25 Abgeschlossene Usertasks Abgeschlossene Aktivitäten Durchgeführte Nutzeroperationen Abgeschlossene Entscheidungen 23.11.2015 Monitoring und KPIs mit camundaBPM Abgeschlossene Prozessinstanzen Parameter, die in Entscheidungen benötigt wurden
  26. 26. Anpassungsmöglichkeiten des History-Backends 26 Erstellt History Events, befüllt diese mit Informationen der Runtime-Artefakte und emittiert die Ereignisse - Erhält nur Ereignisse entsprechend Detail-Level Verarbeitet Events. Standardmäßig erfolgt die Speicherung in den History Tabelle Eigene Implementierung möglich Eigene Implementierung möglich 23.11.2015 Monitoring und KPIs mit camundaBPM
  27. 27. Modellierung von KPIs - BPMN 27 explizit implizit  Die History-Tabellen werden automatisch gefüllt (gemäß Level)  KPIs können auf Basis von automatisch abgespeicherten Informationen aggregiert werden  Die History-Tabellen werden automatisch gefüllt (gemäß Level)  Intermediate Events werden durchlaufen und hinterlassen dedizierte Einträge in der Aktivitäts-Tabelle  KPIs können auf Basis von dedizierten Einträgen ermittelt werden Woher weiß ich, dass dieser Pfad durchlaufen wurde? 23.11.2015 Monitoring und KPIs mit camundaBPM
  28. 28. Modellierung von KPIs – CMMN 28 23.11.2015 Monitoring und KPIs mit camundaBPM • CMMN besitzt explizite „Milestones“ um erreichbare (fachliche) Zustände zu modellieren  Milestones sind explizit in History aufzufinden Lebenszyklus Milestone
  29. 29. Der Lebenszyklus als implizite Informationsquelle – Task Lifecycle BPMN 30 23.11.2015 Monitoring und KPIs mit camundaBPM
  30. 30. Explizite Implementierung von Event-Logging in Prozessen / Cases 31  Mit Hilfe des Standard Task/Execution-Listener Konzeptes  Implementierung einer KPI/Messpunkt-Logik in notify-Methode  Annotieren der entsprechenden Tasks o. Aktivitäten im Modell  Kann durch eigenen Parse-Listener automatisiert im Hintergrund stattfinden  Einhängen in CDI-Event Bus mit Hilfe der „CDI Event Bridge“  Baut auf Publish/Subscribe Mechanismus von CDI auf  Definition von Events, Emittieren mit fire(), Observieren mit @Observes  camundaBPM bietet Filtermöglichkeiten  @BusinessProcessDefinition, @StartActivity, @EndActivity, @AssignTask… public void startArchiveDocuments(@Observes @BusinessProcessDefinition(“documentRouting") @StartActivity(“archive documents") BusinessProcessEvent evt) { // handle event } public void endArchiveDocuments(@Observes @BusinessProcessDefinition(“documentRouting") @EndActivity(“archive documents") BusinessProcessEvent evt) { // handle event } Beispiel 23.11.2015 Monitoring und KPIs mit camundaBPM
  31. 31. DEMO
  32. 32. Überwachung von KPIs – camunda BPM 33 Definition eigener Queries Zugriff auf HistoryService via Java- und REST-API Plugin-Schnittstelle Zugriff von extern möglich: - Nagios - ELK-Stack - … 23.11.2015 Monitoring und KPIs mit camundaBPM
  33. 33. Zugriff via Java-API oder REST-API 34  camundaBPM stellt HistoryService für Abfragen an History-Tabellen bereit (Fluent-API):  camundaBPM stellt REST-Schnittstelle für Abfragen an History-Tabellen bereit: historyService.createHistoricProcessInstanceQuery().finished() .processDefinitionId(„inputRouting").orderByProcessInstanceDuration().desc().listPage(0, 100); historyService.createHistoricDetailQuery().variableUpdates().processInstanceId("123") .orderByVariableName().asc().list() historyService.createUserOperationLogQuery().successLog().list(); Beispiel 23.11.2015 Monitoring und KPIs mit camundaBPM
  34. 34. Erstellen eines Cockpit- (oder Tasklist-) Plugins 35 Einbindung in Cockpit via Java ServiceLoader Facilities  Ermöglicht Einbindung neuer Funktionalität ohne Modifikation des Source-Codes  Vorgabe definierter Service- Interfaces und Klassen für Implementierung  Bspw. Ressourcen  Standard-Bestandteile vom Cockpit sind als Plugin umgesetzt  Positionierung eines Plugins wird über Plugin-Points definiert  Camunda Plugin-Store ermöglicht das individuelle Zusammenstellen der Plugins zu einem Cockpit  http://camunda.org/plugins/ Cockpit-Architektur 23.11.2015 Monitoring und KPIs mit camundaBPM
  35. 35. Definieren eigener Abfragen an die Datenbank [Kontext: Cockpit-/Tasklist-Plugin] 36  SQL Definition wird in einem XML abgelegt  Das Mapping der Datenelemente erfolgt dann mittels eines DTOs  MyBatis hat weitere Möglichkeiten die SQL Abfragen zu manipulieren  Einfache Logik-Konstrukte wie if/else möglich (bspw. für Nutzung datenbankspezifischer Funktionen)  Auslagern von wiederverwendbaren Bestandteilen 23.11.2015 Monitoring und KPIs mit camundaBPM
  36. 36. Das Camunda Statistics Plugin – Community Extension der NovaTec 37  Cockpit-Plugin, welches Informationen aus History-Datenbank visualisiert  Durchlaufzeiten von Prozessinstanzen, Aktivitäten, Cases  Start/Ende von Prozessinstanzen / Aktivitäten 23.11.2015 Monitoring und KPIs mit camundaBPM
  37. 37. Camunda Statistics Plugin – Verwendete Technologien 38 Angular JS • Services für Querschnittsfunktion [Singleton], bspw. Zugriff auf Ressourcen • Controller für Verknüpfung von Frontend mit Services, bspw. Verknüpfen von Daten mit Plots • Directives um HTML spezifisch anzureichern, auf Attribut oder Element-Ebene  <plot></plot> • Shipped with camundaBPM D3.js, nvd3 • JavaScript Visualisierungsframework auf Basis von HTML, SVG und CSS (Open Source) • Kombination mit Angular führt zu Anwendung auf Basis von Directives Twitter Bootstrap, angular-ui.bootstrap • CSS Framework bereitgestellt durch Twitter • Shipped with camundaBPM (kombiniert mit Angular auf Basis von Directives) Camunda REST API & Custom Queries • Custom Queries für direkte Aggregation auf Datenbank-Ebene (AVG, MIN, MAX) • REST-API für restliche Daten, Aggregation mit JavaScript HTML 5 Local Storage • Speichern von Plugin-Konfiguration 23.11.2015 Monitoring und KPIs mit camundaBPM
  38. 38. DEMO
  39. 39. Camunda Statistics Plugin – Roadmap / geplante Features 40 Blogbeitrag über aktuelle Features: • http://blog.novatec-gmbh.de/camunda-cockpit-plugin-part-1/ • http://blog.novatec-gmbh.de/camunda-cockpit-plugin-part-2/ • http://blog.novatec-gmbh.de/camunda-cockpit-plugin-part-3/ Performance Optimierung Case KPIs Visualisierung von Fachdaten Generische / Manuelle Auswertung von KPIs To be continued… Camunda Community Contributions sind Open Source und stehen unter der Apache License …feel free to contribute ;) 23.11.2015 Monitoring und KPIs mit camundaBPM
  40. 40. Ehemaliges „Heatmap“ Community Plugin ist in EE Edition 7.4 enthalten 23.11.2015 Monitoring und KPIs mit camundaBPM41
  41. 41. Exkurs: Integration in ein Complex-Event-Processing System [WSO2 CEP] 42 CEP Dashboard JMS, HTTP, SOAP, Kafka bspw. via eigenem HistoryEventHandler camundaBPM JMS, HTTP, SOAP, Kafka … Data Warehouse Elasticsearch „Realtime“ Erste Aggregation … Fachliche Historisierung 23.11.2015 Monitoring und KPIs mit camundaBPM
  42. 42. Zusammenfassung: Monitoring und KPIs mit camundaBPM 43 • camundaBPM bietet out-of-the-box bereits eine umfangreiche, anpassbare und erweiterbare Historisierung: • Out-of-the-box History-Datenbank mit definierten Leveln • Eigene History-Eventhandler bzw. eigene History-Level möglich • Explizites Modellieren oder Implementieren von Event-Logging • Implizites Event-Logging durch Plugins • Bereitstellung von Schnittstellen für Abfrage und Präsentation • HistoryService-API • Plugin-Mechanismus für Tasklist oder Cockpit • REST-API 23.11.2015 Monitoring und KPIs mit camundaBPM
  43. 43. VIELEN DANK FÜR EURE AUFMERKSAMKEIT WWW.NOVATEC-GMBH.DE HOLGER HAGEN, NOVATEC CONSULTING GMBH ERIC KLIEME, NOVATEC CONSULTUNG GMBH Kundenlogo bitte hier platzieren

×