Invoking the Workflow Process Manager asynchronously

8/01/2012 No Comment

How to invoke Workflow Process Manager asynchronously.

Solution
A Workflow Process Manager (WfProcMgr) task can be invoked from the Workflow Monitor Agent (WorkMon) using the standard workflow policy program Run Workflow Process.

In Siebel 7, to invoke a WfProcMgr task, WorkMon submits a server request to the Server Request Broker (SRBroker), which in turn delivers the request to the WfProcMgr component.

The program argument 'Submit Type' is set to 'Sync' (synchronous) by default. 

This means that WorkMon waits for the SRBroker to confirm that the task has completed successfully before processing the next server request. If confirmation is not received, for example because the WfProcMgr or SRBroker has failed, WorkMon concludes that the server request has failed. As a result, WorkMon exits with error, and the record in S_ESCL_REQ is not deleted.

The Siebel Administrator has a chance to review and correct the error before restarting WorkMon. When a new WorkMon task is started, it will try to execute the action again by submitting another server request. In this case, the request is recoverable.

It is possible to configure the application so that the WfProcMgr task is invoked asynchronously, by changing 'Submit Type' to 'Async'. 

As with 'Sync', WorkMon submits a server request to the SRBroker, which in turn delivers the request to the WfProcMgr. In contrast to 'Sync', if the request is delivered, the SRBroker sends confirmation to WorkMon that it has completed the delivery of the request successfully and the record is deleted from S_ESCL_REQ.

WorkMon does not wait for the SRBroker to confirm whether or not the WfProcMgr task completed without errors and the SRBroker does not provide confirmation. If the WfProcMgr or SRBroker fail after the request has been delivered, WorkMon will not try to submit another request. In this case, the request is not recoverable.

By default, server requests are not stored in the database. Instead, requests delivered by the SRBroker are held in a working queue stored in memory. If a request sitting in the working queue has been submitted synchronously but is lost before it has been handled by the WfProcMgr, for example due to a power failure, the record will not be deleted from S_ESCL_REQ and the request will be re-executed by WorkMon when it has been restarted again. If it was submitted asynchronously, it will not be recovered.

Therefore, if it is vital that a Workflow process is executed successfully, Siebel Systems Inc. strongly recommends that customers invoke the WfProcMgr synchronously from WorkMon to make sure that a request is not lost.
Related Posts


No comments :

 

Aired | The content is copyrighted and may not be reproduced on other websites. | Copyright © 2009-2016 | All Rights Reserved 2016

Contact Us | About Us | Privacy Policy and Disclaimer