Siebel Business Process Framework: Workflow Guide > About Workflow Process Design Options > About Events >

About the User Event


While a run-time event acts on a workflow process from within the application object manager, a user event is internal to Siebel workflow. A user event initiates and resumes a long-running workflow process in the Workflow Process Manager (WFProcMgr) server component.

NOTE:  A user event can be used only in a long-running workflow process. A long-running workflow always resumes on WFProcMgr. The behavior cannot be modified to have a long-running workflow resume on a custom Workflow server component.

While a run-time event can be used in a workflow that runs within a single user session, a user event is for use in a long-running workflow that spans multiple users. A user event can be used to trigger a workflow process when the user event is attached to a Start step, or to resume a waiting workflow instance when the user event is attached to a step that can receive an input argument. A user event can also bring data into a workflow instance which can contain user data. This data comes in the form of the user event's payload.

Generating a User Event with the Workflow User Event Service Business Service

A user event requires use of the Workflow User Event Service business service to communicate with the Workflow Process Manager. A User event is a Workflow internal event used to resume a long-running workflow process from the Workflow Process Manager. To create a user event, you invoke the Workflow User Event Service business service, specifying the payload and the correlator.

NOTE:  A long-running workflow process must use only user events, not run-time events.

The Workflow User Event Service business service is a standard Siebel business service that can be used everywhere a Siebel business service can be used. You invoke the Workflow User Event Service business service by configuring a business service step that calls it.

The User Event business service can be invoked by supported techniques, such as scripting, COM interfaces, and Java interfaces. This is the recommended way to externally communicate with a Siebel workflow.

A common case is when a 7.0 workflow, an interactive workflow, or a service workflow initiates a user event. A business service step calls the Workflow User Event Service business service to communicate to a long-running workflow running in the background.

NOTE:  While any type of workflow process or business service can generate a user event, it is recommended that only a long-running workflow process be configured to receive a user event.

For more information, see About the Workflow User Event Service Business Service.

Invoking the Workflow User Event Service Business Service

This topic describes how to invoke the Workflow User Event Service business service for generating a user event.

To invoke the Workflow User Event Service Business Service for generating a user event

  1. Add a Business Service step to a workflow process.
  2. Click the new business service then use the Properties window to specify values described in the following table:
    Property
    Value

    Business Service Name

    Workflow User Event Service

    Business Service Method

    GenerateEvent

  3. In the MVPW, create a new input argument for the step.

    For more information, see About Process Properties.

  4. In the Input Argument argument field, choose Payload from the picklist then define the other argument fields, as appropriate.
  5. Repeat Step 3 to create an input argument by choosing Correlator Value from the picklist.
  6. Repeat Step 3 to create an input argument by choosing User Event Name from the picklist.

Configuring a Long-Running Workflow Process to Wait for a User Event

When using a user event in your workflow process, keep in mind that only a long-running workflow can wait for a user event. Other types of workflows cannot wait for a user event, though they can generate a user event. A long-running workflow must be configured with a user event only, not a run-time event.

To configure a long-running workflow process to wait for a user event

  1. Open the design canvas fort the workflow process you must configure to wait for a user event.
  2. In the MVPW, establish one of the workflow's process properties as the correlator by setting the property's Correlator Flag to TRUE.

    For more information, see About Process Properties.

  3. On the branch of the step that handles the event, such as a Start step or a Wait step, use the Properties window to define values described in the following table:
    Property
    Value

    Type

    Condition

    NOTE:  If Type is set to Default rather than to Condition, the user event is never triggered.

    User Event Name

    (The name of the workflow you defined for the Value property in Step 6.)

    User Event Timeout

    (The timeout period for the user event.)

    User Event Timeout works in a similar way as the timeout setting for a run-time event. A workflows is resumed after the timeout period if no user event is received during the timeout period.

    User Event Storage

    (The name of the process property that holds the payload passed in from the user event.)

NOTE:  User events are not queued. If no recipient is waiting to accept the user event with the specified correlator, the event is discarded.

Siebel Business Process Framework: Workflow Guide Copyright © 2008, Oracle. All rights reserved.