[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [sca-bpel] New Issue - References to WS-BPEL 2.0 <partnerLink> Attributes "myRole" and"partnerRole"
Target: SCA-BPEL 1.1 - Committee Draft 02 and Public Review Draft 0 Description: In the April 23 TC call, I mentioned a potential problem w.r.t. referencing the WS-BPEL 2.0 <partnerLink> attributes myRole and partnerRole in SCA-BPEL normative statements, and took an action item for investigating the situation in (1) the SCA-BPEL specification and (2) the test assertion document. Background: In WS-BPEL 2.0, the specification of the @myRole and @partnerRole attributes of a <bpel:partnerLink> element is optional: "Within a <partnerLink>, the role of the business process itself is indicated by the attribute myRole and the role of the partner is indicated by the attribute partnerRole. When a partnerLinkType has only one role, one of these attributes is omitted as appropriate. [SA00016] Note that a <partnerLink> MUST specify the myRole, or the partnerRole, or both. This syntactic constraint MUST be statically enforced." (Reference: http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html, section 6.2. Partner Links). In other words, if there is a two-role partner link type, it is sufficient for the <partnerLink> to specify **only one** of the @myRole / @partnerRole attributes because the other one is implied. As a result, there may be situations with two-role partner link types where SCA-BPEL mentions a @partnerRole attribute while the <bpel:partnerLink> element only contains a @myRole attribute, or vice versa. I checked the normative statements in SCA-BPEL 1.1: [SBPEL2015] The WSDL port type in the <interface.wsdl> declaration for the service in the introspected component type MUST be the same as the port type of the myRole of the partner link. [SBPEL2016] If the partner link type has two roles, then the <interface.wsdl> declaration MUST also have a @callbackInterface attribute whose value points to the same WSDL port type as the partnerRole of the partner link. [SBPEL2017] The WSDL port type in the <interface.wsdl> declaration for the reference MUST be the same as the port type of the partnerRole of the partner link. [SBPEL2018] If the partner link type has two roles, then the <interface.wsdl> declaration MUST also have a @callbackInterface attribute whose value points to the same WSDL port type as the myRole of the partner link. [SBPEL3011] The partnerLinkType and partnerRole attributes of the partner link and multi-valued reference variable MUST be matched. [SBPEL3012] There MUST be at least one code-path where the values from the multi-valued reference variable are copied to the partnerRole of the partner link. The rule [SBPEL3011] explicitly refers to the "partnerRole attribute" (so it has the problem mentioned above). The other rules only talk about the "myRole" or "partnerRole" (which **can** be interpreted in an abstract way and not as the name of an existing attribute), so we may leave that as-is. Proposal: (1) As a minimal-invasive change, I suggest changing [SBPEL3011] as follows in order to avoid the explicit reference of the "partnerRole" attribute of a <partnerLink> element (which may not be present): [SBPEL3011] The partnerLinkType attribute of the partner link and multi-valued reference variable MUST be matched and the partnerRole attribute of the multi-valued reference variable MUST match the partnerRole of the partner link. (2) The test assertions SBL-TA-2014 and SBL-TA-2015 should be changed as well. In the same way as the SCA-BPEL spec statements, they should say "myRole" instead of "@myRole attribute" and "partnerRole" instead of "@partnerRole attribute". Kind Regards Dieter König Senior Technical Staff Member, WebSphere Process Server Architect IBM Software Group, Application and Integration Middleware Software WSS Business Process Solutions Phone: +49-7031-16-3426 IBM Deutschland (Embedded image moved to file: pic14682.gif) E-Mail: email@example.com Schönaicher Str. 220 71032 Böblingen Germany IBM Deutschland Research & Development GmbH / Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Erich Baier Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294