2. Your hosts for today
Daniel Meyer
Technical Lead
Jakob Freund
CEO
3. Do you already use 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. Why do you use Camunda?
Reasons:
•Executes BPMN 2.0
•Best option for Java
•is Open Source
Advantages:
•Stanardized technologies and Skills
•More flexible
•Easier, quicker development
•cost-effective
Also trusted by:
5. Camunda 7.2 Statistics
April 1st –Nov 30th
~ 1,700 person days
Features; 209; 33%
Bugs; 203; 33%
Tasks; 211; 34%
8. Performance / Scalability
•Camunda BPM is increasingly used in High-Load Situations
•A „high-load situation“ starts at ~10 instantiated processes per Second
•Some Customers run Camunda with > 1,000 Process Instances per Second
•This means we continuously improve the performance and scalability
•Execute process instances in a short amount of time
•Support load balancing in Clusters
•Prepare Camunda for alternative storage strategies (No SQL, In Memory etc.)
9. Camunda 7.1 (!) compared to JBoss jBPM 6
More Information: http://camunda.com/landing/whitepaper-camunda-jbpm
In our tests, Camunda‘s throughput was 10x –30x higher than with JBoss jBPM.
10. Performance Improvements in 7.2
•Improved First Level Cache (throughput increased by up to 90%)
•Improved Load Balancing for Cluster Mode
•Log Level for History can be configured
•Minimize Risk of Deadlocks in High-Load Situations
13. Tasklist 7.2
In collaboration with
“The tasklist is the central point of contact for business users with the BPM platform and is therefore an essential component. The innovative implementation of the Camunda tasklist matches the DAB bank's web technology stack perfectly and saves extensive in-house development. The functionality is optimally aligned to the Camunda BPM platform and due to its flexible adaptability also fulfills the needs of a bank.
Karl Brandner, Chief Architect
16. Your own Setup?
Camunda
Backend
REST
Camunda
JavaScript Forms SDK
Your very own HTML 5 User Interface
17. Camunda JavaScript Forms SDK
•Greatly simplifies the implementation of task forms.
•You can directly bind Html form controls to process variables.
•The Forms SDK handles the fetching of the variable values from the process engine, type conversions and so on.
•The Forms SDK optionally integrates with AngularJSto take advantage of AngularJS form validation and other AngularJS goodies.
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
Advantages:
•Anyone can directly inspect Java objects in the database and Cockpit
•It is easier to set up polyglot architectures (e.g. Java + Javascript)
22. Improved Handling of Data Formats
XML or JSON
Advantages:
•Directly access XML or JSON within the process via APIs
•No need to convert XML or JSON into Java Objects
23. Why Scripts and Templates are awesome
•No Java Code / Classes needed
•(Re-)deployment during runtime
•Can be versioned as part of the process definition
•Can be embedded inside the BPMN as well as referenced and maintained in standalone files
•Great performance thanks to compile & cache
28. Connectors
•Simple API for implementing Connectors as reusable Components
•Included with Camunda 7.2: SOAP and REST (both based on Apache HTTP Client)
•Fundamentally different approach than Zero-Code Suites:
•Developer become more productive –it‘s not about „empowering Business Analysts“
•However not every developer speaks Java
•Primary Target Group: IT divisions that want to provide a workflow infrastructure for their organization (other IT teams)
•Focus on API instead of Properties
•Connectors can be used in different components, e.g. Java Delegates
30. Example: Do I have to work today?
REST
JSON
Javascript
31. Simple REST Call
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 holiday
https://github.com/camunda/camunda-bpm-examples/tree/master/servicetask/rest-service
33. More in the Documentation
•Connectors: http://docs.camunda.org/latest/guides/user- guide/#process-engine-connectors
•Scripting: http://docs.camunda.org/latest/guides/user- guide/#process-engine-scripting
•Data: http://docs.camunda.org/latest/guides/user-guide/#data- formats-xml-json-other
35. CMMN 1.0
•Published by OMG in May 2014 as the BPMN-equivalent for „Cases“
•Targets „Activities that are not so predefined and repeatable, but instead depend on evolving circumstances and ad hoc decisions by knowledge workers regarding a particular situation, a case (see Davenport 1994 and 2005; and Van der Aalst 2005)”
•Typical Use Cases:
•applicationandclaimprocessingininsurance
•patientcareandmedicaldiagnosisinhealthcare
•problemresolutionincallcenters
•invoicediscrepancyhandling
More: http://www.omg.org/spec/CMMN/1.0/
36. You often have both
Unstructured Processes
Nonroutine Work
Structured Processes
Routine Work
42. CMMN explained
Human Taskthat will be created when the Case is created
Completing the Task triggers Completion of the Case
Milestone, that will be reached depending on the outcome of the Task
Human Task,
That maybe created by the knowledge worker
Process Task, that maybe created by the knowledge worker
50. How can I move ahead?
Open Source Edition
•Download: www.camunda.org
•Docs, Tutorials etc.
•Forum
•Meetings
Enterprise Edition
•Trial: www.camunda.com
•Additional Features
•Support, Patches etc.
•Consulting, Training
Contact: Germany +49 30 664 04 09 00 | US +1.415.800.3908