The importance of data (and data objects)
Data is the fuel for every application. It is essential to connect data from multiple systems to make better business-related decisions, and to improve your customers’ and employees’ experience, as well as your end-to-end business efficiency.
In a simple example for an insurance claim, the claimant should only need to provide their policy number when submitting a claim, without having to fill an endless form with data already known in a policy management system: name, address, age and so on, plus data from external services on any previous claims. All the data from multiple systems should be connected together at the right time to ensure a seamless customer experience. Data Objects (Low-code data) are models that define the representation of data from external sources in a way that can be used by any process or case model. Not only that, Data Objects provide the means to retrieve, create and update data in the external sources – databases, RESTful services, or whatever. And once defined, a Data Object can be available in a library to be used by any number of different automation applications.
Data Objects in (Intelligent) Business Automation
Ironically, one of the biggest challenges for those of us working in Intelligent Business Automation is that it’s very easy to get focused on the process and trip over the garbage-in-garbage-out aspect of reality. You can have the perfect sausage-making machine, but put in the wrong ingredients and you’ll soon be out of business. At some level, you can think of business automation as a data pump – the heart that gives life to all parts of your corporate body, with data as the blood that delivers information nutrients to power all its different parts.
Data Objects modeling with Flowable
Flowable has always been able to bring data in from external systems, but once inside it’s just been part of the collection of data for a specific case or process instance. With our recent releases, we’ve brought data to much greater prominence.
Data is now one of the key pillars of Flowable’s Intelligent Business Automation, alongside process, case and decisions.
We’ve done this in a way that doesn’t force you into any particular paradigm or dogma; like everything we do, there’s well architected services that can be adapted and extended if needed. We have implemented an opinion on how these services can best be used together and provide this as a low-code, or even no-code, design experience.
That sounds very grand and intellectual, but what does it actually mean? It means we allow you to define what your business data looks like: what objects, the datatypes of their properties, and other basics such as permissions and lookup keys. What we don’t do is overload the data model with metadata and descriptions of all aspects of how the data should behave, then provide some magical implementation that does everything we think you might need.
“How” and “what”
The data object is the “what”. The “how” for data is provided by operations in service models: how you get the data from an external database, REST or event service; how you query it for different purposes; how you update it. Our goal is to allow you to model and use your data consistently within an application and, more importantly, across your applications. The way you efficiently query a data source for one app may be completely different for another app, because the same data source might be used for varying business purposes.
This separation of the “how” and “what” allows you to add and customize the way data in a process or case best plugs in to your dataverse, without losing the agility and speed of low-code application development. Of course, you want to be able to use Data Objects easily throughout your application, so we’ve added ways for you to link them to UI components, such as grids, menus and all input selectors.
Data filtering in process and case
One of the other new features that sits elegantly and powerfully alongside the new data models is the possibility to do data filtering for forms in any process or case. It can be used to restrict access to external business data at any point throughout its journey as it flows. This way, you can encapsulate and isolate business automation models so that they can be used safely in other applications.
We no longer see single end-to-end process models being used by our customers, we see process fragments being intelligently composed as needed as part of cases or other dynamic processes. Data Objects are oxygen-rich process variables that bring extra life to your automation solutions.