Running Imixs-Workflow in a Docker Container

For the development of a business application, which meets the needs of a human-centric workflow, it is a good choice to use the Imixs-Workflow Engine to separate the business and workflow logic. On the other hand the separation of services is one of the core concepts of a modern microservice architecture. With the new Imixs-Microservice project, Imixs-Workflow provides a Docker image, which is containing the Imixs-Workflow Engine running in a WildFly Java EE server. This Docker image can act as a black box for any modern business application. In this architecture, the Imixs-Workflow is responding to RESTful API calls from any core business application.

The Docker Image

The Docker image, provided by the Imixs-Microservice project, can be used out of the box for testing purpose or as a template for a custom docker image to be used in a productive environment. Once the container is started from this image, a custom business process model can be developed and deployed into the workflow engine via the Rest Service API. The project provides a example workflow. This BPMN 2.0 model was designed with the Imixs-BPMN Modeller:

imixs-microservice-ticket

This workflow is a simple example how to track tickets by a support team in a call-centre or a customer-support. After a new ticket was created it is assigned to a support team. Each member of a support team can accept the ticket for further processing. The ticket can be reassigned to the team or closed by solving the ticket.

The following JSON request object shows how a new process instance for the ticket workflow looks like when using the RESTful API :

{"item":[
     {"name":"$modelversion","value":{"@type":"xs:string","$":"my-model-definition-0.0.2"}},
     {"name":"$processid","value":{"@type":"xs:int","$":"2000"}}, 
     {"name":"$activityid","value":{"@type":"xs:int","$":"1"}}, 
     {"name":"namteam","value":[
                {"@type":"xs:string","$":"admin"},
                {"@type":"xs:string","$":"eddy"},
                {"@type":"xs:string","$":"anna"}
                   ]},
     {"name":"_subject","value":{"@type":"xs:string","$":"Some usefull data.."}}
   ]}  

After this JSON object was send to the Rest Service by a POST request, the Imixs-Workflow engine creates a new process instance assigned to the task ‘New Ticket’ and triggers the Event ‘Submit’ to assign the ticket to the support team. The process instance is stored into a Postgres Database.

Each member of the team can now request a task list with all open tickets assigned to himself.

curl --user admin:adminadmin http://localhost:8080/imixs-microservice/workflow/worklist

Each workitem included in the result provides a set of attributes managed by the Imixs-Workflow engine. This information can be used to track the status of each ticket.

Using the Imixs-BPMN modelling tool each event can be modelled with a custom behaviour. For example using the Imixs Mail Plug-In a e-mail notification can be send automatically to the support team after a new ticket arrived. Imixs-Workflow provides a set of plug-ins to fit the needs of typical human-centric business tasks.

Access Control and User Management

One of the core features of a human-centric-workflow engine is the routing and user management of process instances. Each process instance running in the Imixs-Workflow engine is assigned to a dedicated list of owners and a read- and write-access-list.

Using this access control list (ACL), it is possible to manage also complex business tasks by managing the visibility of a process instance within an organisation. The ACL of a running process instance maps to the role- and user management provided by the Java EE Application server. The Imixs-Microservice provides a integrated user service which can be used to add new users or changing there access level within the workflow engine.

Conclusion

Running Imixs-Workflow as a black box workflow server is an exciting approach which can bring a new point of view to a modern microservice architecture. Providing a Docker file the Imixs-Microservice can be deployed and started easily, thus the configuration of a own server environment is no longer necessary. This is also a good starting point to develop a Docker container for productive environments.

Read more about the Imixs-Microservice on the project documentation.

Imixs-Workflow – Support of Nashorn JavaScript Engine

With the next release of Imixs-Workflow (3.6.0) the open source workflow engine will support JDK 8 and the new JavaScript Engine Nashorn. The JavaScript engine supports the ECMAScript 5.1 specification. This allows to use new features when executing scripts from the Imixs RulePlugin. The Imixs RulePlugin is part of the workflow engine and allows the execution of business rules defined in a BPMN model. You can find more about the Imixs RuleEngine here. Read also the Rhino Mogration Guide for more details about the new capabilities of the Nashorn Script Engine included in JDK 8.

Merry Christmas – Imixs-Workflow Version 3.5.0 Released

Today – just before Christmas 😉 – we published the latest version of the open source workflow engine ‘Imixs-Workflow’.

bpmn_example_06The new release includes an improved BPMN parser. The new parser supports BPMN 2.0 link events and also shared events. Shared events can be used to reduce the complexity of large BPMN models. Examples about the new BPMN 2.0 modelling capabilities can be found here.
Also the Imixs-Rest API was improved within this release. The internal JSON parser becomes more robust in parsing native JSON values which makes the usage easier for cross-platform environments.
Finally the Imixs RulePlugin includes a nice improvement: the RulePlugin can now evaluate the object ‘nextTask’, which can be used to evaluate complex business rules with decision maps.

The latest release is available in the maven central repository and the work on the next release 3.6.0 has already begun.

 

The Imixs project wishes all members of the community Merry Christmas!

 * * *

Digital Fleet Management with Imixs-Workflow

Vehicles and mobility gain an increasing importance in the modern economy – a trend despite of digitalisation and networking. Many sectors of the economy use vehicles as an essential resource in the value creation process. Not only in the logistic industry the fleet management becomes increasingly important for companies. Digital fleet management saves costs and optimizes the usage of company cars. One example is the car-sharing in ecologically-thinking enterprises. So, business processes around mobility are playing an important role in the chain of economic value added. Continue reading “Digital Fleet Management with Imixs-Workflow”

Imixs-Workflow Becomes Member of OW2

OW2_Logo_EvolutionThe Imixs-Workflow project is now a Member of the OW2. OW2 is an independent, global, open-source software community. OW2 promotes the development of open-source middleware, generic business applications, cloud computing platforms and provieds a vibrant community and business ecosystem. The OW2 developments follow a flexible, component-based approach. These components range from specific software frameworks, protocols and applications through to integrated, service-oriented platforms for enterprise computing.

Imixs-Workflow was selected by the OW2 consortium – an independent non-profit organization – to join the OW2 organisation which is open to companies, public organizations, academia and individuals.

OW2 is committed to growing a community of open source code developers. The organization is dedicated to the creation of new technology: original code development is one of its fundamental characteristics. OW2 champions the tenets of quality and usability of its software in the open source enterprise marketplace. It fosters a common technical architecture to be shared by its members and to facilitate the implementation of its technology by systems integrators and end-users.

All the OW2 projects aim at facilitating the development, deployment and management of distributed applications with a focus on open source middleware and related development and management tools. In the open source software value chain, OW2 is positioned as an industry platform facilitating interaction between open source code Producers and open source code Consumers.

The Imixs-Workflow Project is available from the OW2 Project Dashboard.

 

BMW Nordic – Flexible Business Process Management

In cooperation with the BMW AG Nordic the Imixs software solutions GmbH is implementing a centralized workflow management solution for the locations of Sweden, Finland, Norway and Denmark. The goal of the solution is to improve the exchange of business data and processes between the different locations. As typically for a workflow management system the solution allows to organize different document flows to be approved within the organisation and to optimize transactions between different locations aligned to the existing company policies.

The Imixs Software Solutions GmbH was commissioned with the development of this software solution which should be based on a flexible workflow engine to fulfill the demanding requirements. With the Open Source workflow engine ‘Imixs-Workflow’ the solution provides a central workflow platform which guarantees a continuous improvement of all involved business processes. The core concepts of the Imixs-Workflow engine are:

  • speed up the entire process flows
  • transparency for all employees at various locations
  • reduce the time to implement new process flows and changes
  • improve the quality of internal business processes.

With the help of the Imixs-Workflow solution, it was possible for BMW Nordic to fasten the total development process and to increase the transparency for all employees. With the beginning of implementing a new business process, first individual process models were designed describing the different phases and responsibilities within the organisation. Based on this abstract process model the development of a technical workflow model begins which can be deployed immediately into the productive environment. To resolve the responsibilities during a workflow the Imxis-Workflow engine implements different adapters to interact with the HR systems providing organisation information. So the Imxis-Workflow engine is able to send notifications and grant individual access to different process instances within the different locations. The access control is one of the core features of Imxis-Workflow which allows the design of complex workflow models also in large enterprises. Imixs uses a Eclipse based BPMN modelling tool to develop business processes in a process driven architecture.

So with the Imixs-Workflow framework and a modern Web interface the BMW Nordic BPM solution could be used already productive after a short test period. The Imixs GmbH specializes in the development of workflow management systems. A central goal of the Imixs GmbH is to design workflow solutions in a way that changes to the business process can be made without having to adjust the software itself.

How to model human-centric workflows with BPMN

The Imixs-Workflow project provides a new tutorial explaining how a human-centric workflow can be modeled with Imixs-BPMN. Imixs-BPMN is a BPMN 2.0 modelling tool based on the Eclipse Platform. The BPMN Tool allows to design workflow models in a very flexible way. The BPMN 2.0 standard elements are extended by Imixs-BPMN providing custom task and event elements. The tutorial explains how to model typical scenarios of a human-centric workflow. Those models can be executed immediately in the Imixs-Workflow engine. See also the project ‘Imixs-Office-Workflow‘ an an example of an integrated workflow suite.

BPMN Modeller not Loading Correctly

After an update of the Eclipse-BPMN Plugin or the Imixs-BPMN Plugin in some cases it can happen, that an existing process model is no longer loaded correctly into the BPMN editor. In this case it is recommanded to remove the file

org.eclipse.bpmn2.modeler.core.prefs

which is located in the Eclipse workspace under the folder .settings/

After restarting Eclipse the BPMN Plugin is working again correctly.

Imixs-BPMN 1.3.0 Released

The new version 1.3.0 of the BPMN modeling tool “Imixs-BPMN” is now finally released. The version supports the current Mars release of the Eclipse platform and offers several improvements and bug fixes. The allocation of write- and read-access in a running process instance has improved within the new version. ACL settings can take place now not only at the event level, but also directly in the process level. This allows to model business processes with different ACL settings much faster. The new ACL settings are supported by the Imixs-Workflow Engine since version 3.4.0. Another improvement represents the modeling of ‘versions’ within a process model. Thus new versions can be creating during a running process. Versions of a process instance can, for example be archived by the Imixs-Workflow Engine. So complex business processes become more transparent with the new modeling features.

The Imixs-BPMN Plugin can be installed from the Imixs-BPMN UpdateSite or directly from the Eclipse Marketplace.

Imixs-BPMN – New ACL Feature for Next Release Planned

The next upcoming Update of Imixs-BPMN includes a new functionality concerning the security API of Imixs-Workflow. With the new version it will be possible to define an ACL for a process instance on the Task level in a BPMN diagram. In earlier versions this feature was only available on the Event level. With this extension now setting the ACL for complex process models is more easy and models can be created faster.

imixs-bpmn-acl-setting

In addition the new release also includes a bug fix concerning the ImixsCatchEvent. The Imixs-BPMN Plugin can be installed from the Imixs-BPMN UpdateSite or directly from the Eclipse Marketplace.