Siebel Business Process Framework: Workflow Guide > Administering a Workflow Process > Recovering a Workflow Process >

Overview of the Workflow Recovery Manager


The Workflow Recovery Manager provides the following functionality:

  • Recovers interrupted instances of a long-running workflow process if the Siebel Server fails. When Siebel CRM recovers an instance, the Workflow Engine attempts to continue running this instance. If forward progress is not possible, then Siebel CRM marks the instance as IN_ERROR and the user must manually resume the workflow process.
  • Siebel CRM resumes a workflow process instance at the last checkpoint. The Workflow Engine determines the checkpoint according to hints that you define during development. The Workflow Engine can persist relevant data, and then use it to resume running the workflow process after a failure.
  • Siebel CRM load balances the work it performs to recover workflow process instances. One server thread can determine the recovered instances. This server thread delegates resuming the recovered instance to other server threads in a load balanced manner.
  • Siebel CRM can recover a workflow process without interfering with the Workflow Engine. One server thread can recover workflow process instances while other threads in the Workflow Engine still handle new requests to run workflow processes.

Architecture of the Workflow Recovery Manager

Figure 17 illustrates the architecture that Siebel CRM uses to recover a workflow process.

Figure 17. Architecture of the Workflow Recovery Manager
Explanation of Callouts

The architecture of the Workflow Recovery Manager includes the following items:

  1. Workflow Engine. The Workflow Process Manager server component runs a long-running workflow process. As this workflow process runs, the Workflow Engine saves the execution state to the Siebel database at the appropriate time.
  2. Workflow Recovery Manager. A batch server component identifies the workflow process instance that a server failure interrupts. If Workflow Recovery Manager detects an instance that is interrupted, then it forwards this instance to the Workflow Engine. The Workflow Recovery Manager does not rerun the workflow process instance.
  3. Database. A database stores the run state of the workflow processes. Siebel CRM uses the persistent record to restore the run state when the workflow process resumes running from a failure.
  4. Server Message Queue. A queue through which the Workflow Engine and the Workflow Recovery Managers sends messages.
  5. Business Process Administration View. A view that allows you to manually send a request to the Workflow Recovery Manager to recover an interrupted workflow process.
  6. Server Administration Task Management. Allows you to define a recurrence server task for the Workflow Recovery Manager. The recurrent server task requests the Server Manager to periodically scan for interrupted workflow processes.
Siebel Business Process Framework: Workflow Guide Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.