[jboss-user] [JBoss jBPM] - Re: missing

mgommeringer do-not-reply at jboss.com
Thu Jul 27 05:37:56 EDT 2006


Here is my scenario:

I have three computers in a network. The first 'computer1' initiates the workflow. The other two (computer2 and computer3) have different specific tasks which have to be executed at a specific node in the workflow (by the CommandExecutor). After these nodes were executed asynchronously (on computer2 and computer3), the CommandExecutor will give control back to computer1 which does the further processing.

(I did not find out how to upload an image to the forum pages, so I will write down the sequence of workflow steps as text here):

  | 1. computer1: initialize workflow
  | 2. computer1 <sends message to> computer2: execute specific node on computer2
  | 3. computer2 <sends message to> computer1: process results on computer1
  | 4. computer1 <sends message to> computer3: execute other specific node on computer3
  | 5. computer3 <sends message to> computer1: process results again on computer1
  | 6. computer1 does the further processing up to the end state
  | 


  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <process-definition xmlns="" name="example">
  |    <!-- Initiate the workflow on computer1 -->
  |    <start-state name="start">
  |       <transition name="" to="node-external-computer2"></transition>
  |    </start-state>
  |    <!-- This node will be executed by the CommandExecutor on computer2 -->
  |    <node name="node-external-computer2" async="true" destination="computer2">
  |       <transition name="" to="process-result1"></transition>
  |    </node>
  |    <!-- This node will be executed on computer1 (the 'main-processor') -->
  |    <node name="process-result1" async="true" destination="computer1">
  |       <transition name="" to="node-external-computer3"></transition>
  |    </node>
  |    <!-- This node will be executed by the CommandExecutor on computer3 -->
  |    <node name="node-external-computer3" async="true" destination="computer3">
  |       <transition name="" to="process-result2"></transition>
  |    </node>
  |    <!-- This node will be executed on computer1 again -->
  |    <node name="process-result2" async="true" destination="computer1">
  |       <transition name="" to="end"></transition>
  |    </node>
  |    <end-state name="end"></end-state>
  | </process-definition>
  | 

Conceptually, i thought that all three computers have a CommandExecutor running with their specific destination. 
In the current implementation of the asynchronous continuation, it is supposed that every node can be executed by an arbitrary CommandExecutor (if a clustered CommandExecutor would be implemented). In a distributed system, there are several external systems/services that only can execute the task they are made for (e.g. "get forecast for San Francisco"). So I think, that it should be possible to address a specific destination from the workflow so that only adequate CommandExecutors will receive the message.

It seems to be related to the jBPM Task, assigning different actors for every external computer. Only the way back from the external services to the "computer1" is not clear for me. Could I implement it on that way?

Thanks and regards,
Matthias


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3961215#3961215

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3961215



More information about the jboss-user mailing list