Workflow Engine for Sequential Business Processes

Project Technical Description
Summary

The Workflow Engine described here is a generic and re-usable component that includes a set of business objects allowing to run a business process according to the workflow model.

The implementation of the workflow model is made with the main goal of automating total or partial execution of a business process previously defined. The automation of the process is defined within the process itself that identifies the tasks to be performed, who should perform, the conditions to be met, and the sequential execution line.

Its usage is directed to applications on which the user have a set of pre-defined processes for performing specific services in the context of the application scope (Refer to the EEM.Net application described here)


Description

Process Definition

A business process is implemented primarily as a set of procedures that are somehow interconnected in order to achieve an objective (business) . A process always has a type and a group of specific information items or properties that characterize the process .

The definition of each process obligates to the definition of each of the procedures and their relationships (execution line) which determine the logical ordering of process execution.

A procedure will be implemented as a task or activity in turn sub-divided into items of work, which in turn are associated with an entity role – the responsable - in charge of its execution (after the definition phase of the process) . A process can also be interpreted as a task being in turn called sub- process.

work item represents the smallest unit of work in the context of a process task to which it belongs . The work items are displayed every charge in the form of a task list  that holds details of each item of work assigned to it.

The definition of a task and related items work involves specifying conditions as logical expressions that decide the start or completion of a new task or work item .

PROCESS EXECUTION

The component is defined, created and managed by a system able to interpret the process definition, in order to be able to create instances of the same process, interacting with each participant in the workflow updating their worklist, creating instances of tasks / activities according with its definition.

The worklist includes a list of items of work (i.e. jobs) to be executed sequentially or by priority.

During the execution of a work item, the responsable can associate a document – Attachment- implemented as a simple description, reference to a location in the database, URI, etc and can be used to carry items to the next working item.

The property items defined are populated by the user and reponsibles during the execution line of the process. The set of initial properties is copied from the process definition, and new properties can be associated by the user or task reponsibles to the process instance during execution (named as relevant data)

The control system is also in charge of administrative and other tasks such as the ability to serialize itself for the purpose, for example, audit or temporary storage.

The information contained in this article is made ​​available for reading with authorization of Expedita Ltd