OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] Issue - 123 - Matching <reply> with <receive>


Hi,

Below is my attempt to summarize the discussion so far.

== Two of the arguably most popular resolution ideas for Issue 123 ==

Note: We can change the name of the attributes and elements later if
necessary. Let's concentrate on the model now.

R1: Put messageExchange attribute on the receive and the reply, only when
needed to disambiguate the correspondence.

     ...
     <receive messageExchange="me1" ...>
     ...
     <reply messageExchange="me1" ...>
     ...

R1a: Put messageExchange attribute on the receive and the reply, only when
needed to disambiguate the correspondence. Have the enclosing scope have
messageExchanges element.

   ...
   <scope ...>
     <messageExchanges>
       <messageExchange name="me1"/>
     </messageExchanges>
     ...
     <receive messageExchange="me1" ...>
     ...
     <reply messageExchange="me1" ...>
     ...
   </scope>
   ...

== Comparison ==

                  R1:            R1a:

Concept:         Simple         Simple

Terseness:       Good           Fair

Name collision   Harder         Easier
prevention:

MEP lifetime:    Unclearer      Clearer

Consistency:     Poor           Good

Concept: The concepts behind R1 and R1a are the same: the receive and the
reply belong to the same message exchange pattern instance.

Terseness: R1a requires messageExchanges and messageExchange elements.

Name collision prevention: With R1, the process designer has to check all
the messageExchange attributes in a process before adding a new one for
a new receive-reply pair. With R1a, s/he has to check only the inner-most
common scope for the new pair and its child scopes that contain either of
the pair.

MEP lifetime: With R1a the lifetime of a MEP instance is limited to that
of the scope where it is defined. With R1, there is no such limitation.

Consistency: All other referenciable constructs of BPEL are explicitly
defined somewhere in a process definition. R1 is inconsistent in that the
messageExchange referenced is not defined anywhere.

== Personal Opinion ==

I prefer R1a because of the easiness of the name collision prevention and
the consistency with the other parts of BPEL.

Yuzo Fujishima
NEC Corporation



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]