On Mon, Nov 23, 2009 at 1:24 AM, Gonzalo Suarez
<[email protected]> wrote:
>
> We don't like this much... We wouldn't like to mix this kind of logic
> (client navigation) with the business logic.
>
> I hope I had explained my issue well. Is this a right approach? Is
> there any ruote feature we are missing that could help us to deal with
> this in a better way?

Hello Gonzalo,

I understand your concerns. Ruote is about workflow as in business
process, not much as in webflow / client navigation.

== idea a) decoupling worksession from workitem

The dead simple approach is 1 worksession = 1 workitem. But why not
having a specialization of your workitem consumption ?

---8<---
sequence do
  participant :ref => 'Alfred', :operation => 'open with form_A'
  _if :test => '${f:x} == ${f:y}'
    # then
    sequence do
      participant :ref => 'webservice'
      participant :ref => 'Alfred', :operation => 'close with form_B'
    end
    # else
    sequence do
      participant :ref => 'Alfred', :operation => 'close with no form'
      participant :ref => 'webservice'
    end
  end
end
--->8---

"open with form_A" would open a worksession / workcase to be closed
later. The workitem delivered to alfred would trigger the creation of
a worksession closed.

Well, looks nice but not very snappy, could spoil the "client
navigation" experience.


== idea b) power to the participant (side)

Forget about describing that flow with ruote, you want it to be snappy, right ?

The flow would look like :

---8<---
participant :ref => 'Alfred'
--->8---

Then the rest is handled by the participant implementation : form A,
webservice, form B OR not. I put the "or" in uppercase because that
decision is done on the participant side, not on the engine side.

The disadvantage here is that the client has to do the webservice invocation.

==

I understand you want to avoid duplication of the decision form_B or
not in Ruote and on the client side. Your process definition seems to
suggest that at the end of form_A, we can decide (no extra information
needed from the engine side).

That's all I can think of for now. I hope this will help, best regards,

-- 
John Mettraux   -   http://jmettraux.wordpress.com

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to