Business Process Management (BPM) Engine

Manage workflows via our BPM Engine based on Flowable.

Table of Contents

Note that this is the first iteration of the Business Process Engine (BPM Engine) integration in yuuvis® Momentum 2020 Autumn version. We reserve the right to change the interfaces and/or the integration architecture according to the needs of our clients and customers. If you consider using the BPM Engine in your project please contact us before to double check the most recent developments (pm@optimal-systems.de).

Introduction

In order to establish a standardized approach when working with such a large amount of documents, companies that use DMS systems need to establish and enforce business rules for their processing. For instance, an employee must know which steps are to be performed with an invoice document in order to pay an invoice to a third party, while still complying with bookkeeping rules of the company. The business rules also include multiple technical steps that should be performed by the employee in order to comply with these business rules as well as with the legal norms. For instance, a payed invoice must be marked as such in order to avoid double payment of it, and the retention time of it should be set, to prevent deletion within the time period defined by the law. All this puts a considerable cognitive load onto employees working with documents, since they have to execute their primary task of processing the invoice, while keeping the status of the document up to date (how far has the payment process progressed and what has been done so far) and setting such purely technical fields on the document. 

yuuvis® Momentum is a powerful DMS system that can handle hundreds of millions of documents with ease—whether they are of numerous types, spread over multiple tenants or used by hundreds or thousands of users. In order to efficiently adopt and enforce the business rules, a considerable automation is necessary to be able to support the employees who work on the documents.  And that is why we integrate the yuuvis® Momentum DMS with a workflow functionality in form of a BPM Engine. The DMS stores and manages the documents, and BPM Engine implements the business rules that define how documents are processed in a company. Implementing the business rules as workflows is not only an automation capability, but also a great opportunity for companies to document their business rules.

Why Flowable? 

In order to support the workflows in yuuvis® Momentum, we have decided to integrate Flowable engine in it, for the following reasons:

  • it supports the BPMN 2.0 modeling notation, and has a visual modeler
  • it is highly extensible and supports numerous ways of integration with third-party systems
  • it has an active developer and user community
  • it has detailed documentation for all its components and technical interfaces
  • it has been proven in numerous projects and for various purposes
  • it is available as a freely available, open source workflow engine, accessible to any yuuvis® Momentum solution developer in case some details of implementation require detailed investigation

Integration Overview

The BPM engine is deployed within the Kubernetes cluster, next to other yuuvis® Momentum services. It exposes a detailed REST interface that is accessible from the cluster. The administration console uses this interface to manage models and processes running within the engine. The REST interface of the engine is not exposed to external clients, but can be accessed only through system gateway (that authenticates and authorizes incoming requests) and Web-API gateway. Flowable REST interface that is accessible within the cluster includes not only process-instance relevant endpoints that are of interest to clients, but also considerable number of endpoints that are used for management purposes. For this reason, the Web-API exposes only those endpoints that are relevant to external clients (that may be yuuvis® Momentum client, its customization or a custom client), such as endpoints for starting a process, or an endpoint that lists the currently active tasks of a user. The engine contains a custom IDM connector for Keycloak with which it can access users and their roles.

Both the BPM engine and Web-API Gateway REST interfaces are documented using Open-API and can be explored and tested via Swagger-UI.

The engine supports multitenancy. Each request coming from the Web-API Gateway will contain the tenant information in the JWT token and the processes and models are divided into tenants based on this information.

In case that REST interface of the engine is accessed from within the cluster, the caller has to ensure that either a correct yuuvis® Momentum JWT token is sent with the request or that the tenant ID is passed as a parameter of the endpoint call.

Read on

BPM Engine Endpoints

These endpoints allow the management of workflow processes and tasks.
Keep reading

BPM-ADMIN-UI Service

Administer the models, processes, tasks and jobs offered and treated by the BPM-ENGINE service via a graphical user interface. Keep reading

Additional Services and Custom Clients

Services for functional extension as upper layers on top of the yuuvis® Momentum core system. Keep reading