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