Upload
bernd-ruecker
View
182
Download
0
Embed Size (px)
Citation preview
BPMN UND WORKFLOWS IN .NET – DAS GEHT!
21. Februar 2017 | Michael Prüfer & Bernd Rücker
Basta! 2017
AUSGANGSSITUATION
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
AUSGANGSSITUATION
Legacy-System, mit klassischen Problemen
• Schnell gewachsenes System mit rapide geänderten Anforderungen• Effizienz und Effektivität• Dokumentation• Skalierbarkeit• Transparenz• Erweiterbarkeit• Deployment
AUSGANGSSITUATION
Folge: hohe Wartungs- und Weiterentwicklungskosten
Kommunikation über Systemabläufe mit Fachabteilungen schwierig
AUSGANGSSITUATION
Neuentwicklung angestrebt unter Beachtung folgender Punkte
• Verfügbarkeit • Skalierbarkeit• Wartbarkeit• Erweiterbarkeit• Transparenz• Dokumentation
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
Was ist Workflow?
*auch bekannt als Business Process Management
Beispiel
* Modelliert in BPMN = ISO Standard für Modellierung und Ausführung
Realistischere Beispiele aus der Praxis
Herausforderungen
Human Task Management
Service Orchestrierung
Events, z.B. Zeitsteuerung
Was man braucht
Zustand
Lang laufende Prozesse
Timeouts & Eskalationen
Monitoring & Alarming
Was man darüber hinaus möchte: Sichtbarkeit!
Alarming bymanagement attention
GET /engine/default/incident/count
{"count":1
}
OK. Aber warum Camunda?
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
„Death by properties panel“
Script:
Please enter your complex code here. (Without IDE support of course!)
BPM Suites
By the way, we introduce an owndevelopment approach, IDE, version
control, user management, reporting, …
Zero Code & Entwickler
Wir haben Probleme!
Es ist grauenvoll. Ich hasse BPM!
Bernd Rücker
Mitgründer camunda> 10+ Jahre Workflow-
Erfahrung
Camunda
Open Source BPM PlattformBerlin + San FranciscoInhabergeführt, kein
Fremdkapital> 60 Mitarbeiter - wachsend
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
Kostenloses Poster verfügbar:
http://camunda.de/poster
Das Trio der Standards
Geschäftsentscheidung mit DMN 1.1
https://github.com/StephenOTT/Gov-DMN-Dog-License-Pricing-Example
Architektur
Cockpit
Modeler
DB
Tasklist Custom App
Business
Analyst
Java API
Engine
REST API
End User
Developer
Operator
Alter!
Java ?????
Weißt du, wo du hier bist?
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
.NET-Prozessanwendung
Camunda
Serviceaufrufe mit External Tasks
3.Complete
2. Logik ausführen
1.Fetch and lock
LiveDemo
External Task Workers
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
NEUE ARCHITEKTUR & WORKFLOW
NEUE ARCHITEKTUR & WORKFLOW
NEUE ARCHITEKTUR & WORKFLOW
DB-Cluster
ElasticSearchCluster
SysServerN Mal
Camunda
NEUE ARCHITEKTUR & WORKFLOW
DB-Cluster
TFS
Camunda
SysServerN Mal
Binary Deployment
DACPACK
Rest Deployment
NEUE ARCHITEKTUR & WORKFLOW
Service Camunda
StartProcess
NEUE ARCHITEKTUR & WORKFLOW
Service Camunda
FetchAndLock
ExternalTask
NEUE ARCHITEKTUR & WORKFLOW
Service Camunda
Complete
Service Camunda
Failure
NEUE ARCHITEKTUR & WORKFLOW
NEUE ARCHITEKTUR & WORKFLOW
WAS WURDE ERREICHT
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
WAS WURDE ERREICHT?
Erweiterbarkeit
• Camunda
Transparenz
• Camunda• ElasticSearch + Kibana
Dokumentation
• Camunda• CleanCode
ERFAHRUNGEN
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
AUSBLICK
Bisher gesammelte Erfahrungen haben uns in unserer Entscheidung für Camunda bestätigt
Geplanter Ausbau des Prozessmodels für weitere Produktionsschritte
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
Was zum Nachlesen…
Vielen Dank! Fragen?