The Process Engine is the FileNet P8 Platform component that allows you to create, modify, and manage business processes (workflows) implemented by applications, enterprise users, or external users (such as partners and customers). Process Engine application development involves the development of custom applications or applets to perform specific steps or other activities associated with a workflow.
The Process Engine manages workflow definitions and events, which are created using the Process Designer, one of the graphical GUI tools of the FileNet web application, which may be one of the following: FileNet Workplace, FileNet Web Services, or FileNet Open Client. Depending upon which FileNet web application you are using, these application services are provided as follows:
A workflow definition is a user-created graphical map showing the sequences, resources, and routing logic of the specific steps needed to complete a business process. The specification of each step includes which users will do the work, the user interface that the participants will see, which attachments (documents or folders) are required, what data is necessary, and what responses the participants can choose. The workflow definition's routing logic specifies how work advances from one step to the next.
The Process Engine provides the following basic capabilities:
Workflow definitions are stored and maintained as XML-based objects in an object store (managed by the Content Engine). The object store provides the objects that link the workflow definition to other objects and processes. The object store also specifies the events that launch a workflow. Workflow definitions include:
Routing The part of a workflow definition that specifies the order of execution for a series of steps. Each step (except the last) has one or more routes leading from it. You can define a route so that it is always taken, or is taken only if a pre-defined condition is true.
Step The stage in a workflow where a distinct, well-defined kind of work is performed. On a workflow map, each step represents a specific activity or task in the business process described by the map. A workflow consists of two or more steps. You can assign steps to a single individual, to a group, or to a work queue from which any one of the designated users, or an automated program, can pick up and complete the step. Applications, called "Step Processors", can be developed for users to perform operations associated with a step (see Introduction to Process Applications). System steps, which are completed by the Process Engine, use built-in functions that provide logic control and other functionality.
Milestones Milestones provide high-level status information about the key points in a workflow without exposing the workflow process to end users. They include a command to record information to a log when specific conditions are met.
Deadlines A deadline is a time-based scheduling constraint, which requires that a step or workflow be completed within a certain amount of time. The deadline can be made relative to the time the step was routed to the participant, or to the time the workflow was launched.
Queues A queue is a database structure that holds work items. There are four types of queues. User queues hold work items waiting to be processed by a specific user. Work queues hold work items that can be completed by one of a number of users or by an automated process. System queues hold work items that are undergoing or waiting for certain processing by the Process Engine services. Component queues hold items for Component Manager use only (see Developing Work Performers and Component Integrator Operations).
User Inbox and reminders Workplace (on the Application Engine) provides users with an inbox (or User Tasks Page) that contains notifications about the work assigned to them. The inbox can also display reminders of impending deadlines. Users can be participants responsible for completing work steps, or they can be trackers, who monitor the progress of a workflow.
Unassigned work Work that does not require completion by a specific participant but can instead be completed by any one of a number of users or by an automated program. At runtime, unassigned work is routed to a specified work queue; a user or program with access to that work queue can open and complete the work contained within the queue.
The Process Engine enables the tracking of workflows and activity analysis by providing full-featured event logging functionality. Some of the categories that can be tracked are: when users log on and log off; when work item processing begins and ends, or is abnormally interrupted; when work items are updated or delegated to another user; and so on. The Workplace Configuration Console (part of the Workplace application), enables administrators to determine which events to log and what information about those events to capture. Once events are logged in the Process Engine's database, workflow administrators have a number of analytic tools they can use, including creating their own applications that call the log query API.
Workflow definitions can be linked to an entire document class or just to individual document versions. This means that content-based events (changes in properties, passage of the document through a lifecycle definition, actions such as checkin or checkout) can launch workflows, ensuring that the document or all documents assigned to a particular class of document, will go through the process defined by the workflow. For example, checking in a design document could launch a design review and approval workflow, placing work requirements into the inboxes of those users participating in the approval process.
The Process Engine's workflow feature set complements the Content Engine document
lifecycle management feature set by enabling different workflows to be used
in different stages of a document lifecycle. In particular, a workflow may create
the conditions for a lifecycle stage transition. Typically, several workflows
will be available at different stages of a document's lifecycle. In rare cases,
however, a single workflow could span the document's entire lifecycle. Combining
document lifecycle management and workflow allows you to divide complex processes
into smaller, more manageable workflows.