Siebel Business Process Framework: Workflow Guide > Architecture That Siebel Workflow Uses > About the Architecture of a Workflow Process >

Run-Time Architecture That Siebel Workflow Uses


A workflow process can run as a business service or as a server component in the run-time environment. The Workflow Engine interacts with other server components through the Server Request Broker. The Workflow Engine works as a business service that calls a server component. To call a server component that Siebel CRM:

  • Uses as a specialized service, the Workflow Engine calls the signature for this service. For example:
    • To send an email, the Workflow Engine calls the Communications Server as the Outbound Communications Manager business service.
    • To assign an object to a user, the Workflow Engine calls Assignment Manager as the Synchronous Assignment Manager Requests business service.

      A signature is the definition of a method, the name, the expected parameters, the return values, and any exceptions that exist.

  • Does not use as a specialized service, the Workflow Engine uses the predefined Server Requests business service. This business service sends a generic request to the Server Request Broker. For more information, see Server Requests Business Service.

Figure 6 describes the run-time architecture that Siebel Workflow uses.

Figure 6. Run-Time Architecture That Siebel Workflow Uses
Explanation of Callouts

The run-time architecture that Siebel Workflow uses includes the following items:

  1. Server Request Broker. For more information, see Server Request Broker Server Component.
  2. Workflow Process Manager. For more information, see Workflow Process Manager Server Component.

Server Request Broker Server Component

The Workflow Engine sends a request to the Server Request Broker synchronously or asynchronously, and then the Server Request Broker brokers the request to the appropriate server component. It does the following work:

  • Sends asynchronous messages from an interactive server component to the Workflow Engine
  • Communicates, synchronously and asynchronously, between the Workflow Engine and batch components
  • Schedules repeated server tasks that Siebel CRM runs periodically in the Workflow Engine

The Server Request Broker also does load balancing. If it receives a request, then it routes this request to a server component that resides in the current server. If this server component is not available in the current server, then the Server Request Broker sends it to other servers where the Workflow Process Manager is active. It does this on a round robin basis.

A workflow process also uses the Server Request Broker to resume a workflow process that is waiting. The Server Request Broker periodically queries a database table to identify server tasks that it must resume.

For more information, see Server Requests Business Service and Siebel System Administration Guide.

Workflow Process Manager Server Component

The Workflow Process Manager (WfProcMgr) is a server component that uses the Siebel Object Manager. It runs a workflow process as a business service. It hosts the business object layer and the data object layer that allows Siebel CRM to run multiple object managers and multiple server tasks for each object manager. The term Workflow Process Manager refers to the Workflow Engine and the workflow server components.

The Workflow Process Manager can be in one of the following states:

  • Online. The Workflow Process Manager is active and can receive and process requests.
  • Not online. For example, Inactive, Shutdown, or Offline. Siebel CRM cannot process requests to the Workflow Process Manager or Workflow Process Batch Manager (WfProcBatchMgr) server components. If Siebel CRM saves a request to the Siebel database, and if it sends this request in DirectDb, then it can resend the request later when the Workflow Process Manager comes back online. If Siebel CRM does not save this request, then the request is lost.

For more information, see Starting a Workflow Process from the Workflow Process Manager.

How the Business Service Determines Where the Workflow Process Runs

The Workflow Engine includes the Workflow Process Manager business service and the Workflow Process Manager (Server Request) business service. To run Siebel Workflow in an Application Object Manager, Siebel CRM starts the workflow process as a business service. The Workflow Engine uses output arguments to send information to this business service and it uses input arguments get information from this business service.

Table 4 describes how the business service determines where the workflow process runs.

Table 4. How the Business Service Determines Where the Workflow Process Runs
Business Service
Location Where the Workflow Process Run

Workflow Process Manager

The object manager of the Siebel application.

Workflow Process Manager (Server Request)

The Workflow Process Manager server component.

How Siebel Workflow Runs in the Workflow Process Manager Server Component

A Workflow Process Manager server component that Siebel CRM configures and optimizes to run the Workflow Process Manager business service can run a workflow process in the background. The Workflow Process Manager server component works as the object manager that runs the workflow process, including any application logic that the workflow process uses.

The Workflow Process Manager accepts the workflow process name in the following ways:

  • Through the Process Name server component parameter. For example, if Siebel CRM starts a server task from the Server Manager or from a repeating server component request.
  • Through the Encoded Args server component parameter. For example, if the Workflow Monitor Agent business service or the Server Requests business service sends the request.

If a workflow policy starts a workflow process, then the Workflow Monitor Agent typically uses the Encoded Input Arguments parameter to send input arguments to the Workflow Process Manager. However, setting Encoded Input Arguments in the Component Request Parameters applet fails because it is not in a format that the Workflow Process Manager server component can recognize.

Components of the Workflow Management Server Component Group

Table 5 describes server components that the Workflow Management server component group contains.

Table 5. Components in the Workflow Management Server Component Group
Server Component
Alias
Description

Workflow Process Manager

WfProcMgr

The Workflow Process Manager and Workflow Process Batch Manager server components do the following:

  • Acts as the Application Object Manager that runs workflow processes.
  • Are specialized server components configured and tuned to run workflow processes.
  • Are similar to a server component that provides a multithreaded environment.

Workflow Process Batch Manager

WfProcBatchMgr

Workflow Monitor Agent

WorkMon

Runs and monitors workflow policies, and then runs actions when the conditions of a workflow policy are met.

Workflow Action Agent

WorkActn

Logs requests in the action request table (S_ESCL_ACTN_REQ) for a policy group and calls actions that the workflow policy uses.

Workflow Recovery Manager

WfRecvMgr

Polls the Workflow Engine to identify workflow process instances that are running on the Siebel Server. Recovers failed instances and resumes instances that are waiting beyond a due date. For more information, see Recovering a Workflow Process.

Generate Triggers

GenTrig

The Generate Triggers server component does the following:

  • Allows you to define database triggers that Workflow Policies use to identify records that match workflow policy conditions
  • Must be rerun if you create, update, or delete a policy
  • Can be run from the Server Manager command line or through a command line interface.

For more information, see Overview of Creating Database Triggers.

Siebel Business Process Framework: Workflow Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.