62
BPMN UND WORKFLOWS IN .NET – DAS GEHT! 21. Februar 2017 | Michael Prüfer & Bernd Rücker Basta! 2017 [email protected]

BPMN und Workflows in .NET

Embed Size (px)

Citation preview

Page 1: BPMN und Workflows in .NET

BPMN UND WORKFLOWS IN .NET – DAS GEHT!

21. Februar 2017 | Michael Prüfer & Bernd Rücker

Basta! 2017

[email protected]

Page 2: BPMN und Workflows in .NET

AUSGANGSSITUATION

Page 3: BPMN und Workflows in .NET

AUSSCHNITT STELLT SICH VOR

Medienbeobachtung

• 7.000 Printmedien• 2.500 TV-Sendungen in 90 TV Sendern• 4.500 Radio-Sendungen in 85 Radio-Sendern• 120.000 Online-Medien• 8 Nachrichtenagenturen

Medienspiegel

Medienanalyse

Page 4: BPMN und Workflows in .NET

AUSGANGSSITUATION

Legacy-System, mit klassischen Problemen

• Schnell gewachsenes System mit rapide geänderten Anforderungen• Effizienz und Effektivität• Dokumentation• Skalierbarkeit• Transparenz• Erweiterbarkeit• Deployment

Page 5: BPMN und Workflows in .NET

AUSGANGSSITUATION

Folge: hohe Wartungs- und Weiterentwicklungskosten

Kommunikation über Systemabläufe mit Fachabteilungen schwierig

Page 6: BPMN und Workflows in .NET

AUSGANGSSITUATION

Neuentwicklung angestrebt unter Beachtung folgender Punkte

• Verfügbarkeit • Skalierbarkeit• Wartbarkeit• Erweiterbarkeit• Transparenz• Dokumentation

Page 7: BPMN und Workflows in .NET

AUSGANGSSITUATION

Architekturentwurf sah stark nach einem Workflow-Management-System aus

Idee, nach so etwas zu suchen (Wir können nicht die ersten sein die dieses Problem haben!)

Chef hatte da ne Idee :D => Camunda

Page 8: BPMN und Workflows in .NET

Was ist Workflow?

*auch bekannt als Business Process Management

Page 9: BPMN und Workflows in .NET

Beispiel

* Modelliert in BPMN = ISO Standard für Modellierung und Ausführung

Page 10: BPMN und Workflows in .NET
Page 11: BPMN und Workflows in .NET
Page 12: BPMN und Workflows in .NET

Realistischere Beispiele aus der Praxis

Page 13: BPMN und Workflows in .NET

Herausforderungen

Human Task Management

Service Orchestrierung

Events, z.B. Zeitsteuerung

Page 14: BPMN und Workflows in .NET

Was man braucht

Zustand

Lang laufende Prozesse

Timeouts & Eskalationen

Monitoring & Alarming

Page 15: BPMN und Workflows in .NET

Was man darüber hinaus möchte: Sichtbarkeit!

Page 16: BPMN und Workflows in .NET

Alarming bymanagement attention

Page 17: BPMN und Workflows in .NET
Page 18: BPMN und Workflows in .NET
Page 19: BPMN und Workflows in .NET

GET /engine/default/incident/count

{"count":1

}

Page 20: BPMN und Workflows in .NET
Page 21: BPMN und Workflows in .NET
Page 22: BPMN und Workflows in .NET
Page 23: BPMN und Workflows in .NET
Page 24: BPMN und Workflows in .NET
Page 25: BPMN und Workflows in .NET
Page 26: BPMN und Workflows in .NET
Page 27: BPMN und Workflows in .NET
Page 28: BPMN und Workflows in .NET

OK. Aber warum Camunda?

Page 29: BPMN und Workflows in .NET

The 7 sins of workflow and Java

Zero-code suites

Homegrownengine

No engine Wrong engine Wrong usage

4

6

5

7

Fragt mich später! Oder haltet ein Auge auf

@berndruecker

Page 30: BPMN und Workflows in .NET

„Death by properties panel“

Script:

Please enter your complex code here. (Without IDE support of course!)

Page 31: BPMN und Workflows in .NET

BPM Suites

By the way, we introduce an owndevelopment approach, IDE, version

control, user management, reporting, …

Page 32: BPMN und Workflows in .NET

Zero Code & Entwickler

Wir haben Probleme!

Es ist grauenvoll. Ich hasse BPM!

Page 33: BPMN und Workflows in .NET

Bernd Rücker

Mitgründer camunda> 10+ Jahre Workflow-

Erfahrung

@[email protected]

Camunda

Open Source BPM PlattformBerlin + San FranciscoInhabergeführt, kein

Fremdkapital> 60 Mitarbeiter - wachsend

Page 34: BPMN und Workflows in .NET

Camunda BPM

Ist eine

• entwicklerfreundliche

• Open Source – Plattform für

• Workflow & Business Process Management (BPM)

Geschäftsmodell: Enterprise Subscription

Unterstützt die Modellierung und Ausführung von

• BPMN 2.0

• CMMN 1.1

• DMN 1.1

Page 35: BPMN und Workflows in .NET

Kostenloses Poster verfügbar:

http://camunda.de/poster

Das Trio der Standards

Page 36: BPMN und Workflows in .NET

Geschäftsentscheidung mit DMN 1.1

https://github.com/StephenOTT/Gov-DMN-Dog-License-Pricing-Example

Page 37: BPMN und Workflows in .NET

Architektur

Cockpit

Modeler

DB

Tasklist Custom App

Business

Analyst

Java API

Engine

REST API

End User

Developer

Operator

Page 38: BPMN und Workflows in .NET

Alter!

Java ?????

Weißt du, wo du hier bist?

Page 39: BPMN und Workflows in .NET

Architekturvorschlag mit .NET

Camunda

DB

.NET Anwendung

(Logik, BPMN, Oberflächen, …)

Konsolenanwendung, WPF, …

Eigener Server(oder Cloud)

REST-API

Relationale Datenbank,z.B. MS-SQL Server

Page 40: BPMN und Workflows in .NET

.NET-Prozessanwendung

Camunda

Serviceaufrufe mit External Tasks

3.Complete

2. Logik ausführen

1.Fetch and lock

Page 41: BPMN und Workflows in .NET

LiveDemo

Page 42: BPMN und Workflows in .NET

External Task Workers

Page 43: BPMN und Workflows in .NET

Architektur

Server

Camunda Modeler

Camunda Tasklist

Camunda Cockpit

Camunda Admin

Camunda Engine(BPMN, CMMN, DMN)

Relationale DB

Prozessanwendung(Console, WPF, Forms, App, …)

BPMN.xml REST APIDeploy

MicrosoftVisual Studio

Other .NET Code

ExternalTask

Workers

Load/ CompleteTasks

HTML Forms

Dateisystem / Versionskontrolle

Camunda Client(Klassenbibliothek)

http Client

Thread

Page 44: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Page 45: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Page 46: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

DB-Cluster

ElasticSearchCluster

SysServerN Mal

Camunda

Page 47: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

DB-Cluster

TFS

Camunda

SysServerN Mal

Binary Deployment

DACPACK

Rest Deployment

Page 48: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Service Camunda

StartProcess

Page 49: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Service Camunda

FetchAndLock

ExternalTask

Page 50: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Service Camunda

Complete

Service Camunda

Failure

Page 51: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Page 52: BPMN und Workflows in .NET

NEUE ARCHITEKTUR & WORKFLOW

Page 53: BPMN und Workflows in .NET
Page 54: BPMN und Workflows in .NET

WAS WURDE ERREICHT

Page 55: BPMN und Workflows in .NET

WAS WURDE ERREICHT?

Verfügbarkeit

• Dev, Test, Live-System mit Camunda im Cluster-Betrieb

Skalierbarkeit

• Sichergestellt durch die Anwendungsarchitektur

Wartbarkeit

• Durch Anwendung von CleanCode-Prinzipien und Coding-Conventions

Page 56: BPMN und Workflows in .NET

WAS WURDE ERREICHT?

Erweiterbarkeit

• Camunda

Transparenz

• Camunda• ElasticSearch + Kibana

Dokumentation

• Camunda• CleanCode

Page 57: BPMN und Workflows in .NET

ERFAHRUNGEN

Page 58: BPMN und Workflows in .NET

ERFAHRUNGEN

PoC mit Camunda-Consultant hat uns einen schnellen Einstieg ermöglicht

Vorher genau definieren wie Variablen verarbeitet und durch den Workflow mitgenommen werden

Sehr gute Dokumentation (insbesondere Rest-API)

Sehr gute Unterstützung durch den Support

• Schnelles Feedback und Lösungen von Camunda

Prozessdefinition als Basis für Ausführung und Dokumentation ist super

Sehr positives Feedback aus den Fachabteilungen

Page 59: BPMN und Workflows in .NET

AUSBLICK

Bisher gesammelte Erfahrungen haben uns in unserer Entscheidung für Camunda bestätigt

Geplanter Ausbau des Prozessmodels für weitere Produktionsschritte

Page 60: BPMN und Workflows in .NET

Download Camunda: http://camunda.org/download/http://camunda.de/trial/

Camunda kontaktieren:https://camunda.com/de/bpm/

Enterprise Edition, Trainings, Workshops, Proof of Concepts

Camunda Dokumentationhttps://docs.camunda.org/Forum, Network, …https://camunda.org/

Loslegen

Beispiel-Anwendung & Klassenbibliothekhttps://github.com/berndruecker/camunda-dot-net-showcase

Page 61: BPMN und Workflows in .NET

Was zum Nachlesen…

Page 62: BPMN und Workflows in .NET

Vielen Dank! Fragen?