The Process Engine is the FileNet P8 Platform component through which you can create, modify, and manage workflows implemented by applications. This topic provides an overview of the architecture, components, functional expansions, and communications of the Process Engine, within the context of the FileNet P8 Workplace web application and client.
The following figure illustrates the Process Engine architecture as it is typically used with the Workplace web application in a J2EE environment. Although you can set up your environment with multiple Process Engines, for simplicity this figure illustrates a single Process Engine configuration.
The Process Engine consists of the following components:
The Process Engine Router acts as an RMI server to route requests and definitions to the Pooled Process Manager (PPM) on the Process Engine. The interface to Process Java API methods is accomplished through the router via the RMI protocol (see Communication Protocols). A Process Engine Router can route to more than one Process Engine and you may install a Process Engine Router anywhere you need to interface to a Process Engine. If there are multiple Process Engines in your environment, the Process Engine Router will route the request to the appropriate Process Engine. Typically, a minimum of two Process Engine Routers are installed, as follows:
When a Step Processor application makes a workflow-related request, the Process Engine Router on the Application Engine receives the request and routes it to the PPM. The PPM responds to the API call by either starting a Process Engine process or allocating the request to an existing process.
The following Java archive (.jar) file is included with the Process Development Environment to supply the runtime Process Java API classes:
In addition to the runtime Process Java API classes, a number of other classes and files that relate to Process Engine operations are provided in .jar files with your FileNet P8 platform. These include:
If you are developing a COM-based application, you will need to use the JiGlue COM Bridge (allows you to make COM-based calls equivalent to native Java statements) in order to use the Process Java APIs.
For more information, see Using Process Java API Classes and the Process API samples provided with your installation.
The Pooled Process Manager (PPM) manages workflow requests that it receives from a Process Engine Router. The PPM either starts a Process Engine process (VWJ process) for the request, or it allocates the request to an existing process. The PPM will balance the load between VWJ processes; that is, if the existing VWJ process is busy, the PPM will start another process. Note that in a multiserver configuration, the PPM on each Process Engine server must be running.
The optional Process Analyzer provides a way to easily generate chart-based reports based on statistical information gathered from the Process Engine. The Process Analyzer Connector provides the interface between the Process Engine and the Process Analyzer Engine. This Connector provides event, process, resource, and XML configuration data to the Data Collector on the Process Analyzer Engine. The Process Analysis Data Collector, in turn, stores this data in a SQL Server data warehouse on the Process Analyzer Engine. For additional information, see Process Analyzer User Guide and Process Analyzer Configuration and Administration.
The Process Component Integrator is a service on the Application Engine that supports the import of simple Java or JMS components and interfaces. Once imported, the components and interfaces are available to Process Engine workflows. The Process Component Integrator may be used to help develop a custom Process work performer. The Component Integrator contains the following modules:
For additional information, see Building a Component Integrator-based Work Performer.
The Process Engine uses either Microsoft's Active Directory or Sun's iPlanet directory service and the Lightweight Directory Access Protocol (LDAP) for authentication. User and group definitions are stored via the directory service on a database. Currently either Oracle or MS SQL Server are supported DBMSs, and the same data source instance as the Content Engine's data source may be used at your option, depending upon your setup.
For a client session, when a session object is instantiated, the Process Java APIs (on the Application Engine) encrypt the username and password and send them to the Process Engine for authentication via LDAP. If SSL is required, one way SSL communication to the LDAP server is supported; the certificate database location and the SSL port (the default SSL port is 636) are specified via the Process Task Manager.
For additional information, see Help for Process Task Manager.
The Process Engine EAI Connector implements the interface between the optional FileNet-supplied IBM CrossWorlds Interchange Server and third-party applications, such as Oracle, SAP, PeopleSoft, or Siebel. The Process Engine EAI Connector on the Process Engine controls all interaction between Process Engine and the IBM CrossWorlds InterChange Server.
Process Engine workflow object definitions and queue operation definitions are mapped to IBM CrossWorlds InterChange Server-compatible Application Specific Business Objects (ASBOs). The Process Configuration Console creates the ASBOs, which are exported to the IBM CrossWorlds InterChange Server. The ASBOs enable requests to be handled in either direction between the Process Engine and CrossWorlds.
Note Although CrossWorlds normally uses IDL for synchronous communication, the Process Engine EAI Connector instead uses MQSeries (see Communication Protocols) for asynchronous communication with the IBM CrossWorlds InterChange Server.
For additional information, see Process EAI (with IBM CrossWorlds Interchange Server).
Integration with the iLog Rules Engine is accomplished via workflow definitions. The workflow definitions contain calls to rule sets defined with the iLog Rules Editor on the Rules Engine client. The VWRules shared library on the Process Engine provides the interface with the FileNet-provided Rules daemon on the iLog Rules Engine. For additional information, see Using Rules Engine.
The JiGlue COM Bridge acts as a translation layer between the Process Java APIs and COM. The JiGlue COM Bridge provides the ability to instantiate COM objects using the Process Java APIs. Using the JiGlue COM Bridge you can make COM calls that are equivalent to native Java statements. For additional information, see Developing for COM Overview.
The following FileNet functional expansions and add-on components are optionally available to enhance current Process Engine with Workplace capabilities and functionality:
Communication between FileNet P8 Platform and other applications is accomplished via one or more of the following protocols: