Imixs Workflow on Jakarta EE 9

Imixs-Workflow is the first open source workflow engine running on Jakarta EE 9. The latest version 6.0 can be run on every modern application server supporting the new cloud native industry standard. This allows you to digitize your business processes in a modern, portable and open IT environment.

Jakarta EE is a set of specifications that enables the world wide community of java developers to work on cloud native Java enterprise applications. Imixs-Workflow integrates into this technology and provides you a powerfull, stable and sustainable way to map your business processes according to the BPMN 2.0 standard.

For many years, Java EE has been a major platform for mission-critical enterprise applications. Imixs Workflow was founded on this technology from the first beginning. In order to accelerate business application development for a cloud-native world, the Java EE specification moved to the Eclipse Foundation enabling a community-driven collaboration and a more open innovation.

Version 6.0.0 and Java 11

With version 6.0.0, Imixs Workflow adapted the existing technology to the new Jakarta EE 9 specification and modernized various areas of the open source workflow engine. At the same time, with this release, the switch to Java 11 is now completed.

Rule Engine based on GraalVM

The integrated business rule engine of Imixs Workflow is now based on the GraalVM technology. With the new rule engine, business rules can now be written in different popular languages and can be combined with additional features and libraries. This allows the design and the execution of more complex business processes based on the BPMN 2.0 standard.

With the Jakarta EE 9 application ‘Imixs-Process-Manager‘, the Imixs Workflow project provides a reference application for a quick start. The project is hosted on Github.

Imixs Workflow is 100% open source and we invite you to participate in it. There are different ways how you can do that. Join the Imixs Workflow Project now on GitHub. You can help to improve the project by reporting bugs or start a new discussion.

Imixs-Cloud – Running SQL in Kubernetes

For most self managed Kubernetes environments the SQL database is one of the most important infrastructure parts. Typically SQL database servers are not designed to run on distributed nodes in an environment like Kubernetes. One solution is to run a single SQL database in a Kubernetes POD with a distributed filesystem like Longhorn or Ceph. This works well for example with PostgreSQL in most situations. Of course this can have some performance impacts and requires fast SSDs. Another solution is to run a distributed SQL Database like Cockroach. With the latest version of the Imixs-Cloud project we now offer a smart solution to run a SQL Database cluster within a self managed Kubernetes cluster.

Note: CockroachDB does not support the isolation level of transactions required for complex business logic. For that reason the Imixs-Workflow project does NOT recommend the usage of CockroachDB. See also the discussion here.

CockroachDB

CockroachDB is a distributed SQL database with a build in replication mechanism. This means that the data is replicated over several nodes in a database cluster. This increases the scalability and resilience in the case that a single node fails. With its Automated-Repair feature the database also detects data inconsistency and automatically fixes faulty data on disks. The project is Open Source and hosted on Github.

CockroachDB supports a lower level of ACID transactions. This means guaranteed atomicity, isolation, consistency, and durability of data is not the same quality as in a PostgreSQL database . However CockroachDB can be used in combination with Jakarta EE and JPA. Supporting the PostgreSQL wire protocol, CockroachDB can be used with the standard PostgresSQL JDBC driver.

See how CockroachDB can be used within the Imixs-Cloud project .

You can find a install guide here.

Imixs Cloud & GitOps

With the latest update of the Imixs-Cloud project the Kubernetes cluster environment now also supports GitOps. GitOps describes a concept in which a git repository can be used for the entire management process of an application – from development to deployment to maintenance. With the directory structure of separate sub-directories for each application the core concept of Infrastructure as Code was already supported by Imixs-Cloud from the beginning.

Now the project integrates the Open Source project Argo CD in its tool chain. If you already have a Imixs-Cloud environment running you can start Argo CD within seconds. Just edit the ingress deployment with your own Internet domain and start the deployment:

$ kubectl create namespace argocd 
$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
$ kubectl apply -f management/argo-cd/030-ingress.yaml

The Arco CD web UI allows you to easily snyc all your applications to be deployed, monitored and updated automatically.

You fill find the complete setup guide here.

Imixs Releases new Process Manager

The digitization of business processes has become a key challenge for organisations and enterprises. From the development perspective, essentially two things are needed for a modern application design:

  • a process description – created using the BPMN 2.0 standard
  • a runtime environment – to execute and persist business data in a secure way

With the Imixs Process Manager we are now releasing a new platform that combines the design and the execution of business processes in a highly scalable and easy to use environment. Organisations can start quickly and develop and test their own business process. And of course the open source platform can be customized and extended to be used for development as well as for production.

The Imixs Process Manager comes with a Docker profile that can be started within seconds in a containerised environment like Kubernetes.

BPMN 2.0

A business process is designed with the help of the Imixs-BPMN modeller tool. New models are uploaded and executed directly within the Imixs Process Manager.

Custom Forms

With the new build-in custom form generator, the Imixs Process Manager allows the definition of custom forms directly in a BPMN 2.0 model without writing one line of code. New forms are defined by a XML template which brings much more flexibility into the process design.

<?xml version="1.0"?>
<imixs-form>
  <imixs-form-section label="Order">
    <item name="_orderid" type="text" label="Order ID:" />
    <item name="_orderdate" type="date" label="Order Date:" />
  </imixs-form-section>
</imixs-form>

Open Source

Of course, the Imixs Process Modeller is open source and can be forked on GitHub.

The Imixs Process Manager provides a great new and easy way to start with modern business process management.

Imixs-Workflow 5.2 Supports Asynchronous Events

With the new release v5.2.0, the open source workflow engine Imixs-Workflow now supports the asynchronous execution of BPMN events.

This feature is a big step forward especially in a microservice architecture. The new so called AsyncEvents make it much more easier to decouple a Rest API call from the processing life cycle of the workflow engine. In this way the request-response pattern shows better performance and allows a very clear design of complex business processes.

The AsyncEvents were already part of the Imixs-Microservice project in a pre-release and become now a core feature of the Imixs-Workflow engine. Especially in more complex architectures, the use of the so-called SAGA Pattern is an important building block. With asynchronous events Imixs-Workflow is now supporting this design pattern as a core feature. Read also our blog about building powerful microservice solutions with the SAGA Pattern.

Improved OCR Integration

The new version of the open source project Imixs-Workflow provides an improved OCR integration and supports much more document formats.

With the upcoming release of Imixs-Archive v2.1.2, which is part of the Imixs-Workflow ecosystem, nearly all kinds of documents can now be analyzed on demand. The Optical character recognition (OCR) is based on the latest version of the Apache Tika project. The Imixs-Archive service detects and extracts metadata and text from all common file types (such as Word, PPT, XLS, JPG and PDF). All of these file types are parsed through an integrated microservice, making the data useful for fulltext search, content analysis, translation, and machine learning.

Even a snapshot taken with your smartphone from an invoice or a contract document can now be transferred to the Imixs workflow system in seconds. This makes the digitization of business processes even faster and easier.

With the integrated Workflow Management Suite Imixs-Office-Workflow your team can collaborate fast, clear and in a structured way.

Imixs-Workflow provides a modern microservice architecture. This means that you can integrate this solution into any container-based infrastructure such as Kubernetes. The Imixs workflow project already provides production ready Docker images.

Kubernetes for Small and Medium Organisations

With Imixs-Cloud we started a new open infrastructure project, providing a lightweight kubernetes cluster for small and medium-sized organizations. This projects goal is to build, run and maintain business applications in a production ready and self managed kubernetes cluster. The main objectives of Imixs-Cloud are simplicity, transparency and operational readiness.

The runtime environment is based on Kubernetes and provides an easy way to setup and maintain a medium-sized kubernetes cluster environment hosted on virtual servers or bare metal. The project is open source and constantly under development. You can join the project on Github.

The project contains information how to setup a kubernetes cluster on bare metal servers or cloud servers.

Continue reading “Kubernetes for Small and Medium Organisations”

Multi-Model Support

With the next upcoming version of Imixs-Worklfow 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.

“I Love Free Software Day”

Every year, the Free Software Foundation Europe (FSFE) encourages supporters to celebrate Valentine’s Day as “I Love Free Software Day,” a day for supporters to show their gratitude to the people who enable them to enjoy software freedom, including maintainers, contributors, and other activists.

We at Imixs support this initiative and encourage companies and organizations to pay attention to the value of free software.

Read more.

Imixs-Workflow – Version 5.0.2 Released

Today we released version 5.0.2 of the Open Source Workflow Engine Imixs-Workflow.

The new release includes – beside the general new support of Eclipse Microprofile – some important new features. The main feature of this release is a new implementation of Imixs Adapter API. This API supports now two kinds of adapter interfaces.

  • The SignalAdapter can be used to implement a fine grained control of the event processing life cycle.
  • The GenericAdapter interface provides a model independent extension point to implement generic API features.

One of the first implementations is the new AccessAdapter class. This adapter controls the ACL defined by the Imixs-BPMN Model definition. This adapter can also be a good starting point of custom generic adapters.

Together with the Imixs Plugin API the Adapter API now provides developers with a strong and flexible extension mechanism to implement all kind of human-centric and microservice based workflow applications.