Imixs-Data – Manage Your Business Data

With the new master project Imixs-Data, we are extending the technology stack of the Imixs Workflow Engine with a powerful new feature block. Imixs-Data provides functionality to view, group, and manage business process data. In the near future, the existing modules Imixs-Archive-Importer, Imixs-Archive-Exporter and Imixs-Archive-Documents will be migrated into this new master project.

Why a New Module?

The main motivation behind Imixs-Data is to separate the management of internal and external business data into a clean and reusable library. Especially with regard to the new AI functions of Imixs-Workflow, data and its clear grouping by business processes are becoming increasingly important.

Business data can either be generated directly by the Imixs Workflow Engine or provided by external data sources. Such data is typically required to run business processes efficiently and to provide users with relevant information.

Imixs-Data introduces four core capabilities:

  • Data Views – Display business data in a table or export it into a spreadsheet
  • Data Groups – Organize processes into main and sub-processes
  • Data Import – Import data from external sources (e.g. email, CSV, APIs)
  • Data Export – Export business data and documents into external storage

Data Views

Data Views provide a convenient way to select work items via queries and display the results in a list. A data view defines both the selector (e.g. a Lucene query or a reference to an internal/external data source) and the columns with their content.

In addition, data views allow you to configure columns, labels, and sorting options. They can also include custom search forms and spreadsheet exports, enabling flexible integration of individual business views.

Data Groups

Data Groups are a new pattern for organizing and linking business processes. A Data Group is itself a process that can be referenced by other processes within the same instance.

For example, you might want to:

  • Consolidate all payment transactions of a customer into a single Statement of Account
  • Group all invoices that need to be exported into an external IT system within a dedicated Export Process

Referencing a Data Group is done via a single process property, making it easy to access them through the Imixs Workflow API. This offers a smart and elegant way to handle complex relationships between business processes.

Data Import

The Imixs-Data Importer module provides a generic service to import documents from various external sources into the Workflow Engine. Sources can include an FTP server, an IMAP mailbox, or other structured data feeds.

The importer is built on top of the Imixs Scheduler API, enabling scheduled imports. The scheduler publishes CDI events that can be processed by specific importer implementations. This design makes the Importer highly extensible and adaptable to custom requirements.

Currently supported sources include:

  • IMAP – Import emails via IMAP
  • FTP – Import files from an FTP server
  • CSV – Import CSV files from local or remote locations

Custom import agents can also be implemented to handle additional data types.

Imixs-Archive-Exporter

The Imixs-Archive-Exporter is a microservice that exports documents from an Imixs Workflow instance into external storage systems, such as a local file system or an FTP server.

The service is fully decoupled from the workflow engine and can run independently – for example, on separate hardware or within an external cluster.

The Exporter processes EventLog entries created by the Workflow Instance and stores related file attachments in the defined target system. This architecture provides a scalable and flexible approach to managing long-term document storage.


Learn more about the possibilities of the Imixs Data function as well as its use in Imixs-Office-Workflow!

New License Model: Eclipse Public License – v 2.0

Finally we switched the Imixs Workflow license model from GPL 2.0 to the modern Eclipse Public License – v 2.0

The Imixs Workflow proejct is now licensed under the EPL-2.0. The Eclipse Public License is a modern license which reflects the norms and expectations of an industry that has changed a lot in the last years.

As a weak copyleft license, the EPL is a middle ground of sorts between permissive options (like the MIT License or Apache License 2.0) and strong copyleft licenses (like GPL v2 and GPL v3.) A core requirement of the EPL – one that’s not part of permissive licenses – is that derivative works of EPL-licensed code must also be licensed under the EPL. As such, anyone who distributes a program that constitutes such a derivative work must also make their source code available. Find more details here.

In addition the new Imixs Workflow license model includes also a secondary license for GPL-2.0+ compatibility. In this way you can still license your work under GPL if you like.

Find more details:

Imixs Workflow – Where We Stand Today and Where We’re Headed Next

As the business process management landscape continues to evolve at an unprecedented pace, organizations worldwide are seeking workflow solutions that can adapt to changing requirements while maintaining operational excellence. Today, we’re excited to share a comprehensive technical overview of Imixs-Workflow and our ambitious vision for the future of human-centric business process management.

The Foundation: Where We Stand Today

Imixs-Workflow has established itself as a powerful open-source BPMN 2.0 workflow engine, combining low-code simplicity with enterprise-grade capabilities. Built on the robust Jakarta EE platform, the Imixs-Workflow engine is specifically designed for human-centric business processes that require flexibility, security, and scalability.

Continue reading “Imixs Workflow – Where We Stand Today and Where We’re Headed Next”

Imixs-Security 3.0.0: Advanced OpenID Connect Library for Jakarta EE 10

We’re excited to announce our latest release of Imixs-Security OIDC, a powerful new OpenID Connect (OIDC) library for Jakarta EE 10 applications. This new release represents a significant milestone in our open source security toolkit, bringing enterprise-grade authentication capabilities to Jakarta EE applications.

Why Another OpenID Connect Library?

While Jakarta EE 10 introduced native OpenID Connect support through Eclipse Soteria 3.0, this default implementation shows some gaps that needed addressing for real-world enterprise applications. The primary limitation of the existing solution is their focus solely on browser-based user flows, leaving a significant gap for API authentication scenarios.

Imixs-Security-OIDC brings a new flexible solution providing comprehensive support for both – browser based OpenID Connect login and Bearer Token authentication. The later is a crucial requirement for modern applications that need to integrate with external systems via REST APIs.

Continue reading “Imixs-Security 3.0.0: Advanced OpenID Connect Library for Jakarta EE 10”

Understanding Service Tasks in Imixs-Workflow

A common question from users transitioning from task-centric engines (like Camunda) to Imixs-Workflow, is whether Imixs-Workflow supports Service Tasks—a common BPMN element used in workflow engines like Camunda. Let’s see how this works in Imixs-Workflow

First of all – you can add a service Task into your model. But this will not execute any code.

The answer to this lies in understanding Imixs’s event-driven architecture. Unlike BPMN engines that rely on embedded code in Service Tasks, Imixs executes custom logic through events by two core mechanisms:

1. Plugins: Reusable Workflow Logic

Plugins are Java classes triggered at the processing phases of the workflow lifecycle. They act like “global interceptors” for business logic.

Key Traits:

  • Extend org.imixs.workflow.Plugin or AbstractPlugin.
  • Running in each processing cycle
  • Modify workflow documents during processing.

A Plugin can be added into the Model Workflow definition and will be executed automatically in each processing cycle.

Example: Automatically calculate a discount in an order approval workflow:

(See Plugin API Docs for details.)

2. Adapters: Event-Driven Actions

Adapters (CDI observers) react to workflow events, similar to microservices listening to Kafka topics. They’re ideal for side effects (e.g., sending emails, logging).

Key Traits:

  • Support CDI / EJB / Transactional
  • Running on a specific Event
  • Decoupled from the core workflow (run asynchronously if needed).

Example:

Why This Approach?

  • Separation of Concerns: Business logic lives outside BPMN files.
  • Flexibility: Plugins/Adapters can be shared, tested, and versioned independently.
  • Scalability: Events integrate with Java EE/CDI, Kubernetes, or serverless.

Migration Tip for Camunda Users

Instead of embedding code in a Service Task:

  1. For document transformations: Use a Plugin.
  2. For side effects (APIs, notifications): Use an Adapter.

Explore Further:

Questions? Discuss in the Imixs Forum.

GraalVM 24.1.2, Wildfly 29.0.1 and Imixs-Workflow 6.2

With the latest version of Imixs-Workflow (6.2.0) we upgraded to GraalVM 24.1.2 and Widlfly 29.0.1-Final-JDK-17.

Wildfly 29 requires GraalVM in version 24.1, as the polyglot version ‘24.1.2’ is no longer compatible to older Truffle version ‘23.1.1’. Wildfly 29 comes also with a lot of bugfixes and minor improvements. In this way Wildfly has now become a bit stricter in dealing with some older packages from the JDK or Java SE version. To be able to execute Scripts with the GraalVM polyglot language engine you need to enable the global modules feature. Just add the module ‘jdk.unsupported’ to your ee subsystem config in standalone.xml:


This allows you to execute Imixs-Workflow business rules in Wildfly 29.0.1. Find the full story here.

Open-BPMN Version 2.3: New Features and Improvements for Easier BPMN Modeling

We’re thrilled to announce today the release of the latest version of Open-BPMN! With this update, we’ve introduced several exciting new features and improvements that make modeling BPMN diagrams even easier and more efficient.

What’s New in This Release?

  1. Built on GLSP 2.3:
    Open-BPMN now runs on the latest version of the Graphical Language Server Platform (GLSP) 2.3 framework. This upgrade brings better performance, stability, and a more reliable modeling experience.
  2. New Data Objects:
    We’ve added new Data Objects to the toolkit, allowing you to create even more detailed and expressive BPMN diagrams. This enhancement opens up new possibilities for modeling complex business processes.
  3. Improved Routing:
    The routing of elements in Open-BPMN has been optimized. Connecting elements is now more intuitive and faster, making your workflow smoother than ever.
  4. VS Code Extension Update (Version 1.1.14):
    Alongside the core release, we’ve also updated our VS Code Extension to version 1.1.14. This update allows you to create and edit BPMN models directly in Visual Studio Code and Microsoft Visual Studio Code – perfect for those who want to stay in their development environment.
  5. Compatibility with Imixs-Workflow:
    The new version of Open-BPMN is fully compatible with the open-source BPMN engine Imixs-Workflow. This ensures a seamless transition from modeling to executing your processes.

Why Does This Matter?

With these updates, we continue to solidify Open-BPMN as one of the leading open-source solutions for BPMN modeling. Our goal is to provide you with a tool that is not only powerful but also easy to use – and all of this for free and open-source.

Try It Out Now!

The new version of Open-BPMN and the updated VS Code Extension are now available for download. Head over to our website to get started: https://www.open-bpmn.org.

We’re excited to hear your feedback and learn how you’re using the new features. Share your experiences with us – because Open-BPMN is all about the community!

Your Open-BPMN Team

Business Intelligence Built on Metrics – Part II.

In Part I. of this series, we explored how metrics can bridge the gap between dynamic business processes (BPM) and business intelligence (BI). Now, in Part II, we dive deeper into the practical implementation: How to implement a Metric service, how to select the right metrics, integrate them into your BI tools, and ensure they deliver actionable insights?

The Technical Stack

Our solution combines several powerful open source technologies, each chosen for its unique strengths in building a scalable and efficient Business Intelligence system.

  • Eclipse Microprofile Metrics: Serving as the application part translating business data into metrics. This framework allows you to implement metrics based on the widely used Prometheus metric format in an easy way.
  • Prometheus: As our time-series database, Prometheus excels at storing and querying large volumes of metric data in real-time, making it ideal for monitoring and analysis.
  • Grafana: For visualization, Grafana transforms raw data into intuitive dashboards, enabling teams to quickly interpret trends and make data-driven decisions.

In the following sections, we’ll dive deeper into how each piece of this stack works and how you can leverage it to build your own metrics-driven BI solution.

These components also seamlessly integrated into Imixs-Office-Workflow, an open source business process management platform.

Continue reading “Business Intelligence Built on Metrics – Part II.”

E-Invoice – Pure Java Library

With our new project Imixs E-Invoice we provide an easy to use pure java library to read and write e-invoice documents in XML.

Imixs E-Invoice stands out for its independence from external dependencies. In contrast to libraries like the Mustang project Imixs E-Invoice does not have any external dependencies. The library seamlessly integrates into modern Java projects and makes it a good choice for custom projects and adapters.

Imixs E-Invoice supports the major European e-invoice standards factur-x (CII) and UBL. To get started just add the Maven dependency:

Now you can read any e-invoice xml document and translate it into a EInvocieModel

You have full access to the XML tree behind by using standard Java xml dom objects:

Write a E-Invoice XML Document

You can also create a e-invoice document by simply using XML templates. To create a new e-invoice document you can work with any valid e-invoice template as an XML file. The template is the base for the core model that can be updated by the library. See the following example code:

Join the Project

We maintain Imixs e-invoice as an open source project on GitHub and welcome you to join our community. Whether you want to fix bugs, add new features, or improve documentation – your contributions are valuable to us. You can start by forking the repository, creating issues for bug reports or feature requests, or submitting pull requests with your improvements. We actively review contributions and provides feedback to ensure high code quality.