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: Correlation sets on invoke


   Hi guys,

I was having a discussion with a student today regarding BPEL 
correlation sets, and realized that something is ambiguous about them.

For initiate='yes|rendezvous' on an invoke corrset, it's pretty clear 
what the person is doing - but why would anyone want to have 
correlationSet='no'  ?

-If I have a correlation set on an invoke, but initiate='no' and 
pattern='out' :  Looking at the spec, one could say it means that one 
checks that the value of the field is consistent with the value of the 
correlation set and if not nothing happens anyway (behavior is undefined 
acc to author's draft). So I guess, this is harmless at worst.

-If I have a correlation set on an invoke, with initiate='no' and 
pattern='in' does that mean that  the response to the invocation is 
treated it as if it is coming to a 'receive' and so the correlation is 
used for routing ? If so, that is strange and does appear to have been 
the intention of the authors - especially since we have a 'conflicting 
receive fault' but no 'conflictingInvokeResponse' fault. ie:  The engine 
matches responses to requests of req/resp operations (many mechanisms 
exist. Who cares which one is used). So, we can  tell which instance the 
response is coming to, without using correlation. Now again, we could 
say it's for some business data validation case (check that the 
properties are in fact correct) - but if that fails again the behavior 
is undefined so who cares ?

I was explaining to the student that the latter case is redundant and 
not useful for BPEL. Even the first one is strange to me since I don't 
see why you would ever want to have correlation on invoke if you're not 
either setting it (or using rendezvous or whatever that thing is called 
now - where you could have been setting it). I think the spec should 
either say something to this effect, otherwise it is confusing to some 
people just reading the spec whether or not, for example, they need to 
use correlation on a request-response invoke if their engine does not 
support something like WS-Addressing. It is clear that for receive you 
would need it - but for invoke the spec doesn't tell you explicitly that 
you don't.

Regards,
Rania





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