Process Monitoring mit Camunda

43
MONITORING UND KPIS MIT CAMUNDA BPM HOLGER HAGEN, NOVATEC CONSULTING GMBH ERIC KLIEME, NOVATEC CONSULTUNG GMBH

Transcript of Process Monitoring mit Camunda

Page 1: Process Monitoring mit Camunda

MONITORING UND KPIS

MIT CAMUNDA BPM

HOLGER HAGEN, NOVATEC CONSULTING GMBH

ERIC KLIEME, NOVATEC CONSULTUNG GMBH

Kundenlogo bitte

hier platzieren

Page 2: Process Monitoring mit Camunda

AGENDA

Page 3: Process Monitoring mit Camunda

VORSTELLUNG

CAMUNDA

Page 4: Process Monitoring mit Camunda

KURZVORSTELLUNG

NOVATEC

Page 5: Process Monitoring mit Camunda

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

Page 6: Process Monitoring mit Camunda

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

Page 7: Process Monitoring mit Camunda

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

Page 8: Process Monitoring mit Camunda

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

Page 9: Process Monitoring mit Camunda

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

Page 10: Process Monitoring mit Camunda

GRUNDLAGEN

PROZESSMONITORING

Page 11: Process Monitoring mit Camunda

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

Page 12: Process Monitoring mit Camunda

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 camundaBPM 12

Page 13: Process Monitoring mit Camunda

Messpunkte können über intermediate Events auch explizit gemacht werden.

23.11.2015 Monitoring und KPIs mit camundaBPM 13

Wieviele Vorgänge

waren bereits

bearbeitet?

Vorteile:

• Explizit sichtbar im Prozess

• Erleichtert die Diskussion mit

den Prozessverantwortlichen

• Leichtere Auswertung / leichtere

Erstellung von Reports

Page 14: Process Monitoring mit Camunda

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

Page 15: Process Monitoring mit Camunda

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

Inputm

anagem

ent

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?

Page 16: Process Monitoring mit Camunda

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?

Page 17: Process Monitoring mit Camunda

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

Page 18: Process Monitoring mit Camunda

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

Page 19: Process Monitoring mit Camunda

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

Page 20: Process Monitoring mit Camunda

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

Page 21: Process Monitoring mit Camunda

… 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

Page 22: Process Monitoring mit Camunda

EINBLICK IN DIE TECHNIK

Page 23: Process Monitoring mit Camunda

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

Page 24: Process Monitoring mit Camunda

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

Page 25: Process Monitoring mit Camunda

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

Page 26: Process Monitoring mit Camunda

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

Page 27: Process Monitoring mit Camunda

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

Page 28: Process Monitoring mit Camunda

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

Page 29: Process Monitoring mit Camunda

Der Lebenszyklus als implizite Informationsquelle – Task Lifecycle BPMN

30 23.11.2015 Monitoring und KPIs mit camundaBPM

Page 30: Process Monitoring mit Camunda

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

Page 31: Process Monitoring mit Camunda

DEMO

Page 32: Process Monitoring mit Camunda

Ü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

Page 33: Process Monitoring mit Camunda

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

Page 34: Process Monitoring mit Camunda

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

Page 35: Process Monitoring mit Camunda

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

Page 36: Process Monitoring mit Camunda

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

Page 37: Process Monitoring mit Camunda

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

Page 38: Process Monitoring mit Camunda

DEMO

Page 39: Process Monitoring mit Camunda

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

Page 40: Process Monitoring mit Camunda

Ehemaliges „Heatmap“ Community Plugin ist in EE Edition 7.4 enthalten

23.11.2015 Monitoring und KPIs mit camundaBPM 41

Page 41: Process Monitoring mit Camunda

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

Page 42: Process Monitoring mit Camunda

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

Page 43: Process Monitoring mit Camunda

VIELEN DANK FÜR EURE AUFMERKSAMKEIT

WWW.NOVATEC-GMBH.DE

HOLGER HAGEN, NOVATEC CONSULTING GMBH

ERIC KLIEME, NOVATEC CONSULTUNG GMBH

Kundenlogo bitte

hier platzieren