Developing Work Performers and Component Integrator Operations
A "Work Performer" is an application that performs an operation
or set of operations associated with a workflow. Typically, Work Performers
are designed without a user interface and are used to perform automatic workflow
operations, such as those associated with a specific step in a workflow definition
(e.g., as defined by the Process Designer). Topics in this section describe
how to develop a Work Performer (there are two types) as follows:
- Overview of Work Performers: Provides
an overview of the two types of Work Performers (Component Integrator-based
and Daemon-based), what they are for, and the differences between them (see
below).
- Building a Component Integrator-based Work Performer:
Provides an overview of the Process Engine Component
Integrator, its architecture and components, the Component Manager, the Java
Module and Adapter, the JMS Module and Adapter, plus guidelines on usage and
how to develop a Component Integrator-based Work Performer (for example, a
Work Performer to retrieve Content Engine Object Store work items as attachments
for a step in a workflow definition).
- Building a Daemon-based Automatic Work
Performer: Describes how to develop a daemon-based automatic Work
Performer (for example, a Work Performer to automatically poll a work queue).
Overview of Work Performers
As indicated above, a "Work Performer" is an application that
performs an operation or set of operations associated with a workflow (typically
with a workflow step), but which does not require a user interface. That is,
Work Performers are automatic workflow operation processes that do not have
a user interface. Typical Work Performer operations associated with workflow
steps can include logging into and establishing a Process Engine (VWSession)
session, polling a user or system queue (to find operations related to a particular
workflow step), locking the retrieved object, processing the work (e.g., performing
updates of data, saving, etc.), and cycling back to queue polling.
There are two types of Work Performers:
- Component Integrator-based Work Performer: This Work Performer can
be used to perform all operations associated with a workflow, based on the
use of the Process Engine Component Integrator feature. The Component Integrator
provides a mechanism for communicating events between the Process Engine and
a Java class or JMS queue (i.e., work items associated with a step in the
workflow; for example, in order to access an object from an Object Store,
File Store, or an external system or application). The Component Integrator
provides a Component Manager (for example, to do the polling and retrieve
Process queue operations) and two Service Adapters (Java and JMS), either
of which may be used to interface to an object or service, as follows:
- Java Adapter: The Java Adapter provides a general interface for
communicating with Java objects. Specifically, the Java Adaptor handles
Process calls to Java objects, which are represented to the Process Engine
as operations on queues (work items), where each operation is done by
a method of the Java class.
- JMS Adapter: The JMS Adapter provides a general interface for
communicating with messaging services (e.g., email notifications) via
JMS (Java Messaging Service). Specifically, the JMS Adapter handles posting
Process events to a message queue in the form of an XML event based on
the Step element for the given operation.
For additional information, see the Building a Component Integrator-based Work Performer
topic.
- Daemon-based Automatic Work Performer: The daemon-based automatic
Work Performer may be used to perform all normal operations associated with
a workflow step, such as obtaining Step operations from a queue (although
unlike the Component Integrator-based Work Performer, you will have to specify
polling). You can build a custom daemon-based automatic Work Performer using
the Process Java APIs. For additional information, including an example of
how to build a daemon-based automatic Work Performer to automatically poll
a work queue, see the Building a Daemon-based
Automatic Work Performer topic.