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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-bpel message

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


Subject: [Issue 53] BPEL Process: References with Multiplicity 0..1 - howare they supposed to work?


This is now issue 53
http://osoa.org/jira/browse/BPEL-53

Mike Edwards wrote:
> 
> Raiser:                Mike Edwards
> 
> Target:                
> 
> Description:
> 
>  
> Multi-valued references (ie 0..n and 1..n) are discussed in the 
> specification at some length, particularly in section
> 3.2.  Unfortunately, the case of 0..1 references is mentioned only in 
> passing, although it has some significant
> matters that need discussion and clarification.
> 
> Section 2.1.1 makes it clear that 0..1 multiplicity references do exist 
> for BPEL processes.
> 
> Basically, it states that where a partnerLink is determined to be a 
> reference, it will be 0..1 if @initializePartnerRole="no"
> OR @initializePartnerRole is omitted.  It must also be the case that the 
> partnerLink must not have its "first use" as the
> target of an <assign/> operation.
> 
> Now, reading the BPEL 2.0 specification:
> 
>    @initializePartnerRole="no" means that the BPEL Processor MUST NOT 
> initialize the partnerLink variable.
> 
>    @initializePartnerRole omitted means that the BPEL Processor MAY 
> initialize the partnerLink variable.
> 
> 
> Now, the problems are these:
> 
> A)  If the partnerLink is NOT initialized, then it is essential that it 
> is initialized by the BPEL process itself, since any
> attempt to use that partnerLink variable will otherwise result in a fault.
> 
> So, if the partnerLink is marked @initializePartnerRole="no", the 
> partnerLink must be supplied with a value - but
> how is such a value supplied to the BPEL process by SCA?  The SCA BPEL 
> spec talks about the way in which
> serviceReferences are supplied in a variable typed as a 
> serviceReferenceList for multi-valued references.
> There is no such equivalent for 0..1 references.
> 
> Even if the partnerLink is not marked with @initializePartnerRole at 
> all, it is STILL possible for the partnerLink to
> be uninitialized and so unusable without being assigned a value by the 
> BPEL process - this is the result of that
> "MAY" in the BPEL 2.0 spec, listed above.  Again, there is no means by 
> which the BPEL process can get a
> serviceReference to assign into the partnerLink.
> 
> 
> B) If the partnerLink IS initialized, how can the BPEL process determine 
> the difference between the case where the
> reference is wired and the case where the reference is unwired?
> 
> There is no standard means for doing this in BPEL.
> 
> So, I think we may have a problem with 0..1 references in the SCA BPEL 
> spec.
> 
> Proposal:
> 
> None
> 
> 
> Yours,  Mike.
> 
> Strategist - Emerging Technologies, SCA & SDO.
> Co Chair OASIS SCA Assembly TC.
> IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
> Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
> Email:  mike_edwards@uk.ibm.com
> 
> 
> ------------------------------------------------------------------------
> 
> /
> /
> 
> /Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU/
> 
> 
> 
> 
> 
> 


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