[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]