Every company has a process workflow for doing business. Process workflow is not static but it changes with time but each company have their unique basic architecture of a time-tested and experience-honed process workflow. In this age of cloud computing and mobile devices, automating this workflow is the edge that can take you ahead of your competitors. There are a number of tools out there that can be used to do just that but Alfresco Activiti, or its open source version Activiti, are among the best there is.
Activiti started out a simple jBPM based open source BPMN editor under Alfresco’s guidance and it evolved into a great workflow automation engine. The tool is basically a user friendly way to create workflows using standard BPM notations and is used by small scale and large scale enterprises alike. Alfresco Activiti’s business workflow management capabilities are a step ahead of tools like jBPM.
So here are 5 most important things every business manager and developer should know about Alfresco Activiti.
Using Activiti Is Good Idea for Building Enterprise Workflow Management Tool
For better understanding, think about your standard enterprise level application, what kind of features does it have? It would have a lot of user tasks, lots of notifications and messaging, lots of transactions between internal and external systems and modules, and it will have all kinds of timers, scheduled jobs etc. Now think of piecing this puzzle together without the support of proper blueprint. Add in the complexities of transaction boundaries – both hardware and software based – and you are in for a long development lifecycle.
— Bassem Asseh (@asseh) January 14, 2015
Activiti can help in that. Building these kinds of complex features become easier when you structure the application around a solid business process. It is especially helpful in building wait states, times, and asynchronous continuations.
Because BPMN Diagrams Help In Optimizing the Business Workflow
Every business manager has a responsibility to ensure that the organization performs well in their core businesses. This can only be achieved by analyzing, documenting, and then optimizing the way the people and systems of the organization works. Business Process Model Notation (BPMN) diagrams are the best way to document the workflow of your business and you can use this diagram to properly optimize your workflow or find weaknesses in the process and plan for possible failure scenarios.
The workflow built upon Activiti can then be easily used to build an automation application, as explained in previous point.
Activiti Explorer and Alfresco Activiti – There Is Something for Everyone
Activiti comes in two flavors, open source version Activiti, and a paid version downloadable from Alfresco site, the Alfresco Activiti. Both versions come with an easy-to-use workflow engine but as the ‘enterprise’ tag attached with Alfresco Activiti suggests, it has more number of features.
Activiti open source and Alfresco Activiti Enterprise both have standard BPMN workflow building tool but the Alfresco Activiti comes with a more user friendly and more robust workflow building feature called the Step Editor.
However the Step Editor and BPMN have different inherent technologies therefore if you want to migrate from Activiti Explorer BPMN workflow to Alfresco Activiti Step Editor workflow, you may have to do a lot of work. In addition both these tools expose a very different set of APIs therefore if you have to migrate from a free to paid version you may have to restructure your integration mechanisms.
Activiti is easy to integrate with other services
Alfresco Activiti and Activiti Explorer are built using JAVA and therefore can be easily integrated with every system, both web based or software based. Both versions of the tool support Rest Based integration and therefor can be seamlessly integrated with any suitable system or through a custom integration adapter. In addition the tool can communicate with external systems in JSON format therefore it is easy to integrate with most modern systems.
For example if you want to integrate Activiti with a Struts and Hibernate based web service, you would just have to embed a controller into the web service that will call the Activiti API using Restful based callouts and communicate using JSON data format.
The Java based nature of the Activiti Tool makes it easy to access other JAVA features like JDBC and JMS.
Activiti Can Be Integrated With A Wide Range Of Databases
Activiti and Alfresco Activiti both support a wide range of databases such as
- MS SQL
As most enterprise class systems are build using these databases it’s easy to implement Activiti into your application.
A Few Cautions About BPMN
There are two different types of business process workflows
- abstract and
- executable business processes.
A known difference between abstract and executable business processes is that executable processes are part of the software development lifecycle. That means the workflow you draw on paper is termed as abstract, and the one that is actually executed by the software is executable. What most people infer from this is that executable workflows are under the control of the technical developers and that only executable processes need unit testing just like any other piece of software.
Traditional BPM vendors try to abstract those differences with auto magical round tripping between abstract process models and executable process models. But in general, that approach fails in practice.