[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] RE: Issue 147 - some comemnts and questions
Quoting "Yaron Y. Goland" <ygoland@bea.com>: > To me the issue of foreach versus flow is one of 'least > surprise'. I feel the issue is consistency and maintainability. Solutions like <Foreach> and <bundle> add additional concurrency constructs when we should really be economising on concepts. Also I don't like the modal nature of your <foreach>. I would prefer to keep a general purpose iteration construct separate from a concurrency construct. I believe effort is better spent thinking through incorporating dynamic branching into <flow>. >Personally I think it is less surprising to have a >serial foreach turn into a parallel foreach then it is >to have a flow which normally means "do these things >in parallel" turn into "do these things in parallel >except certain things which should be done in parallel more >>than once". You misunderstood my proposal. I am trying to provide a solution to what I believe van aalst calls the "multiple instances decided at runtime" workflow design pattern. I think Axel Martin has a proposal too about a year ago. I am trying to sketch out a more declarative, less verbose way and more straightforward way of stating what I believe will be a common design pattern: <flow> <foreach counterName="foo" parallel="yes"> <startCounterValue="..."/> <finishCounterValue="...."> <scope name="foo"> </scope> </foreach> <foreach counterName="foo" parallel="yes"> <startCounterValue="..."/> <finishCounterValue="...."> <scope name="bar"> </scope> </foreach> <foreach counterName="foo" parallel="yes"> <startCounterValue="..."/> <finishCounterValue="...."> <scope name="acme"> </scope> </foreach> . . . </flow> > But this is really a question of art, not science. Perhaps I am mistaken but I suspect to do anything useful with parallel <foreach>, one will need query expressions like "//someXMLVariable[$counterName]" (can I have a variable as an index?) Otherwise how is one going to give dynamically created scopes unique values? I believe <foreach> without parameterised modules/sub-processes will encourage a BASIC style of programming,circa 1985. We know far more about language design in 2005. Cheers, Andrew
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]