Imixs Workflow provides a full featured Workflow Management System (WFMS) based on the Java EE 6 specification. It fulfills the requirements to a scalable, transactional, robust and simple deployable Java EE Workflow System. The Imixs Workflow enables you to build enterprise applications faster than before.
The requirements to a business process solution can vary widely depending on the nature of the business process. For example a business process can be complete within hours or it can take days, weeks or even months to process to completion. In these circumstances a BPM Solution needs to be able to scale efficiently and it needs to be able to persist the process state, and manage complex transactions. A business process solution needs to manage long living process instances in a robust and highly available environment. For these reasons it is important to provide a standardized technology environment to implement a BPM Solution.
One of the most important advantages of the Imixs Workflow Engine is the fact that it is based on the Java Enterprise Platform (Java EE). A Java EE application server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it. So all the features and characteristic from the Java EE platform are also part of Imixs Workflow. Here are some examples:
The Imixs Workflow Engine is absolutely database independent. The
persistence of a process instances is based on the Java Persistence API (JPA). This is the reason why
you did not need to install a specific database. You did not need to
start any SQL Scripts to initialize a database. You can run the Imixs
Workflow on any database system. The Imixs JEE Workflow automatically connects to that
database you have configured in your application server environment and
the application server cares about initializing the database and mapping
a process instance to the database schema.
The Imixs Workflow supports a separate Access Control List (ACL) for each process instance. This means that access can be controlled for each running process instance by the Imixs Workflow Manager. So security is one of the core features of Imixs Workflow. The Implementation is based on Java Authentication and Authorization Service (JAAS) which is part of the Java EE specification. This means that you can secure Imixs Workflow with any authentication and authorization framework integrated in your server environment. You can choose different types of LDAP directories (like OpenLDAP or Microsoft AD) and also database centric directories providing user, password and role informations. But you can also use any Java EE specific security mechanism like JSR-196 to secure your Imixs BPM application.
The Imixs JEE Workflow implementation is based on the EJB 3.0 specification. And so the Imixs JEE Workflow fulfills all the requirements to a scalable, transactional and robust BPM platform. Transaction is fully controlled by the Java EE application server. There are no restrictions in the architecture or transaction level. Imixs provides hight level scalability. You can build a server environment without any restrictions in clustering and load balancing. Any Java EE 5 or Java EE 6 application server architecture is fully supported.
XML and Web Service Projects provides standardized interfaces to
external infrastructure or legacy applications. The XML and Web Service
interfaces are also based on Java EE specifications like the JAXB,
JAX-REST and JAX-WS frameworks. The project provides REST Services and
SOAP Web Services. There are no restrictions in
connecting your workflow application to any server system.
Read more about this topic: "Imixs Workflow Engine - getting started".