BPMN und Workflows in .NET

435 Aufrufe

Veröffentlicht am

Slides of a talk at the Basta! Spring 2017 I gave together with Michael Prüfer from Ausschnitt Medienbeobachtung.

The example code is here: https://github.com/berndruecker/camunda-dot-net-showcase

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
435
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
10
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

BPMN und Workflows in .NET

  1. 1. BPMN UND WORKFLOWS IN .NET – DAS GEHT! 21. Februar 2017 | Michael Prüfer & Bernd Rücker Basta! 2017 michael@pruefer.xyz
  2. 2. AUSGANGSSITUATION
  3. 3. 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
  4. 4. AUSGANGSSITUATION  Legacy-System, mit klassischen Problemen • Schnell gewachsenes System mit rapide geänderten Anforderungen • Effizienz und Effektivität • Dokumentation • Skalierbarkeit • Transparenz • Erweiterbarkeit • Deployment
  5. 5. AUSGANGSSITUATION  Folge: hohe Wartungs- und Weiterentwicklungskosten  Kommunikation über Systemabläufe mit Fachabteilungen schwierig
  6. 6. AUSGANGSSITUATION  Neuentwicklung angestrebt unter Beachtung folgender Punkte • Verfügbarkeit • Skalierbarkeit • Wartbarkeit • Erweiterbarkeit • Transparenz • Dokumentation
  7. 7. 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
  8. 8. Was ist Workflow? *auch bekannt als Business Process Management
  9. 9. Beispiel * Modelliert in BPMN = ISO Standard für Modellierung und Ausführung
  10. 10. Realistischere Beispiele aus der Praxis
  11. 11. Herausforderungen Human Task Management Service Orchestrierung Events, z.B. Zeitsteuerung
  12. 12. Was man braucht Zustand Lang laufende Prozesse Timeouts & Eskalationen Monitoring & Alarming
  13. 13. Was man darüber hinaus möchte: Sichtbarkeit!
  14. 14. Alarming by management attention
  15. 15. GET /engine/default/incident/count { "count":1 }
  16. 16. OK. Aber warum Camunda?
  17. 17. The 7 sins of workflow and Java Zero-code suites Homegrown engine No engine Wrong engine Wrong usage 4 6 5 7 Fragt mich später! Oder haltet ein Auge auf @berndruecker
  18. 18. „Death by properties panel“ Script: Please enter your complex code here. (Without IDE support of course!)
  19. 19. BPM Suites By the way, we introduce an own development approach, IDE, version control, user management, reporting, …
  20. 20. Zero Code & Entwickler Wir haben Probleme! Es ist grauenvoll. Ich hasse BPM!
  21. 21. Bernd Rücker Mitgründer camunda > 10+ Jahre Workflow- Erfahrung @berndruecker bernd.ruecker@camunda.com Camunda Open Source BPM Plattform Berlin + San Francisco Inhabergeführt, kein Fremdkapital > 60 Mitarbeiter - wachsend
  22. 22. 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
  23. 23. Kostenloses Poster verfügbar: http://camunda.de/poster Das Trio der Standards
  24. 24. Geschäftsentscheidung mit DMN 1.1 https://github.com/StephenOTT/Gov-DMN-Dog-License-Pricing-Example
  25. 25. Architektur Cockpit Modeler DB Tasklist Custom App Business Analyst Java API Engine REST API End User Developer Operator
  26. 26. Alter! Java ????? Weißt du, wo du hier bist?
  27. 27. 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
  28. 28. .NET-Prozessanwendung Camunda Serviceaufrufe mit External Tasks 3. Complete 2. Logik ausführen 1. Fetch and lock
  29. 29. Live Demo
  30. 30. External Task Workers
  31. 31. 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 Microsoft Visual Studio Other .NET Code External Task Workers Load/ Complete Tasks HTML Forms Dateisystem / Versionskontrolle Camunda Client (Klassenbibliothek) http Client Thread
  32. 32. NEUE ARCHITEKTUR & WORKFLOW
  33. 33. NEUE ARCHITEKTUR & WORKFLOW
  34. 34. NEUE ARCHITEKTUR & WORKFLOW DB-Cluster ElasticSearch Cluster SysServer N Mal Camunda
  35. 35. NEUE ARCHITEKTUR & WORKFLOW DB-Cluster TFS Camunda SysServer N Mal Binary Deployment DACPACK Rest Deployment
  36. 36. NEUE ARCHITEKTUR & WORKFLOW Service Camunda StartProcess
  37. 37. NEUE ARCHITEKTUR & WORKFLOW Service Camunda FetchAndLock ExternalTask
  38. 38. NEUE ARCHITEKTUR & WORKFLOW Service Camunda Complete Service Camunda Failure
  39. 39. NEUE ARCHITEKTUR & WORKFLOW
  40. 40. NEUE ARCHITEKTUR & WORKFLOW
  41. 41. WAS WURDE ERREICHT
  42. 42. 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
  43. 43. WAS WURDE ERREICHT?  Erweiterbarkeit • Camunda  Transparenz • Camunda • ElasticSearch + Kibana  Dokumentation • Camunda • CleanCode
  44. 44. ERFAHRUNGEN
  45. 45. 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
  46. 46. AUSBLICK  Bisher gesammelte Erfahrungen haben uns in unserer Entscheidung für Camunda bestätigt  Geplanter Ausbau des Prozessmodels für weitere Produktionsschritte
  47. 47. 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 Dokumentation https://docs.camunda.org/ Forum, Network, … https://camunda.org/ Loslegen Beispiel-Anwendung & Klassenbibliothek https://github.com/berndruec ker/camunda-dot-net- showcase
  48. 48. Was zum Nachlesen…
  49. 49. Vielen Dank! Fragen?

×