Enterprise integration has to deal with multiple heterogeneous applications running in different locations. These applications are typically part of complex and long-running business processes. These Business Processes involve both Application-to-Application data flow and human interaction to enter/review/update data in the flow.
Along with these heterogeneous systems, these humans have multiple roles that need to co-coordinate together in order to achieve a goal. I.e, a boss has to approve an expense. An underwriter needs to talk to an appraiser in order to create a loan for Loan Officer. Somewhere in most business processes, you need support for multiple roles.
Challenges of building a non-trivial application that has workflow-like elements
Typical business processes include the need for task tracking, routing, timers, conditional loopback, integrations, retries, etc. but why are workflow capabilities also needed and thus a platform such as Camunda:
The learning curve with Camunda is ridiculously easy: I’ve seen people become effective in one week. It’s wireframing process applications together. Good programmers have been doing that since the 1960s.
The tech stack is really just Spring Boot and Postgres (or the DB of your choice). You can bundle your camunda solution as a Spring boot application, throw it on the docker image, and you’re good to go.
Reinventing the wheel every time you want to drive to the grocery store is *not* a good idea, nor is it good architecture. You wouldn't build your own database every time you build a new application: you’d spin one up, customize it to your needs, and use it like the utility that it is. The same is true with your workflow. It’s a utility. It does the coordination and orchestration of your steps, so you, as the programmer, can focus on the perfection of each of those steps. This is tying your team down: it’s liberating them from having to build mundane things again and again and again.
What about Rules? How do they fit into this picture?
Business Rules are a huge part of this, Camunda supports DMN 1.1, and the Camunda modeler supports DMN 1.2 & 1.3 as of April 2020. There are going to be business rules that need to be explicitly captured and model, DMN is the agnostic notation designed for it. Camunda rules are not as easy to manage and change, from a non-technical perspective, as Rules features from solutions such as Appian, ODM, Pega, etc. You need business rules that are easily changeable by business units/processes, Camunda can provide this capability.
You do need to have rules that are easily changeable by the business
You’ve got three choices here:
Train your business folks in DMN and let them use the Camunda Modeler. It’s not nuclear science, but it can be a little off-putting for people who don’t have a technical background.
Build your own UI that drives rules changes. It’s hard but rewarding.
Buy a prebuild Camunda rule management and governance system from Capital Innovations!
What are the top five things you need to know when considering Camunda BPM?
This podcast discusses 5 things you need to be aware of as “Best Practices” when considering the usage of Camunda BPM. Stuart and Max discuss the top key criteria for consideration, workflow tracking needs, Camunda learning curve, Camunda’s tech stack, and utility computing using Camunda.