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 -~----------~----~----~----~------~----~------~--~---
