« Back

18.12.2017 Flowable and Alfresco integration

A business processes modeling  in BPMN notation is one of the most important tasks when configuring and implementing the Digital Business Platform. Standard components of Alfresco Community have limits and their usage is not always convenient. In this article, we are pleased to present open source realization of Flowable BPM engine and Alfresco ECM integration.

In Alfresco the WorkflowService interface (WorkflowServiceImpl implementation) is provided for managing business processes. In turn, it uses the WorkflowComponent and TaskComponent interfaces to operate processes and tasks. Alfresco offers two interface implementations: based on the JBPM (deprecated) and the new one, based on the Activiti.

Citeck has developed implementation of bpmn-components on the basis of Flowable (actively developing Activiti fork). Unlike Activiti, the database with business processes data is placed in a separate database, in which business processes made up using of Flowable BPMN Modeler are registered through Rest-API.

Algresco_and_flowable_integration_model

If the configuration specifies the connection parameters for the external Flowable database, when the alfresco application starts, Flowable bean services are created and the FlowableWorkflowComponent and TaskComponent components are registered via the BPMEngineRegistry. New Flowable business processes (deployed with the Alfresco bootstrap mechanism or published through the Flowable modeler editor) are displayed in the list of available Business process tasks (standard Alfresco functionality) and on the Process designer tab of the Case in the «Processes» list (Citeck EcoS Adaptive case management functionality). While saving tasks on the Case Process Designer, processes are linked to the alfresco models via the formKey Start Event. If there is no type, the default type and form are applied for saving.

In addition to implementing of business process components, inherited from TaskListener and ExecutionListener interfaces are provided, which can be run on all tasks and processes (interfaces extend GlobalTaskListener or GlobalExecutionListener) depending on the type of events. Likewise, implementations of the TaskListener and ExecutionListener (FlowableScriptTaskListener and FlowableScriptExecutionListener) are provided for executing the business logic through the expression specified in the Listener (for example, javascript).

Integration with Flowable will be available in new version of Citeck EcoS Community 3.2.A RC1. We are going to release the GA version in January, 2018. But you can already download sources here: https://bitbucket.org/citeck/ecos-community/branch/flowable-workflow-engine and binaries/virtual image here: https://citeck.com/community/download-community-version.

All questions about integration you can ask in our forum.
More information about integration in our wiki.

Flowable_editor

Flowable modeler

start_workflow

Flowable process start form in Alfresco Share interface

What is more, the integration with Telegram messenger is added in new version of Citeck EcoS. We will tell about it in the next article.