Imixs Workflow ...the open source workflow technology for business applications

Workflow Engine

Overview

The Imixs JEE Workflow is based on the Imxis Workfow API. So the general concepts of this project are also valid to the Imixs JEE Worfklow. You will find informations about the Imixs Workflow API here

The JEE Components

The Imixs JEE Workflow provides a set of components which can be used to implement workflow management systems. The components are divided by the different functions of a workflow management system. You always use only these components which are helpful for your desired functionality.

EntityService

The EntityService component is used to save and load an instance of an ItemCollection into a Database. An ItemCollection is a value object containing all informations about a process instance. For example all workitems processed by the Imixs JEE Workflow are stored by the EntityService into the database. But also Model entities or other business objects can be managed by the EntityService. The EnityService provides an access control list (ACL) for each entity to avoid unauthorized access to the values of an ItemCollection. When the CallerPrincipal is not allowed to save or read a specific ItemCollection from the database the EntityService throws an AccessDeniedException. The EntityService can be used to save business objects into a database with individual read- or writeAccess restrictions. The EntityService is the core service component used by the Imixs JEE Workflow.

WorkflowService

The WorkflowService component is the JEE implementation of the Imixs Workflow API. This component acts as a service facade and supports general methods to create, process and access workitems. The component is easy to use and all the business logic can be controlled fully by a workflow model. The WorkflowService component provides also a set of methods to find and fetch collections of workitems processed by the WorkflowManager. The WorkflowService is the main component used by an application to manage business logic.

ModelService

The ModelService component is the JEE Implementation of the Model interface from the Imixs Workflow API used by the WorkflowService. The Interface acts as a Service Facade and extends the standard interface with useful methods to load and store workflow models. The ModelService component can be used by an application to provide the user with informations about the workflow model for a specific business process. Models can be managed by the Imixs Eclipse Workflow Plugin.

ReportService

The ReportService component supports methods to create, find and excecute Imixs Workflow Reports. A report can be used to generate aggregated informations from workitems and process informations managed by the WorkflowService. Reports are a very flexible technology and provide an easy to use interface based on the Imixs REST Service API. Reports can be created by the Imixs Eclipse Workflow Plugin.