Tuesday, January 5, 2010

Running a Workflow Process when "Workflow Process Manager" component shutdown?

Got surprised? I know, this is same reaction I had while brainstorming this with my friend that, "how is it possible?".

Okayy, lets play a question game today here on SiebelMantra and see how many Siebel Gurus visits this post to answer this question:

=========================================================
Is there any way you can run a Workflow Process when "Workflow Process Manager" component is not running on the Siebel Server?
=========================================================

Please provide your comments and I assure you that you will definitely going to learn few hidden truths in Siebel when I will provide my comments after few days with the complete summary for this post. Go ahead, write your views on the question asked.
.

17 comments:

  1. Hey GG this is not possible, are you telling that you can run a WF process without WF component running, how come?

    ReplyDelete
  2. Thankyou for your comments Lu. What all I can say right now is you keep watching this space, lets see what other readers community has to say regarding this. :)

    ReplyDelete
  3. Question under investigation is really stunning & interesting too, at first sight found impossible. If we look for alternatives, let's dig deeper, how a developers Simulate Workflow Process without any component?

    Here is the catch, we can simulate the workflow regardless of Workflow Process Manager is up or down. To do this, we need the help of OOB functionality Administration - Business Service > Simulator

    Using this feature, using the Business Service and passing appropriate input parameters we can achieve this.

    I'm looking at how a Mobile Web Client completes functionality if Workflow is involved, in that case the Object Manager is the substitute for Workflow Process Manager. Somewhere I had gone through this statement in Siebel Bookshelf while doing research to find out behaviour when task is created from background.

    Hope I can re-call the same and provided one more way to Run the Workflow Process regardless of Workflow Process Manager. [;)]

    ReplyDelete
  4. Hi GG,

    I think its possible to run a Workflow by calling Workflow Process Manager Business Service Synchronously. In this way it will be the Object Manager that would run the Workflow rather then Workflow Process Manager Component.

    Regards,
    Nikhil

    ReplyDelete
  5. Hi Gaurav,

    happens all the time on my laptop ;-)

    I don't even have a Siebel server running and Siebel workflows run jolly all over in my Developer Web Client.

    Let's see if someone has the answer...

    have a nice day

    @lex

    ReplyDelete
  6. From script we can call a workflow in 3 ways

    1- Call Synchronous server request
    2- Call Asynchoronous Server Request
    3- Call workflow as business service

    For first two way, server component of workflow process manager is invoked. For option 3 workflow is executed by Application Object Manager as a business service.

    Hence as per my understanding, we can only use workflow process manager business service to invoke the workflow which will not require the server component workflow process manager on Siebel server

    ReplyDelete
  7. I am glad some of the Best people of Siebel world has put in their valuable comments on this post. I think readers must have got this understanding now that it is possible to run a WF Process without having WF processs manager component running on the Siebel Server. The only case when WF Process Manager component come into picture is when you are calling a WF process Asynchronously otherwise no matter component is up or down it will work. There are two ways you can call WF process asynchronously :
    a) via WF Policy
    b) via Asynchronous Server Requests

    Both the above ways will create a record in S_SRM_REQ table and it is responsibility of SR Broker to inform Workflow Process Manager component that "Hey, I got some work for you :)". So the very basic requirement for calling a WF process asynchronously to decrease the work load on Application object manager component and get the same task done using WF process manager component.

    Having said that, that doesn't mean calling a WF process synchronously will never require WF Process Manager component. Because when you use "Synchronous Server Requests" business service to invoke a WF process on a button click on the UI, what actually happens in the background is system creates a record in S_SRM_REQ table and WF process manager component processes that record. So, in this case AOM actually waits for the WF process manager component to finish up the task assigned to it and then returns back the control to AOM.

    Anothe question related to this topic :

    =============================================================================

    Will Inbound / Outbound Integration works, if EAI object manager component goes down?

    =============================================================================

    Your thoughts?

    ReplyDelete
  8. Hi GG and others,

    on that Workflow thing again: If you inspect the Workflow Process Manager server component definition, you'll find that it is of type "Business Service Manager" which basically means that the server component is a wrapper for the business service and a method (Workflow Process Manager and RunProcess respectively) which allows to execute the business service code as a scaleable and balanceable server process (which has much more power than just running a business service in a user session).

    On the EAI thing: There are so many techniques which do NOT need the EAI OM that I can not list them all here. My prediction: The Siebel app will happily continue to call an outbound web service even if EAI OM goes down. However, those apps that want to connect to the Siebel inbound web service will be in trouble.

    have a nice day

    @lex

    ReplyDelete
  9. Thanks a lot for your comments Alex !! I think you explained it very well and readers must be glad to see this. I believe this complete post will definitely help the readers to take judgement call when to use Synchronous and Asynchronous process to keeping in mind the server componet which will process it.

    ReplyDelete
  10. Hi,

    Thanks for such a nice post...
    I have a query, invoking a wf process using RCR i also a way to invoke wf in asynchronous mode.

    Thanks
    Kavita

    ReplyDelete
  11. Hi GG,

    We are using Siebel 8.1 and calling WF sync using Business Service "Workflow Process Manager". Ideally this request should be handled by ObjMgr and there is no dependency on WF Process Manager. In real time this is not how it is working. My request fails if WF Process Manager is down. Have any one else come across this?

    ReplyDelete
  12. Hi Anonymous, depending on how you are invoking your BS (Workflow process manager) the request is being handled by ObjMgr or WF Process manager. It is not necessary that using Workflow Process Manager BS will always invoke WF process via ObjMgr.

    For Example: If you have a policy triggering a WF process and in that WF process, there is a Business Service step, which is using "Workflow Process Manager" BS. - In this case all the processsing will happen at WF process manager only.

    ReplyDelete
  13. hi gaurav ,
    this is Mahesh,
    can we create static drill down changing BC context incase of 1:M realation,if it possible which fields use in source & destination filed(incase contact& service request)

    ReplyDelete
  14. Hi GG,

    I have a question. talking about sync and async server requests what is the parameter that differentiates btw sync and async request in siebel.
    I know SRbroker sends it to the component else to SRproc if async. But what is it that tells SRbroker that the user request is sync or async....????

    ReplyDelete
  15. If i am calling a Workflow from EAI Object Manager (Webservice), Now the question is :
    I have Stop step defined in my WF and in case of any errors, it should Stop teh WF.
    May i know what will be the impact of it on EAI Object manager component.
    will the Object manager Task will restart and after the max retries it will shutdown.

    ReplyDelete
  16. Hi GG,
    You said one of the two ways you can call WF process asynchronously :
    a) via WF Policy

    A Workflow Process Manager (WfProcMgr) task can be invoked from the Workflow Monitor Agent (WorkMon) using the standard workflow policy program Run Workflow Process. this is the call details WorkMon --> SR Broker --> WfProcMgr component...So we need WfProcMgr component running.
    Run Workflow Process workflow policy Program has Submit Type as Sync mode that's default behavior. WorkMon waits for the SRBroker to confirm that the task has completed successfully before processing the next server request.
    So basically it is not a Async call.

    Thanks,
    Rakesh

    ReplyDelete
  17. Hi GG,
    You said one of the two ways you can call WF process asynchronously :
    a) via WF Policy

    A Workflow Process Manager (WfProcMgr) task can be invoked from the Workflow Monitor Agent (WorkMon) using the standard workflow policy program Run Workflow Process. this is the call details WorkMon --> SR Broker --> WfProcMgr component...So we need WfProcMgr component running.
    Run Workflow Process workflow policy Program has Submit Type as Sync mode that's default behavior. WorkMon waits for the SRBroker to confirm that the task has completed successfully before processing the next server request.
    So basically it is not a Async call.

    Thanks,
    Rakesh

    ReplyDelete