BPMN 2.0 and Jakarta EE – A Powerful Alliance

A BPMN Workflow engine based on the Jakarta EE Framework forms a powerful and effective combination for developing enterprise applications with a focus on business process management. Both, Jakarta EE and BPMN 2.0 are standardized and widely supported. The scalability of Jakarta EE provides a secure foundation for building enterprise applications with robust business process management capabilities. This enables developers to leverage the strengths of both technologies to create efficient, interoperable, and maintainable BPM solutions. In the following I will explain the aspects in more detail.

Continue reading “BPMN 2.0 and Jakarta EE – A Powerful Alliance”

New Version of Open-BPMN Available!

Today we released the latest Version of Open-BPMN. The new version includes a lot of enhancements and new additional features. This makes it more easy to model BPMN Diagrams:

  • Improved Layout
  • Property Panel can be opened by double click
  • BPMN Pool and Lane Design improved
  • Fixed minor layout issues

Open BPMN can be run in a Browser or installed on Microsoft VS-Code. You can install Open-BPMN form the VSCode Marketplace.

BPMN 2.0 Extensibility Mechanism

One of the core features is the extensibility of Open BPMN. Open-BPMN enables you to customize it’s behavior and appearance by adapting the BPMN 2.0 extension mechanism. This extension mechanism can be used to adapt BPMN elements to the unique requirements of a vertical domain, and still have a valid BPMN Core. Open Source Workflow Engines like Imixs-Workflow already integrate Open BPMN into there tooling platforms.

But more important, Open-BPMN is based on the Eclipse Graphical Language Server Platform (GLSP). This platform provides a huge set of features and an API to extend and adapt the Modeler in various ways.

Find out more…

Multi-Model Support

With the next upcoming version of Imixs-Workflow 5.1.10 we will introduce the new Multi-Model Support. With this function, a long-running business process can easily be distributed into separate model files without having to split up a running process instance or create a new sub-process. This will make modeling much easier and clearer.

In difference to the the already existing feature of the Split Events, the model version can be changed within a running process instance by simply adding a link-event:

The outgoing event describes the new model version in the workflow result definition:

<model>
  <version>approval-model-1.0.0</version>
  <event>42</event>
</model>

The Imixs-Workflow engine will execute the new event immediately within the new model and automatically assigns the already running process instance. The consistency of the process will be guarantied by the Imixs-Workflow Kernel.

This modeling approach is particularly interesting for long-running, complex business processes with multi-stage approval procedures because it significantly increases the maintainability and overview in such models.

Find out the latest releases on Github.

How to Model Business Rules?

Today, when you design a modern business application, you have to deal more and more with constantly changing business rules. The reason for this is that not only the software industry follows the agile path. Business processes are also subject to a permanent change. At the same time, however, business processes are becoming increasingly complex as more and more information is influencing our business world. In the following I will show how business processes and their rules can be modeled with the help of BPMN.

Continue reading “How to Model Business Rules?”

Imixs-BPMN – Data Objects

With the latest version 4.2.5, the Imixs-Workflow Engine, is now supporting BPMN Data Objects. This kind of model element can be used to model more complex wokflows processing input data:

With this new feature any kind of data object – e.g. a XML or HTML templates – can be associated with a BPMN Task. As a result, the task element will provide these data objects in the new item ‘dataObject’. This item can be injected into a running process instance. See the following code example which is injecting a ‘Invoice HTML template’ into a workitem:

...
ItemCollection task = model.getTask(1000);
List<List<String>> dataObjects = task.getItemValue("dataObjects");
if (dataObjects.size()>0) {
    List<String> firstDataObject = (List<String>) dataObjects.get(0);
    String templateName = firstDataObject.get(0);
    String content = firstDataObject.get(1);
    logger.info("DataObject name=" + templateName);
    logger.info("DataObject content=" + content);
  }
  if ("Invoice Template".equals(templateName) {
    // inject data...
    workitem.repalceItemValue("htmldocument",content);
  }
}
....

DataObjects are part of Imixs-Office-Workflow Version 3.2  to provide an easy and flexible way to create documents and templates during a business process.

Email Templates with Imixs-Workflow

With the latest release of Imixs-Workflow the open source workflow engine supports now Email Templates. With this new feature the email output can be based on a XSL Template. This opens up a powerful way to configure the mail content of more complex e-mail messages during the lifecycle of a business process.

Email Templates

The new template mode can be easily configured using the Imixs-BPMN Modeling Tool by putting a valid XSL document into the mail body definition. The template will be processed automatically with the XML representation of the current workitem.

See the following XSL Template example:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output method="html" media-type="text/html" indent="no"
 encoding="ISO-8859-1" />
 <xsl:template match="/">
  <html>
    <body>
     <h1>Welcome</h1>
     <h2>
       <xsl:value-of select="document/item[@name='txtname']/value" />
     </h2>
    </body>
  </html>
 </xsl:template>
</xsl:stylesheet>

Imixs-Workflow supports the BPMN 2.0 standard and is build up on the Java EE specification. For that reason, it is easy to connect the open source workflow engine with a mail host in various ways. Open Source Mail servers as also Microsoft Exchange are supported. Find more details about the Imixs-MailPlugin in the plugin section of the project documentation.

Language specific business process modelling

With the next release of the Imixs Workflow Engine Imixs provides a way for language specific business process modelling. The upcoming release supports country and language dependent text blocks in a workflow model. With the new attribute ‘locale’ a item value can be formatted in a country and language specific code – independent form the server setting. The new attribute supports the ISO 639 language and also the ISO 3166 country code.

For example to format a date value in German date format the following expression can be used:

<itemvalue format=\"EEEE, d. MMMM yyyy\" locale=\"de_DE\">datdate</itemvalue>

This feature gives more flexibility into the workflow model and allows to model country and language specifiy formats in one model.

Read more about the Imixs Plugins API.