The Imixs-Workflow Engine

The Imixs-Workflow Engine provides different Java EE services to access the model information and to control and process the data of a running workflow instance (workitem). The service EJBs can be used directly form a Java Enterprise application or can be accessed through the RESTfull service API.

The Java EE Services

The Imixs-Workflow Engine is based on the Imixs-Workflow Core-API and provides a set of services which can be used to access the Imixs-Workflow engine. The components are divided by the different building blocks of a workflow management system.

  • The Database Layer -> EntityService
  • The Worklfow Engine -> WorkflowService
  • The Model -> ModelService
  • The Analysis -> ReportService

The EntityService

The EntityService component provides an interface to create, save and load data objects (workitems) which a database. A workitem is represented by the ItemCollection which is a value object class. An ItemCollection can contain any kind of information used by the workflow engine and the business application. The EntityService is independent form the workflow engine and can also be used to store data objects which are not associated with a workflow model (e.g configuration data).

Each data object managed by the EntityService is assigned to a access control list (ACL). The ACL protects a data object for unauthorized access. In case the CallerPrincipal has insufficient rights to save or read a specific data object, the EntityService throws an AccessDeniedException.

Read more about the Imixs EntityService.

The WorkflowService

The WorkflowService component provides the interface to the Imixs-Workflow kernel. This component supports methods to create, process and access workitems. A workitem managed by the WorkflowService need to be assigned to a valid workflow model definition.

Read more about the Imixs WorkflowService.

The ModelService

The ModelService component provides methods to write and read model information created with the Eclipse based modeling tool Imixs-BPMN. The ModelService can also be used by the business application to read the model information.

Read more about the Imixs ModelService.

The ReportService

The ReportService component supports methods to create, find and execute business reports created with the Eclipse based Imixs-Workflow Modeller. A report is used to generate aggregated information from workitems and processing data managed by the WorkflowService. Reports can also be executed by the Imixs-Workflow engine.