Business Process Management (BPM) best practices often suggests that the BPM solution not be the system of record. In particular, the business data required for the Digital Business Solution should exist in other data stores outside of the persistence store being used by the BPM engine itself. Business data that is used and or created during the execution of a business process should exist and be maintained in one or more external data stores (e.g. RDBMS, NoSQL, etc...). Therefore to simplify and accelerate the development of enterprise scale Digital Business Solutions, Alfresco Process Services (Alfresco’s Enterprise Edition of the Activiti Community Edition (Open Source)) provides an important and valuable component called "Data Models" which is the focus of this blog.
Please note that I’ll be using the acronym APS throughout this post to refer to Alfresco Process Services.
If you haven’t read this blog post (a bit old, but still very relevant) Storing data in automated business processes :: AirQuill & More on Orchestration Data :: AirQuill already, you must read it first (especially the first blog) before you go into my next section. This is a great post explaining why storing data outside of process engine tables is so important!
Good news is, APS provides a variety of options for customers to do the business data integration. Listing down below all the data integration options that are available when implementing business processes using Activiti engine:
Since the purpose of this blog is to go through the Data Model component, I’ll only be focussing on the 5th item in the above list. Please checkout Activiti User Guide , Activiti Custom SQL User Guide, Alfresco Documentation | Alfresco Documentation and Alfresco Process Services Blogs for more about the other 4 options.
Given below are some of the pain points we hear from business process modelers, analysts, developers, etc quite often.
Data Model is the component that can address all the above mentioned concerns/pain points in an elegant, simple and user friendly fashion without the complexities of similar components that is normally found in other large BPM vendor products.
Enough of overview and description and let’s see it in action.
The crux of the blog is in the following video which I recorded to demonstrate the various capabilities of the Data Model component
Let me summarize the post highlighting the key features of Data Models:
If you are new to the APS, this post will help you get started with it - Installing Alfresco Process Services Trial
If you are new to the Data Model component, I highly recommend you to first read a couple of other posts which are given below, before trying out the demo I used in this post.
The complete source code associated with the above video presentation along with a detailed readme file is available at https://github.com/cijujoseph/activiti-examples/tree/master/activiti-custom-data-model-sample
I'll be creating more data model examples in the coming months! Stay tuned...