Camunda BPM 7.2Release Webinar
Your hosts for today
Daniel MeyerTechnical Lead
Jakob FreundCEO
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%
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:
Camunda 7.2 Statistics
April 1st – Nov 30th~ 1,700 person days
Features; 209; 33%
Bugs; 203; 33%
Tasks; 211; 34%
Camunda BPM 7.2
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
Camunda BPM 7.2
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
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.)
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.
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
Camunda BPM 7.2
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
What is Tasklist?
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
Live Demo
1 2 3
Technical Architecture
CamundaBackendREST
CamundaJavaScript Forms SDK
AngularJSTwitter Bootstrap
Your own Setup?
CamundaBackendREST
CamundaJavaScript Forms SDK
Your very own HTML 5 User Interface
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 AngularJS to take advantage of AngularJS form validation and other AngularJS goodies.
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 / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
The paradigm
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
Advantages:• Anyone can directly inspect Java objects in the database and Cockpit• It is easier to set up polyglot architectures (e.g. Java + Javascript)
Live DemoYay!
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
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
Advanced Support for Scripting
Advanced Support for Templates
CamundaEnterprise Edition
Scripts and Templates in the Process
In Script Tasks
In Listeners
As Conditions
As IO-Mappings
Connectors
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
A powerful combination
Connectors
Data
Scripting
Example: Do I have to work today?
REST
JSON
Javascript
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 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 DemoYay!
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
Camunda BPM 7.2
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
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:• application and claim processing in insurance
• patient care and medical diagnosis in healthcare
• problem resolution in call centers
• invoice discrepancy handling
More: http://www.omg.org/spec/CMMN/1.0/
You often have both
Unstructured ProcessesNonroutine Work
Structured ProcessesRoutine Work
Camunda integrates BPMN with CMMN
Example: Incoming Invoices
„Review Invoice“ is a Case
CMMN: A complex example
Source: OMG
„Review Invoice“ as a simple Case
CMMN Modelerby Trisotech
CMMN explained
Human Task that 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 may be
created by the knowledge
workerProcess Task, that may be created by
the knowledge worker
Starting a Case within a Process…
…and starting a Process within a Case!
Live DemoYay!
All combinations are possible
• BPMN standalone
• BPMN calling CMMN
• CMMN calling BPMN
• CMMN standalone
Should I start with CMMN now?
Should I start with CMMN now?Yes, cause it‘s safe with Camunda ;-)
Dedicated Webinars about…
• Performance / Scalability
• Tasklist
• Connectors / Data / Scripts / Templates
• CMMN
Invitation coming soon!
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
Q&A