BPMN und Workflows in .NET

Post on 12-Apr-2017

182 views 0 download

Transcript of BPMN und Workflows in .NET

BPMN UND WORKFLOWS IN .NET – DAS GEHT!

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

Basta! 2017

michael@pruefer.xyz

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

@berndrueckerbernd.ruecker@camunda.com

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?