Ed- Thoughtful points, thank you.
The way I'm imagining it, with the added input and output constructs in the jpdl,
nodes could declare n "ports" that take or produce certain types of data. The
code in the node, or handler I guess, would be responsible for retrieving data from an
input and staging data on an output. The execution engine could then handle moving the
data structures in and out of the process variable space using a naming convention that
would identify them as belonging to inputs or outputs. For example, when a node would
call, getInput(String portName) let's say, then some infrastructure code would look
for the corresponding input in the process variable map, return the object, and remove it
from the process variable map. Conversely, when a node wanted to stage an output, it would
call setOutput(String portName, Object output), and infrastructure code would handle
moving the data into the process variable map using the specified naming convention.
Using this mechanism, I think the scenarios you describe could be prevented. But I might
be missing something. Also, process variables would work just as they currently do, but
would be overloaded to support data flow.
Maybe this sounds a lot like a hack, but I was just brainstorming about how this could be
implemented with the least amount of work up front.
Your point about cluttering up the process graph is well taken. I concur that another
"view" of the graph would be required specifically for the data flow to reduce
the complexity.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4017702#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...