MAY 2, 2017

When we talk about the open source Flowable BPM, it’s important to bear in mind that there are two versions: 5 and 6.

Flowable 5 is based on a fork of the open source Activiti 5 and can literally be dropped in as an alternative (with more bug fixes and some additional functionality). We will continue supporting Flowable 5, but most of the future features are going to happen on the Flowable 6 line that we released earlier this year.

Flowable 6 is the next generation engine that brings a number of significant changes in its core.  One major enhancement is the introduction of an abstract data layer, which allows you to use relational or other databases to store process state.  You can even mix the data storage between a relational database and a NoSQL database, if you want.  The other key change is in process execution, which will allow us to innovate in BPM for years to come.

The way processes are executed in Flowable 5 (as for other engines with the same origin) is that BPMN is mapped to a Process Virtual Machine (PVM).  You can think of this a bit like Java code that’s converted to bytecode to run on a JVM.  In Flowable 5, one BPMN operation might get mapped to multiple PVM operations.  The problem is, over time, these PVM operations have had to deal with more and more exceptions and use cases that mean they are no longer clean, isolated and efficient.

Flowable 6 introduces a clean and predictable execution model.  There’s a one-to-one relationship between BPMN and the execution operations, so all the odd bits of code scattered around the PVM operations are no longer needed.  Now the model is much more understandable with clear meaning, which means less chance of bugs being introduced with new features, as well as being easier to fix.  More excitingly, it is now possible to manipulate running processes, such as easily changing the state of a process.  We can even inject new process elements into a single running process – imagine you’re part way through a complex on-boarding process for a client, when you come across a new piece of information that means you really want to include a credit check on an associate – with Flowable 6 you could inject the additional credit check process into your current one and continue as if that was how the process was designed.  And, that exceptional process is fully auditable and even re-usable. It may not even need to be a human that decides to inject the process, it could be some external risk assessment system or machine learning algorithm that decides it should be inserted.

The new Flowable 6 architecture will allow us to introduce new dynamic capabilities as we move forward, and our customers will guide us on what we should be doing to best exploit this for their business challenges.  Meantime, we’ll continue to support and maintain Flowable 5 for years to come, because some want an instant, painless switch to a supported open source BPM library, but aren’t ready to move to Flowable 6 immediately.  For any new projects, you should really start with Flowable 6 to gain its benefits now, and at the same time you’ll be working with the future.

_R7A0588-Paul Homes-Higgin_web

Paul Holmes-Higgin

Fellow

Co-founder of Flowable and a long-time Open Source advocate, that he believes still has an important role to play in making innovation more widely available.

Share this Blog post
iStock-1381327337
Engineering | DECEMBER 23, 2024
Orchestrated RPA: Bridging the Gap between Legacy Applications and Optimized End-To-End Automation

Optimizing end-to-end business automation can be a tall task for legacy systems that lack integration abilities such as APIs. But robotic process automation can provide a successful interim transition to replacing these when time to market is crucial.

iStock-155374374
Engineering | NOVEMBER 14, 2024
Intelligent Document Processing with Flowable: Streamlining Content Automation

Enterprises need to process a large volume if documents daily — quickly and accurately. Flowable uses Intelligent Document Processing (IDP) to improve content processing and support enterprises in managing documents end-to-end.

iStock-1212433513
Engineering | NOVEMBER 7, 2024
Using CMMN to Go Beyond Case Management

CMMN was mainly designed with case management in mind to handle dynamic, human-driven processes, where the execution is not always a straight line, but might involve human decision to drive the process forward. But it can do way more than that.