Camunda BPM 7.2Release Webinar
Ihre Gastgeber
Daniel MeyerTechnical Lead
Jakob FreundGeschäftsführer
Nutzen Sie Camunda?
No answer; 45; 8%
Not at all; 166; 32%
we're evaluating; 174; 33%
we're developing;
83; 16%
we're in production;
58; 11%
Warum nutzen Sie Camunda?
Merkmale:• Führt BPMN 2.0 aus• Optimal für Java• Ist Open Source
Vorteile:• Standard-Technologien und –
Know-How• Flexibler• Schnellere Entwicklung• Geringere Kosten
Weitere Referenzen:
Camunda 7.2 Statistiken
1. April – 30. NovemberCa. 1.700 Personentage
Features; 209; 33%
Bugs; 203; 33%
Tasks; 211; 34%
Camunda BPM 7.2
• Performance / Skalierbarkeit
• Tasklist
• Konnektoren / Daten / Skripte / Templates
• CMMN
Camunda BPM 7.2
• Performance / Skalierbarkeit
• Tasklist
• Konnektoren / Daten / Skripte / Templates
• CMMN
Performance / Skalierbarkeit
• Camunda BPM wird zunehmend in Hochlast-Szenarien eingesetzt• Ein „Hochlast-Szenario“ beginnt ab 10 gestarteten Prozessinstanzen pro
Sekunde.
• Einige Camunda-Kunden starten über 1.000 Prozessinstanzen pro Sekunde.
• Deshalb verbessern wir kontinuierlich die Performance und Skalierbarkeit:• Möglichst viele Prozessinstanzen in möglichst kurzer Zeit abarbeiten
• Möglichst optimale Lastverteilung im Cluster
• Erforschung alternativer Persistenz-Technologien (NoSQL, In Memory etc.)
Camunda 7.1 (!) vs. JBoss jBPM 6
Mehr Informationen: http://camunda.com/de/landing/whitepaper-camunda-jbpm
In unseren Tests war der Durchsatz von Camunda 10x-30x höher als der von JBoss jBPM.
Verbesserungen in 7.2
• Verbesserter First Level Cache (Durchsatz um bis zu 90% erhöht)
• Verbesserte Lastverteilung im Cluster
• Minimiertes Deadlock-Risiko in Hochlast-Szenarien
• Konfigurierbarer Log Level der History
Camunda BPM 7.2
• Performance / Skalierbarkeit
• Tasklist
• Konnektoren / Daten / Skripte / Templates
• CMMN
Was ist Tasklist?
Tasklist 7.2
In Zusammenarbeit mit “Die Taskliste ist der zentrale Berührungspunkt
der Fachanwender mit der BPM-Plattform und deshalb ein wesentlicher Baustein. Die innovative Umsetzung der Camunda Taskliste passt hervorragend zum Webtechnologie-Stack der DAB Bank und erspart eine aufwändige Eigenentwicklung. Der Funktionsumfang ist optimal auf die Camunda BPM-Plattform ausgerichtet und erfüllt durch die flexible Anpassbarkeit auch die Bedürfnisse einer Bank.Karl Brandner, Chief Architect
Live Demo!
1 2 3
Technische Architektur
CamundaBackendREST
CamundaJavaScript Forms SDK
AngularJSTwitter Bootstrap
Ihre eigene Architektur?
CamundaBackendREST
CamundaJavaScript Forms SDK
Ihre individuelle HTML 5 Anwendung
Camunda JavaScript Forms SDK
• Vereinfacht die Implementierung von Task Forms.
• Man kann HTML Formular-Elemente direkt an Prozessvariablen binden.
• Das Forms SDK zieht die Variablenwerte aus der Process Engine, kümmert sich um die Typ-Konversion usw.
• Falls gewünscht, auch existierende Integration mit AngularJS
More: https://github.com/camunda/camunda-bpm-sdk-js
<form> <input type="text"
cam-variable-name="CUSTOMER_ID"cam-variable-type="String">
<input type="text"cam-variable-name="CUSTOMER_REVENUE"cam-variable-type="Float">
</form>
Camunda BPM 7.2
• Performance / Skalierbarkeit
• Tasklist
• Konnektoren / Daten / Skripte / Templates
• CMMN
Das Camunda-Paradigma
Developer-FriendlySystem Integration
Death by Property Panelvs.
Camunda Zero-Code BPM Suites
Java Objekte in XML or JSON serialisieren
Camunda BPM
Database
Customer, Address
XML or JSON
Vorteile:
• Jeder kann Java Objekte direkt in der Datenbank oder Cockpit einsehen
• Es wird deutlich einfacher, polyglotte Architekturen aufzusetzen (z.B. Java + Javascript)
Live DemoHurra!
Verbesserter Umgang mit Datenformaten
XML or JSON
Vorteile:
• Direkter Zugriff auf XML und JSON aus dem Prozess heraus• Keine Notwendigkeit, XML oder JSON in Java-Objekte zu konvertieren
Warum Skripte und Templates so toll sind
• Kein Java-Code benötigt.
• (Re-)deployments auch zur Laufzeit möglich.
• Können als Teil der Prozessdefinition versioniert werden.
• Können im BPMN eingebettet werden, oder auch darin referenziert und in separaten Dateien erstellt und gewartet werden.
• Sehr gute Performance dank Compile & Cache.
Verbesserter Support für Scripting
Verbesserter Support für Templates
CamundaEnterprise Edition
Skripte und Templates im Prozess
In Script Tasks
In Listeners
As Conditions
As IO-Mappings
Konnektoren
Konnektoren
• Einfache API, um wiederverwendbare Konnektoren zu entwickeln
• In Camunda 7.2 bereits enthalten: SOAP und REST
• Fundamental anderer Ansatz als in Zero-Code-Suiten:• Entwickler sollen damit produktiver werden – es geht nicht darum, dass
Fachanwender sich ihre Integration selbst „zusammenklicken“ können.• Aber: Nicht jeder Entwickler ist ein Java-Entwickler• Beispiel: IT-Abteilungen in Großunternehmen, die eine zentrale Workflow-
Infrastruktur für IT-Teams in anderen Bereichen bereitstellen wollen.• Fokus auf API anstatt auf Properties• Konnektoren können in unterschiedlichen Kontexten genutzt werden z.B.
auch in Java Delegates
Eine mächtige Kombination
Konnektoren
Daten
Skripte
Beispiel: „Muss ich zur Arbeit?“
REST
JSON
Javascript
Beispiel: „Muss ich zur Arbeit?“
Start with Process Variable date
(e.g. via unit test)
Invoke REST Service that provides
holidays as JSON
Run Javascript that checks if date is a holiday and puts result as variable
holiday: true|false
Route based on holiday
https://github.com/camunda/camunda-bpm-examples/tree/master/servicetask/rest-service
Live DemoHurra!
Mehr Infos in der Doku
• Konnektoren: http://docs.camunda.org/latest/guides/user-guide/#process-engine-connectors
• Skripte: http://docs.camunda.org/latest/guides/user-guide/#process-engine-scripting
• Daten: http://docs.camunda.org/latest/guides/user-guide/#data-formats-xml-json-other
Camunda BPM 7.2
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
CMMN 1.0
• Im Mai 2014 von der OMG veröffentlicht als BPMN-Pendant für „Cases“
• Gegenstand: „Weniger gut vorhersehbare, wiederholbare Aktivitäten, die stattdessen von dynamischen Umständen ahängen und von Adhoc-Entscheidungen durch Wissensarbeiter in einer bestimmten Situation –einem Fall.“
• Typische Anwendungsbeispiele:• Antrags- und Schadensbearbeitung in einer Versicherung
• Patientenbehandlung und medizinische Diagnosen
• Vergabe von Hypothekendarlehen
• Problemlösungen im Call Center
• Klärungen im Rechnungseingang
More: http://www.omg.org/spec/CMMN/1.0/
Viele Prozesse beinhalten beides
Unstrukturierte AbläufeNicht-Routine
Strukturierte AbläufeRoutine
Camunda kombiniert BPMN mit CMMN
Beispiel: Rechnungseingang
„Rechnung klären“ ist ein Case
CMMN: Ein komplexes Beispiel
Quelle: OMG
„Rechnung klären“ als einfacher Case
CMMN Modelerby Trisotech
„Rechnung klären“ ist ein Case
Human Task, der direkt bei Case-
Anlage erzeugt wird
Abschluss des Tasks führt zum Abschluss
des Case
Meilenstein, der abhängig vom
Ergebnis des Task erreicht wird
Human Task, der erzeugt
werden kann
Process Task, der erzeugt werden kann
Im Prozess wird ein Case gestartet…
…und im Case evtl. ein Prozess
Live DemoHurra!
Alle Kombinationen sind möglich
• Nur BPMN
• BPMN ruft CMMN auf
• CMMN ruft BPMN auf
• Nur CMMN
Sollte ich jetzt CMMN machen?
Sollte ich jetzt CMMN machen?Ja, aber nur
mit Camunda ;-)
Demnächst: Eigene Webinare zu…
• Performance / Skalierbarkeit
• Tasklist
• Konnektoren / Daten / Skripte / Templates
• CMMN
Einladung folgt in Kürze!
Wie kann ich weitermachen?
Open Source Edition
• Download: www.camunda.org• Docs, Tutorials etc.• Forum• Meetings
Enterprise Edition
• Trial: www.camunda.com• Extra Features• Support, Patches etc.• Consulting, Training
Kontakt: +49 30 664 04 09 00 | [email protected]
Q&A
Top Related