BPMN and DMN for Processing Business Data with Camunda
1. APPLY ING
BPMN & DMN
F O R P R O C E S S I N G
B U S I N E S S D ATA W I T H
CAMUNDA
A N D R É Z A N AT TA B O R G O N O V O
2 0 1 7
2. INTRO
• BPM = Business Process Management
• BPMN = Business Process Model and Notation
• DMN = Decision Model and Notation
3. PROJECT VISION AND GOAL
WHY WE WANTED TO USE BPM?
Empower Business Analysts on having access
to data processing Business Rules, so they can
build it by their own and check its validity and
consistency.
Therefore the Business Areas
are partially “free” to evolve without IT
intervention.
4. THE TOOL WE CHOOSE
Camunda is an open source platform for workflow and business
process management. You can model and execute BPMN 2.0,
CMMN 1.1 and DMN 1.1.
• Free & Open source
• Customized code is created with well-kown languages such as
Java, Groovy and Javascript
• They have their own Modeler
• Enterprise version with enterprise support
• Trusted by big players like Allianz, Generali, Red Bull and
Zalando
6. BPMN IN CAMUNDA
OUR APPROACH
No custom code on any other IDEs (Eclipse)
The BPMN processes were modeled with:
– Start events, Gateways and End events
– Service Tasks (with Groovy scripts)
– Service Tasks (for HTTP Connectors)
– Decision Tasks (pointing to DMN)
7. DMN IN CAMUNDA
OUR APPROACH
• Business Analysts have full access to Decision Tables
• Technical team Works on it for preparing the name of variables
and planning the Hit Policy. Then they work for consuming it
from the BPMN process definition.
9. SOME CONSIDERATIONS
• To take the initial steps on Camunda we had a hard time. When
a professional with previous experience entered the game, we
really started making good steps;
• Camunda team is very available, but for professional support
you need to hire them (they say the Enterprise Support). The
other option is to take the community support, which was nice
when we needed;
• Even if it seems to be right, test it and test it again!
• Camunda Modeler has some weird bugs, but in the end of the
day you can work with it.
• Keep your services that will communicate with Camunda on the
same Resource Group (same network) avoiding problems with
slow data transfer through the Internet;
10. IMPRESSIONS & RESULTS
• Involvement of Business Analysts on rules that are actually used
by the product is very beneficial for the project;
• Decision tables simplify long lists of rules, helping on
organization and clarification;
• You can use Camunda without Eclipse (which is nice), but you
need to know Groovy and code in a poor IDE for coding.
• We took Camunda for processing, in the first data load, plus
than 100K records, plus around 25M child records. Camunda
can handle it, but you need to plan and architecture its
infrastructure pretty well.
11. USEFULL LINKS
• Camunda oficial website
https://camunda.org/
• Camunda community
https://forum.camunda.org/
• Camunda YouTube channel
https://www.youtube.com/user/camundaVideo
• Web-based tooling for BPMN, DMN and CMMN
https://bpmn.io/
• Converting Excel Worksheets to DMN
https://blog.camunda.org/post/2016/01/excel-dmn-conversion/
12. ANDRÉ
BORGONOVO
THANKYOU!
A Z B O R G O N O V O @ G M A I L . C O M
S P E C I A L T H A N K S T O T H E D E V E L O P M E N T T E A M
- B R U N O L O U R E N Ç O L O P E S
- R I C A R D O L E I T E S O U Z A