Imixs-Cloud – a Lightweight Docker Swarm Environment

The Imixs-Project started the new subproject Imixs-Cloud.

Imixs-Cloud is a conceptual infrastructure project, describing a way to create a server environment for business applications. One of the main objectives of this project is to focus on simplicity and transparency. The general idea is to setup a lightweight docker based infrastructure with docker swarm. Within this infrastructure business applications like Imixs-Office-Workflow can be deployed in a fast and easy way.
Imixs-Cloud is developed as part of the Open Source project Imixs-Workflow and continuous under development. To contribute to this project please report any issues here. All source are available on Github.

Imixs-Workflow 4.2 Released

With version 4.2.0, the second minor release of Imixs-Workflow version 4 is now available. After the stability and performance improvements of version 4 were confirmed with the minor update 4.1, now the first feature update has been released. Imixs-Workflow 4.2 offers a number of additional features and technical improvements.

BPMN Modelling

Version 4.2 offers some awesome new possibilities to model a business process with BPMN 2.0. This includes, for example, the modeling of conditional events. A conditional event can be used to evaluate the output of an event during the processing life-cycle. The conditions can be easily added into the output flows.

conditional events

The business rules can be written in JavaScript or any script language supported by the JVM. E.g ’JavaScript or ‘Groovy’.

Another modelling improvement are the so called “Split-Events”. A Split-Event can be used to create new versions of the current process instance during the current processing life-cycle.

split event

A Split-Event creates a new version of the current process instance that can be immediately processed in parallel or stored in an archive state.

These new functions make modeling business processes more transparent and clearer.

The CDI Observer Pattern

The Imixs-Workflow engine provides now an observer pattern based on a set of CDI events. The events are fired when a process instance is loaded or updated. The observer pattern is part of the Java Enterprise Specification and can be used to adapt the behavior of workflow functionality in a powerful way. For example, the new archive feature adapts the persistence mechanism of Imixs-Workflow to transparently archive business data into various external archive systems.

Simulation & Testing

The project provides now a new Simulation Engine to be used to simulate the outcome of a concrete process instance based on a BPMN 2.0 model. This can be used in test- as also in production mode and enhances the test functionality of Imixs-Workflow. A lot additional improvements in JUnit tests are also part of this update.

All these additional functions increase the stability of Imixs-Workflow and allow developers the creation of highly scalable business applications. Find all release notes on GitHub.

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.

JSON Web Token and JASPIC

The Imixs Project started a new JSON Web Token project called Imixs-JWT.

Imixs-JWT is a compact easy to use library to generate and verify JSON Web Tokens. The library is based on maven and can be add with the following dependency available from Maven Central:

<dependency>
 <groupId>org.imixs.jwt</groupId>
 <artifactId>imixs-jwt</artifactId>
 <version>1.0.0</version>
</dependency>

The following example shows how to build a JWT in Java:

import org.imixs.jwt.*;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.SecretKey;

...
// We need a signing key...
SecretKey secretKey = HMAC.createKey("HmacSHA256", "secret".getBytes());
String payload="{\"sub\":\"1234567890\",\"name\":\"John Doe\",\"admin\":true}";
JWTBuilder builder = new JWTBuilder().setKey(secretKey).setJSONPayload(payload);
System.out.println("JWT=" + builder.getToken());

// will result in:
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
// eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.
// TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

JASPIC Auth Module for JWT

The project also provides a JASPIC authentication module. JASPIC is an authentication standard and can be used in Java EE application servers. The module was tested with Wildfly 10 and can be used also with different application servers.

Imixs Joins the Java EE Guardians

The Imixs Software Solutions GmbH and the Open Source projekt Imixs-Workflow has joined the Java EE Guardians.

The Java EE Guardians is an independent group of people interested in moving Java EE forward. The purpose of this group is advocacy, raising awareness, finding solutions, collaboration and mutual support. We believe that together – including Oracle – we can prove that this is the dawn of a new era for an ever brighter future for Java, Java EE and server-side computing.

The Imixs-Workflow project supports the Java EE Guardians with a series of articles about the Java Enterprise Architecture. We published a new architectural approach to control a complex business process within a Microservice architecture running on the Java EE Stack.

The Imixs-Workflow project has evolved over several years and has been following the Java EE standard from the beginning. As a result, we were able to work with a stable code base and benefit directly from a multitude of modern software concepts. Some code of the Imixs-Workflow project has not changed over the years, other code was simplified by introducing new and modern language concepts within the Java EE platform. This will enable developers, community members and our customers to benefit from the sustainable and modern Java EE platform.

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.