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.

BPMN 2.0 – Conditional Events

With version 4.2.0 the Imixs-Workflow engine supports conditional events. A conditional event can be defined with one of the BPMN Gateways  ExclusiveInclusive or EventBased.

Conditional Events

The conditions are defined as boolean rule expressions for each output of the gateway. A condition can be defined with the Script language JavaScript. The following example evaluates the workitem attribute ‘_budget’ for a value greater than 100:

(workitem._budget && workitem._budget[0]>100)

With Conditional Events, Imixs-BPMN offers a significant extension of the modeling possibilities for BPMN 2.0 models to be executed within the Imixs-Workflow engine. Find further details about the modelling with Imixs-BPMN here.

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.

New Release – Imixs-BPMN Report 1.4.6

The new version 1.4.6 of the Imixs-BPMN Plugin is released. The new release includes bugfixes and enhancements. The Imixs-BPMN Report Plugin which is part of the Imixs-BPMN modelling tool now provides a new feature to directly include the content of a XSL file into a report definition:

Imixs-BPMN Report 1.4.6

Reports allow the extraction of information from a Imixs-Workflow instance. Imixs-Workflow provides a flexible REST-API to customize the output of a report. This includes the XSL Transformation. With this feature, workflow information can be transformed in any kind of output, like XML, JSON and also different document formats like PDF or MS-Word or MS-Excel.

The workflow business suite Imixs-Office-Workflow includes a management dashboard with different char diagrams to visualize relevant business process data.

Imixs-Office-Workflow with Imixs-BPMN Report 1.4.6

Imixs-BPMN is based on the Eclipse BPMN2 Project. The installation guide for Imixs-BPMN can be found here.

Don’t model Business Behavior in Objects!

During the past years I saw many projects where nearly any kind of business requirements was modeled into the technical object model, independent of the reason of the requirement. In many cases, modelling business requirements into a technical object model is quite ok and I agree with it in general. But also modelling business requirements into the affected business objects can lead into a ugly and complicated data structure. Let’s look into a short example to illustrate my thoughts: Continue reading “Don’t model Business Behavior in Objects!”

How to secure Business Objects

This post explains how you can secure your business objects in a model driven way, using the Imixs-Workflow engine.

Most applications deal with security in a functional way. This means that a business application typically defines different functional roles which are mapped to different users. For example let’s look on a simple Ordering System. In an Ordering System, we will have roles like

  • Order-Creator‘ – creating the order
  • Order-Approver‘ – validating and approving
  • Order-Executor‘ – execution

These roles are typical for such an business application and mostly tightly coupled to the corresponding business methods – e.g. createOrder(), approveOrder() and executeOrder(). This works well in a monolithic business application where you can control the security layers as also the business logic. But as more complex the business application becomes, also the enclosed security becomes more complicated. For modern application design, in addition, you often have to deal with external web services and business logic which need to be adapted easily to changing requirements. So this static security model leads into a hell of hard coded business rules or, what is worse, can no longer guarantee the security. Continue reading “How to secure Business Objects”

Imixs-BPMN Modelling Tool 1.4.4 Released!

With the latest version 1.4.4. of the BPMN modelling Tool Imixs-BPMN, the open source project ‘Imixs-Workflow‘ provides several enhancements in modelling human centric workflows. Among other new features it is now possible to model scheduled events on a working day basis. This allows scheduling events in individual time frames ignoring weekends. Another enhancement is the visualisation of custom task properties. ACL settings or custom editor settings are now visualized by info icons. Also the Process-ID of a Imixs-Task element is now displayed in the graphical representation of a BPMN model.

bpmn2-customtask

Some bug fixes align the new release with the latest version of Eclipse BPMN2 for the Mars Release. The new version can be downloaded and installed from the Eclipse Marketplace. Further information about the BPMN modelling tool can be found on the project homepage www.imixs.org.  Take also a look into the tutorial “How to Create a Workflow Model“.

BPMN modeling for martians!

Version 1.2.4 of the Eclipse BPMN2 Modeller Plug-In is now available for Eclipse Mars. The new release provides a lot of improvements and bug fixes. See the New & Noteworthy page for what’s new in Eclipse BPMN2 Modeller. The latest version can be installed from the Updatesite.
Version 1.2.4 can be installed together with the Imixs-BPMN Plug-In which is providing extensions to deploy a BPMN 2.0 model into the Imixs-Workflow Engine. Imixs-Workflow is an open source workflow engine for human-centric business process management (BPM) based on the Java EE technology stack. Read more about Imixs-Workflow here.

Imixs-BPMN- new Update available

Today we released a new minor update of the Imixs-BPMN Modelling Plugin for BPMN 2.0. This update contains some layout improvements and also updates to the latest Mars release 1.2.3 of the BPMN2 Plugin.

The new Imixs-BPMN Plugin now also provides a new feature to model schedule events by defining a time-period/delay in workdays. This new modelling feature will be supported with the next upcoming release of Imixs-Workflow 3.7.0.

The plugin can be installed from the Eclipse Marketplace or from the Imixs Update Site:
http://www.imixs.org/org.imixs.eclipse.bpmn2.updatesite/

The latest BPMN2 Plugin for Eclipse Mars can be installed from:
http://download.eclipse.org/bpmn2-modeler/updates/mars/1.2.3