execution methodology bpmn cmmn standard dmn standard blog posts

Flowable: Open for Digital Business

Blog: Flowable Blog

When anyone uses the word “open” in the same sentence as “Flowable”, people usually assume they’re talking about open source.  Often, that will be true, but there are other aspects of openness that are also fundamental to who we are and the way we think and work.  I’d call out four main ways we think about openness:

  • Open standards
  • Open Source
  • Open Architecture
  • Open to business users

The last of these is probably the one that can make the biggest difference to the success of any business automation project.  Open up automation to business practioners with low code and no code on a platform with the power and potential of Flowable, and you’ll really be optimizing your business.

Open Standards

In our Intelligent Business Automation platform, we use a model-driven way of defining and executing a business application.  These are models of cases, processes, decisions, content, events and so on – basically everything you need to describe a business solution.  Of these, there are industry defined open standards from the Open Management Group (OMG) that are widely used to define business processes, case management and business rules or decisions.  BPMN, CMMN and DMN are supported by many software vendors to varying degrees, sometimes just for documentation purposes, sometimes just for execution, and always with some extended features.  The Flowable team have been deep in the BPMN standard from its beginnings and, we would claim, to have produced the most extensible, performant and scalable BPMN engine available.  We have taken the same deep approach to CMMN to bring the expressive power of adaptive case management alongside business process.

Open Source

The heritage of the Flowable team comes from the first Java BPM engine, which happened to be open source.  The culture of open source has stayed with us, with the core automation engines of Flowable being fully open source and liberally licensed to allow almost total freedom with the code.  Open source doesn’t mean it’s open to anyone to add to, it means the source is freely available.  The Flowable team actually curates and manages the source, but takes many contributions from the Flowable community and integrates them into that open codebase.  There are many benefits to open source, not least the ability to inspect and fix anything you want, and avoid being tied to a commercial vendor.  Importantly, it exposes the Flowable engines to the widest possible range of use cases on the widest, weirdest and newest architectures and environments. 

Open Architecture

One of the side effects of being open source is that, in order to allow people to customize and extend the engines, there are many APIs and extension points.  Change the behavior of the Flowable BPMN engine and be confident your extension will still work in the next release.  The architecture is pluggable at every level, all the way down to the very core.  As well as ensuring that custom behavior can be added and maintained as Flowable evolves, it also allows the product to introduce new innovations without having to remove old versions of features.  An example is the job execution part of running a BPMN process: there have been several iterations of enhancing it to deal with ever greater scale and throughput in different environments (for example Handling asynchronous operations with Flowable – Part 1: Introducing the new Async Executor).  If you had created some custom behavior around how an older job executor ran, or even created your own job executor, then it can still be configured to use your preferred executor (until you’ve looked at the clever new way we’ve done it, through the open source, and tweaked your own implementation to gain the same benefits).

Open for Business Users

One of the biggest challenges with automating business applications is getting the business users fully behind the development of the solution.  That doesn’t just mean in terms of agreeing that transforming some mundane part of a manual process to digital is a good idea, it means being fully engaged with the whole activity of building a digital solution.  Often there’s a disconnect between the business users and the developers – they seem to speak different languages and see things in different ways.  With Flowable’s model-driven approach, there are several ways this changes.  First, the models are often graphical and visual – something like a flow diagram.  Business users can get to grips with interpreting something like a BPMN model much more easily than trying to understand files of program code.  Mapping an actual business process into BPMN is something that the business user and modeler/developer can do together with much more mutual understanding.  Better still, significant changes can be made and seen in action in seconds rather than a developer going away to write the code and coming back another time to show it running.  Then there is also the opportunity for the Citizen Developer – or motivated business user – to use Flowable to create a prototype or functioning application with no code.  Just by using models, possibly utilizing extensions created by a development team, a rich, no code application can be built that involves getting information from other systems, working with human decision-makers and creating documents or passing data to other services.

Openness is fundamental to Flowable technology and Flowable business.  We live it and believe in it as a way to provide the best possible platform for organizations to intelligently automate themselves.  Always open to questions, always open to challenges, always open.