The Java EE Workflow Engine
Imixs-Workflow provides a powerful, scalable and transactional workflow engine for Java Enterprise Applications.
Scalability and Resilience of Business Applications
Requirements for a business application can vary widely, depending on the nature of the underlying business process. A transactional business process for example can be processed within seconds. On the other hand a human based workflow can take days, weeks or even months to be completed. Under these circumstances a workflow engine needs to be scalable, efficiently and resilient in managing the business data for a long running business process.
To accomplish these requirements, we decided to build Imixs-Workflow on top of a standardized and open technology.
One of the strengths of Imixs-Workflow is the fact that the workflow engine it is based on the Java Enterprise Platform (Java EE). A Java application server (e.g JBoss, Wildfly, GlassFish) handles transactions, security, scalability, and concurrency. All these features and characteristics are also part of Imixs-Workflow. For that reason Imixs-Workflow fits perfectly into a modern software environment and can be deployed as a self contained service also into a distributed microservice architecture.
The Advantage of the Java EE Platform
The Imixs-Workflow Engine is 100% database independent. The
persistence of a process instance is based on the Java Persistence API (JPA). For that
reason there is no dependency for a specific database.
Imixs-Workflow automatically connects to the database you have
configured in your application server environment. The database schema is
generated automatically during deployment.
The Imixs Workflow engine supports a separate Access Control List (ACL) for each process instance. The access can be controlled based on the workflow model. The Implementation is based on Java Authentication and Authorization Service (JAAS) which is part of the Java EE specification. Any authentication and authorization framework supported by your application server environment can be integrated.
Scalability and Transaction
The Imixs-Workflow engine is implemented based on the EJB specification. The different service layers fulfilling all the requirements to a scalable, transactional and robust BPM solution. Transactions are fully controlled by the Java EE application server and there are no restrictions in the architecture or transaction level. So Imixs-Workflow provides a high level scalability and you can build a server environment without any restrictions in architecture.
Rest Service API
Imixs-Workflow provides a Rest Service API to connect to the workflow engine on a standardized interface. The XML and Web Service interfaces are based on the Java EE specifications JAXB, JAX-REST and JAX-WS. Through the Rest Service API Imixs-Workflow allows an easy integration into existing applications and frameworks. There are no restrictions in connecting your workflow application to any other service or application environment.
Imixs Workflow integrates into the Java EE specification and supports a lot of APIs and standardized technologies.
- Database independence
- Java Persistence API
- 1.0 supported
- 2.0 supported
- Authentication and Authorization Service
- JAAS support
- Process Instance ACL
- Scalability and Transaction
- EJB support
- EJB 3.0
- EJB 3.1
- Timer Service supported
- XML and Web Service Support