Overview

inFloworx BPM platform is first and foremost a set of developer tools that give business process and automation capabilities to enterprise applications. The core engine is a leightweight restful web-API that can be directly called or be part of the micro-services architecture.


Applications

De-coupled business logic

Easily embed the BPM engine in an enterprise application to enable the design and execution of custom business processes for different modules of the application.

Service orchestration

The BPM engine can be used as a micro-service orchestrator in an enterprise solution to avoid hard coding orchestration logic.

Integration

BPM engine can act as a powerful integration tool where business processes can bring multiple applications together.


Security

Security is an integral part of the Core BPM engine. Every request made to the restful web-API pass through an internal security module and an external one integrated with the host application.

External

Tokens (JWT/SAML …etc.) can be passed through the header of a request. An extension code can be developed and integrated in the BPM engine, where the token can be accessed and authenticated by the host application’s identity manager.

Internal

What is unique about the inFloworx BPM engine is that with state machine workflows, state user assignments can be passed to the engine where they will be stored. Transitions of the state can only be executed by the assigned user list. Hence the host application does not need to implement state transition filtering logic.


Scalability

Memory footprint & utilization

The BPM engine has a very small memory footprint. Moreover, the instance manager within the engine is responsible to initiate and execute instances of workflows in seperate threads. This allows every instance to run in complete isolation with interfering with the engine.

Horizaontal scaling

Multiple engines can be can be chained together horizontally to handle big number of requests.

Hybrid scaling

The BPM engine can be configured to use many instance managers. Each instance manager can be installed on seperate on-premise servers or the cloud. Thus enabling the BPM engine to scale horizontally.