3. 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%
4. 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:
5. Camunda 7.2 Statistiken
1. April –30. November
Ca. 1.700 Personentage
Features; 209; 33%
Bugs; 203; 33%
Tasks; 211; 34%
8. 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.)
9. 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.
10. 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
13. 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
16. Ihre eigene Architektur?
Camunda
Backend
REST
Camunda
JavaScript Forms SDK
Ihre individuelle HTML 5 Anwendung
17. 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>
<inputtype="text"
cam-variable-name="CUSTOMER_ID"
cam-variable-type="String">
<inputtype="text"
cam-variable-name="CUSTOMER_REVENUE"
cam-variable-type="Float">
</form>
20. 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)
22. 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
23. 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.
28. 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
31. 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 dateis a holiday and puts result as variable holiday: true|false
Route based on holidayhttps://github.com/camunda/camunda-bpm-examples/tree/master/servicetask/rest-service
33. 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
35. 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/
42. „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
50. 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 | info@camunda.com