SlideShare a Scribd company logo
Best Practices to deal with frequent model
changes of long running processes
Webinar, 21st of March 2017
bernd.ruecker@camunda.com | halil.hancioglu@opitz-consulting.com
Todays speakers
Bernd Rücker
Co-Founder camunda
@berndruecker
bernd.ruecker@camunda.com
Halil Hancioglu
Senior Consultant
@ Opitz Consulting Deutschland
GmbH
@satspeedy
halil.hancioglu@opitz-consulting.com
The basic challenge with long running processes
Change
Long running flow
t
Versioning in Camunda
Version: 47
Version tag: „1.1.0“
Process definition id: 456-271-345
Version: 54
Version Tag: „1.2.0“
Process definition id: 911-081-577
ProcessInstanceId ProcessDefinitionId
123-456-789 456-271-345
123-456-790 456-271-345
123-456-791 911-081-577
Two basic options in real-life
Run in parallel Migrate to version
A look into our best practices
Agile development
https://www.linkedin.com/pulse/principles-agile-methods-used-business-management-graham-wood
Typically
short
iterations
Every
iteration
might
contain
changes
And
propably
set live
What do your ops think?
If you run hundreds of version in
parallel,
calling even multiple different
subprocess versions each,
I will kill you.
OK – great. We
appreciate clear
messages.
So let‘s migrate ☺
Migration
API
Cockpit
The migration plan can be
executed in batch or
downloaded as JSON.
Now let‘s get
serious!
© OPITZ CONSULTING 2017 Seite 13
Challenges in real-life project
 Automate it
 Identify Changes
 Do not miss any change
 Not mixing migration and production code
 Challenges of instance migration
Best Practices to deal with frequent model changes
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“question” (CC-BY) by Mario Mancuso
Why do we need automation?
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Automate it
 Manual effort
 1 Process
 1 Change
per Process
 3 Environments
3 manual process migrations
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Automate it
 Manual effort
 5 Process
 2 Change
per Process
 4 Environments
40 manual process migrations
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“CHANGE” (CC-BY-NC-ND) by Martin Deutsch
How do we identify process changes?
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 For Example
 1 Environment
 2 Process Changes
 Engine detects
changes
 Create a new Process
Definition version
Deployment
sequence
Semantical
version
Camunda Process
Definition version
1 v1 v1
2 v2 v2
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 And if we re-deploy?
 Detects only changes to
previous version
on each deployment
 Can’t guarantee the
semantical uniqueness
of a version
across multiple
environments
Deployment
sequence
Semantical version Camunda Process
Definition version
1 v1 v1
2 v2 v2
3 v1 v3
4 v2 v4
v1 v1
=
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 Use Camunda VersionTag
 In Modeler „Properties Panel“

Idea! (CC-BY-ND) by Cristian Carrara
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 Independent from
Definition Version
 Semantic Naming
Convention necessary
 E.g. Release & Sprint
Number, Git Hash, Git
Tag, Maven Version
 Change only on
relevant commit in
Master Branch
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
How do we ensure that we don't miss any Change?
„IMG_7181“ (CC-BY-NC-ND) by Dora Wu
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 For Example
 1 Team
 2 changes in a process
 During 1 Sprint
 Start with v1
 Change v1 to v2
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Change v2 to v3
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Document Change sequence
 Changes must be archived
 Migrate iteratively
every change
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 What if another
Teams modify
another processes
in same sprint?
 How can we
centralize
all changes
during a sprint?
Team A Invoice Process
Order ProcessTeam B
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Archive changed model
in zip file
(local or remote)
 Create Migration Plan
for each change &
add Version Tag
 Link each archive and
migration plan in central
changelog file
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
How do we ensure that
migration is not mixed
with productive code?
“Think of a number.....” (CC-BY-NC-ND) by Mister G.C.
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Not mixing migration and production code
P = Production Code
M = Migration Code
Always
running
Runs only once on Deploy
or on Rlease
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
"310/366 - Fortbewegungsmittel / Vehicles" (CC-BY) by Boris Thaser
And More…
Camunda REST API is
not delivered and
therefore also no
migration API via REST
Execution without
Application Server
Administrators
intervention only in
exceptional cases
Central logging
(e.g., no mailing
of log files)
Containerizable
with Docker
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Not mixing migration and production code
 Setup a Migration Tool
with Spring Boot
 Parallel to the productive code
 Dockerized
 Automate execution with
CI/CD flow
 Central Logging
Interacts
or
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“Signage 55 speed limit” (CC-BY) by David Lofink
Challenges of instance migration
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Challenges of instance migration
 Process needs further data for new
features
 Process variables must also be modified
 Instances could not be migrated
only with Camunda Migration API
 E.g. Modify an Event to a Task
 Use Camunda Modification API
“Restrictions” (CC-BY) by Davidlohr Bueso
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Challenges of instance migration
 Add “return points”
temporary as
process variable
 Can be defined
in so-called
modification
plans
 Modify & Migrate
to re-run
new added
validation
(Example)
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
 Approve Order
 Deploy Archive
 Local & Remote
 Logging in PaperTrail
 Start with v1
 Change v1 to v2
 Extend to reopen
rejected orders
 Notify only when reopened
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
 Change v2 to v3
 Extend to validate
incoming orders
© OPITZ CONSULTING 2017 Seite 38
Conclusion
 Extendable Process Engine
 Flexible & well documented APIs
 Base for continuous improvement
 Automated Migration
 Benefit
 You don’t have to version the Sourcecode, because you’re
always on the latest process definition version
 @Camunda
 Extend Migration API and Modification API with
VersionTag and ProcessDefinitionKey
Best Practices to deal with frequent model changes
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
That’s it….Many Thanks!
Applause (CC-BY-NC-ND) by Kevin Labianco
© OPITZ CONSULTING 2017 Seite 40Best Practices to deal with frequent model changes
Q & A
You have Questions…
…We have Answers
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Todays speakers
Bernd Rücker
Co-Founder camunda
@berndruecker
bernd.ruecker@camunda.comHalil Hancioglu
Senior Consultant
@ Opitz Consulting Deutschland
GmbH
@satspeedy
halil.hancioglu@opitz-consulting.com

More Related Content

PPTX
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
PDF
Case Management & CMMN - Talk at JAX 2015
PDF
camunda for developer-friendly BPM
PDF
Camunda BPM at bpmNEXT 2016
PDF
Camunda 7 4 Release Webinar_EN
PDF
CamundaCon 2018: Big Workflow in Action: Zeebe Live Hacking (Camunda)
PDF
Camunda BPM 7.2 - English
PDF
Jakob Freund: Camunda for IT Executives - Camunda Days
DMN "on Steroids" bei Kühne + Nagel, Torben Rasche & Stefan Becke
Case Management & CMMN - Talk at JAX 2015
camunda for developer-friendly BPM
Camunda BPM at bpmNEXT 2016
Camunda 7 4 Release Webinar_EN
CamundaCon 2018: Big Workflow in Action: Zeebe Live Hacking (Camunda)
Camunda BPM 7.2 - English
Jakob Freund: Camunda for IT Executives - Camunda Days

What's hot (20)

PDF
Developer-Friendly BPM
PDF
CamundaCon 2018: Custom Batch Extension (Holisticon)
PDF
Case study: Camunda BPM in PwC project
PDF
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
PPTX
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
PPTX
Camunda BPM 7.13 Webinar
PDF
Camunda BPM 7.2: Performance and Scalability (English)
PDF
Camunda Roadshow 2019, Praxisbericht Wien: Migration von Legacy workflow Syst...
PDF
camunda fox BPMN framework
PDF
Webinar: Camunda und Liferay
PPTX
Richard Tarling, Managing Director and Randall Graebner, Senior Engineer from...
PPTX
Predictive Process Monitoring in Camunda
PDF
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
PPTX
20182712 Camunda Meetup Berlin_Andrey Shchagin
PDF
Camunda BPM 7.12 Release Webinar
PPTX
Camunda Product Update – The present and the future of Process Automation
PPTX
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
PPTX
Neue zeiten verlangen nach neuen Paradigmen - Bernd Rücker
PDF
CamundaCon 2018: A Global Workflow Infrastructure (Goldman Sachs)
PDF
CamundaCon 2018: The (Re-)Emergence of Workflow Automation (Keynote) (Camunda)
Developer-Friendly BPM
CamundaCon 2018: Custom Batch Extension (Holisticon)
Case study: Camunda BPM in PwC project
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
CamundaCon 2018: Workflow Automation at Scale (24 Hour Fitness)
Camunda BPM 7.13 Webinar
Camunda BPM 7.2: Performance and Scalability (English)
Camunda Roadshow 2019, Praxisbericht Wien: Migration von Legacy workflow Syst...
camunda fox BPMN framework
Webinar: Camunda und Liferay
Richard Tarling, Managing Director and Randall Graebner, Senior Engineer from...
Predictive Process Monitoring in Camunda
Felix Müller: Microservices Integration: Challenges and Solutions - Camunda D...
20182712 Camunda Meetup Berlin_Andrey Shchagin
Camunda BPM 7.12 Release Webinar
Camunda Product Update – The present and the future of Process Automation
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
Neue zeiten verlangen nach neuen Paradigmen - Bernd Rücker
CamundaCon 2018: A Global Workflow Infrastructure (Goldman Sachs)
CamundaCon 2018: The (Re-)Emergence of Workflow Automation (Keynote) (Camunda)
Ad

Viewers also liked (20)

PDF
Sneak Preview: Camunda Optimize
PDF
Master the flow of microservices - because your business is more complex than...
PDF
Time to build and test results 3x faster - how we did it
PPTX
2015 DevOps Breakfast - DevOps in Action
PDF
Building microservices
PDF
PDF
Camunda Community Day_Wiener BPM Offensive
PDF
Erfahrungsaustausch – Wo ist ACM heute?
PDF
Introduction - The Hack Session
PDF
Process Monitoring mit Camunda
PDF
Camunda BPM Platform and Angular.js
PDF
Camunda 7 4 Release Webinar
PDF
Camunda BPM in DACH
PDF
DMN in Camunda BPM 7.6
PDF
bed-con 2015 - From Virtual Machines to Containers
PPTX
Camunda BPM in Distributed Applications - Allianz Indonesia
PDF
Camunda BPM 7.4 - What can you expect from the next release?
PDF
Camunda BPM 7.2: CMMN Case Management (English)
PDF
CMMN in Camunda BPM 7.6
PDF
Camunda Docker
Sneak Preview: Camunda Optimize
Master the flow of microservices - because your business is more complex than...
Time to build and test results 3x faster - how we did it
2015 DevOps Breakfast - DevOps in Action
Building microservices
Camunda Community Day_Wiener BPM Offensive
Erfahrungsaustausch – Wo ist ACM heute?
Introduction - The Hack Session
Process Monitoring mit Camunda
Camunda BPM Platform and Angular.js
Camunda 7 4 Release Webinar
Camunda BPM in DACH
DMN in Camunda BPM 7.6
bed-con 2015 - From Virtual Machines to Containers
Camunda BPM in Distributed Applications - Allianz Indonesia
Camunda BPM 7.4 - What can you expect from the next release?
Camunda BPM 7.2: CMMN Case Management (English)
CMMN in Camunda BPM 7.6
Camunda Docker
Ad

Similar to Webinar Best Practices to deal with frequent model changes of long running processes (20)

PPTX
DevOps Transformation at Dynatrace and with Dynatrace
PPTX
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
PPTX
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
PDF
Dev ops in agile - 1st Conference Melbourne
PDF
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
PDF
Not your grandfathers BPM
PDF
Scale Continuous Deployment to Production with DeployHub and CloudBees
PDF
Scale Continuous Deployment to Production with DeployHub and CloudBees
PPTX
Webinar - Devops platform for the evolving enterprise
PDF
Building a Compelling Business Case for Continuous Delivery
PDF
DevOps Transformation: Learnings and Best Practices
PDF
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
PPTX
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
PDF
An introduction to DevOps
PPTX
519225492-DevOps-Version-2-4.pptx xxxxxx
PPTX
Continuous Delivery: why ? where to start ? how to scale ?
PPTX
Enterprise DevOps and the Modern Mainframe Webcast Presentation
PPTX
change manager Automated Deployment.pptx
PPTX
Lunch and Learn and Sneakers
PDF
How to build successful blocks of DevOps
DevOps Transformation at Dynatrace and with Dynatrace
#SPSDetroit 2017 improving #DevOps using #microsoft business productivity to...
#SPSNewEngland Improving #DevOps using #Microsoft business productivity tools...
Dev ops in agile - 1st Conference Melbourne
Automated Provisioning, Management & Cost Control for Kubernetes Clusters
Not your grandfathers BPM
Scale Continuous Deployment to Production with DeployHub and CloudBees
Scale Continuous Deployment to Production with DeployHub and CloudBees
Webinar - Devops platform for the evolving enterprise
Building a Compelling Business Case for Continuous Delivery
DevOps Transformation: Learnings and Best Practices
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
An introduction to DevOps
519225492-DevOps-Version-2-4.pptx xxxxxx
Continuous Delivery: why ? where to start ? how to scale ?
Enterprise DevOps and the Modern Mainframe Webcast Presentation
change manager Automated Deployment.pptx
Lunch and Learn and Sneakers
How to build successful blocks of DevOps

More from camunda services GmbH (20)

PPTX
Using Camunda on Kubernetes through Operators
PPTX
Tips on how to build Camunda Run for production
PPTX
Process Driven Customer Interaction
PPTX
Exploring Automation in Government
PDF
The Pulse of Process Automation
PDF
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
PDF
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
PPTX
Extending human workflow preparing people and processes for the digital era w...
PDF
[Webinar] Camunda Optimize Release 3.0
PDF
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
PDF
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
PDF
Process Automation Forum Zurich, finnova AG Bankware
PDF
Process Automation Forum Munich, Swiss Life
PDF
Process Automation Forum Vienna, A1 & J-IT
PDF
Process Automation Forum Vienna, Raiffeisen
PDF
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
PDF
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
PDF
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
PDF
Zeebe + Operate January 2020 Update
PDF
Optimize 2.7 Release Webinar
Using Camunda on Kubernetes through Operators
Tips on how to build Camunda Run for production
Process Driven Customer Interaction
Exploring Automation in Government
The Pulse of Process Automation
Blitzumfrage zur aktuellen Nutzung von Prozessautomatisierung in Unternehmen
Webinar - A Developer's Quick Start Guide to Open Source Process Automation U...
Extending human workflow preparing people and processes for the digital era w...
[Webinar] Camunda Optimize Release 3.0
Webinar: Monitoring & Orchestrating Your Microservices Landscape using Workfl...
Process Automation Forum, Processautomatisierung neu gedacht für das digitale...
Process Automation Forum Zurich, finnova AG Bankware
Process Automation Forum Munich, Swiss Life
Process Automation Forum Vienna, A1 & J-IT
Process Automation Forum Vienna, Raiffeisen
Process Automation Forum Düsseldorf, Provinzial Rheinland Versicherung AG
[Webinar] BPM Renaissance: 5 Tips to Thrive in a Cloud-Native World
[Webinar] Announcing the Camunda Cloud Public Beta - February 2020
Zeebe + Operate January 2020 Update
Optimize 2.7 Release Webinar

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
Modernizing your data center with Dell and AMD
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25 Week I
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm

Webinar Best Practices to deal with frequent model changes of long running processes

  • 1. Best Practices to deal with frequent model changes of long running processes Webinar, 21st of March 2017 bernd.ruecker@camunda.com | halil.hancioglu@opitz-consulting.com
  • 2. Todays speakers Bernd Rücker Co-Founder camunda @berndruecker bernd.ruecker@camunda.com Halil Hancioglu Senior Consultant @ Opitz Consulting Deutschland GmbH @satspeedy halil.hancioglu@opitz-consulting.com
  • 3. The basic challenge with long running processes Change Long running flow t
  • 4. Versioning in Camunda Version: 47 Version tag: „1.1.0“ Process definition id: 456-271-345 Version: 54 Version Tag: „1.2.0“ Process definition id: 911-081-577 ProcessInstanceId ProcessDefinitionId 123-456-789 456-271-345 123-456-790 456-271-345 123-456-791 911-081-577
  • 5. Two basic options in real-life Run in parallel Migrate to version
  • 6. A look into our best practices
  • 8. What do your ops think? If you run hundreds of version in parallel, calling even multiple different subprocess versions each, I will kill you. OK – great. We appreciate clear messages. So let‘s migrate ☺
  • 10. API
  • 11. Cockpit The migration plan can be executed in batch or downloaded as JSON.
  • 13. © OPITZ CONSULTING 2017 Seite 13 Challenges in real-life project  Automate it  Identify Changes  Do not miss any change  Not mixing migration and production code  Challenges of instance migration Best Practices to deal with frequent model changes
  • 14. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “question” (CC-BY) by Mario Mancuso Why do we need automation?
  • 15. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Automate it  Manual effort  1 Process  1 Change per Process  3 Environments 3 manual process migrations
  • 16. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Automate it  Manual effort  5 Process  2 Change per Process  4 Environments 40 manual process migrations
  • 17. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “CHANGE” (CC-BY-NC-ND) by Martin Deutsch How do we identify process changes?
  • 18. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  For Example  1 Environment  2 Process Changes  Engine detects changes  Create a new Process Definition version Deployment sequence Semantical version Camunda Process Definition version 1 v1 v1 2 v2 v2
  • 19. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  And if we re-deploy?  Detects only changes to previous version on each deployment  Can’t guarantee the semantical uniqueness of a version across multiple environments Deployment sequence Semantical version Camunda Process Definition version 1 v1 v1 2 v2 v2 3 v1 v3 4 v2 v4 v1 v1 =
  • 20. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  Use Camunda VersionTag  In Modeler „Properties Panel“  Idea! (CC-BY-ND) by Cristian Carrara
  • 21. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  Independent from Definition Version  Semantic Naming Convention necessary  E.g. Release & Sprint Number, Git Hash, Git Tag, Maven Version  Change only on relevant commit in Master Branch
  • 22. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes How do we ensure that we don't miss any Change? „IMG_7181“ (CC-BY-NC-ND) by Dora Wu
  • 23. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  For Example  1 Team  2 changes in a process  During 1 Sprint  Start with v1  Change v1 to v2 PDCA (CC-BY) by Jurgen Appelo
  • 24. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Change v2 to v3 PDCA (CC-BY) by Jurgen Appelo
  • 25. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Document Change sequence  Changes must be archived  Migrate iteratively every change PDCA (CC-BY) by Jurgen Appelo
  • 26. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  What if another Teams modify another processes in same sprint?  How can we centralize all changes during a sprint? Team A Invoice Process Order ProcessTeam B
  • 27. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Archive changed model in zip file (local or remote)  Create Migration Plan for each change & add Version Tag  Link each archive and migration plan in central changelog file
  • 28. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes How do we ensure that migration is not mixed with productive code? “Think of a number.....” (CC-BY-NC-ND) by Mister G.C.
  • 29. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Not mixing migration and production code P = Production Code M = Migration Code Always running Runs only once on Deploy or on Rlease
  • 30. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes "310/366 - Fortbewegungsmittel / Vehicles" (CC-BY) by Boris Thaser And More… Camunda REST API is not delivered and therefore also no migration API via REST Execution without Application Server Administrators intervention only in exceptional cases Central logging (e.g., no mailing of log files) Containerizable with Docker
  • 31. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Not mixing migration and production code  Setup a Migration Tool with Spring Boot  Parallel to the productive code  Dockerized  Automate execution with CI/CD flow  Central Logging Interacts or
  • 32. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “Signage 55 speed limit” (CC-BY) by David Lofink Challenges of instance migration
  • 33. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Challenges of instance migration  Process needs further data for new features  Process variables must also be modified  Instances could not be migrated only with Camunda Migration API  E.g. Modify an Event to a Task  Use Camunda Modification API “Restrictions” (CC-BY) by Davidlohr Bueso
  • 34. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Challenges of instance migration  Add “return points” temporary as process variable  Can be defined in so-called modification plans  Modify & Migrate to re-run new added validation (Example)
  • 35. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo
  • 36. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo  Approve Order  Deploy Archive  Local & Remote  Logging in PaperTrail  Start with v1  Change v1 to v2  Extend to reopen rejected orders  Notify only when reopened
  • 37. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo  Change v2 to v3  Extend to validate incoming orders
  • 38. © OPITZ CONSULTING 2017 Seite 38 Conclusion  Extendable Process Engine  Flexible & well documented APIs  Base for continuous improvement  Automated Migration  Benefit  You don’t have to version the Sourcecode, because you’re always on the latest process definition version  @Camunda  Extend Migration API and Modification API with VersionTag and ProcessDefinitionKey Best Practices to deal with frequent model changes
  • 39. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes That’s it….Many Thanks! Applause (CC-BY-NC-ND) by Kevin Labianco
  • 40. © OPITZ CONSULTING 2017 Seite 40Best Practices to deal with frequent model changes Q & A You have Questions… …We have Answers
  • 41. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Todays speakers Bernd Rücker Co-Founder camunda @berndruecker bernd.ruecker@camunda.comHalil Hancioglu Senior Consultant @ Opitz Consulting Deutschland GmbH @satspeedy halil.hancioglu@opitz-consulting.com