On 9/30/07, Pat Cappelaere <[EMAIL PROTECTED]> wrote:
>
> John,
>
> This is not what I meant.  There is no issue with OpenWFE.
> I apologize for not being explicit enough.  Please let me try again.
> Suppose for one minute that your first participant "alice" outputs some
> data.  But the second "generic" participant expects a different input.
> Then there is in effect a mismatch between the output of the first one and
> expected input of second one.  This is what I called a wiring mismatch
> between participants.
> Granted that anything could be worked out by recustomizing the participants
> for the occasion, I was looking for a more elegant solution when
> participants are mere wrappers to existing services with their own
> interfaces.  Sometimes it works, sometimes it does not.
> Doing it in code misses the intent, I think, of workflows trying to
> orchestrate web services (participants).

Ah, I think I'm starting to understand.

Do you want to have some transformation occuring on your data
(workitem payload) between participants ?

I tend to use "decision tables" for that
(http://openwferu.rubyforge.org/decision.html), they can be seen as a
set of rules or a big function, that takes as input the workitem and
transforms it.

You could also do that with a plain participant instead of a decision
table bound participant
(http://openwferu.rubyforge.org/participants.html#CsvParticipant) like
in :

---8<---
engine.register_participant "transform1" do |workitem|

    #
    # for example, transform a set of horizontal data into something vertical

    values = workitem.attributes.delete "values"
    values.each_with_index do |value, index|
        workitem.attributes["value.#{index}"] = value
    end

    #
    # rename a field

    address = workitem.attributes.delete "customer_address"
    workitem.address = address
end
--->8---

To make the business process appear more elegant, the transformation
participant and the "web service call" participant may be gathered in
a subprocess.


Is that what you are trying to describe ?

-- 
John Mettraux   -///-   http://jmettraux.openwfe.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenWFEru dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/openwferu-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to