[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-bpel] NEW ISSUE: SBPEL2022 has an incorrect 'MAY' and isnot applied recursively
[changing subject to include issue #] As we discussed on the call, we need to do 2 things: 1 - decide what it is we actually want the spec to require here 2 - come up with language that specifies that IMO it will be much easier to do #1 if we don't do #2 at the same time. I'll take a stab at what it is we want to do, using an illustrative (and pathological) example. Imagine a process with the following (scopes and) partnerLinks: Scope1 shipping _shipping_2 receiving _receiving_2 Scope2 _shipping_1 _receiving_1 As context, here's section 2.3: "It is possible to declare partner links local to a <scope> in WS-BPEL, besides declaring partner links at the <process> level. The names of partner link declared in different <scope> could potentially share the identical name. [SBPEL2019] When multiple partner links share the same name, the scheme defined by [SBPEL2020]-[SBPEL2022] MUST be used to disambiguate different occurrences of partner link declaration. · Let "originalName" be the original NCName used in multiple partner link declarations. · [SBPEL2020] The introspected component type MUST include services or references corresponding to these partner links with names: "_orginalName_1" to "_orginalName_N". Whether the partner link corresponds to a service or reference does not affect the name used. [SBPEL2021] The number suffixes for the partner links MUST be based on the lexical order of the corresponding partner link occurrences in the process definition. ·
[SBPEL2022] If any "_orginalName_i"
(where 1 <=
i <= N) is already the name of a partner link declaration in the
process
definition, additional underscore characters MAY be added at the
beginning of
all aliases consistently to avoid collision." I read the above rules as resulting in the following: Scope1 shipping <- _shipping_1 _shipping_2 <- __shipping_2_1 receiving <- _receiving_1 _receiving_2 <- __receiving_2_1 Scope2 shipping <- _shipping_2 receiving <- _receiving_2 _shipping_1 <- __shipping_1_1 _receiving_1 <- __receiving_1_2 Note: This solution is not handled in a single-pass. Would a single-pass solution be preferable? I'm not sure that this is the prettiest solution, but then again, I'm not sure I care. I'd welcome other solutions, as well as other interpretations of the text. However, all that is truly important, IMO, is that we agree on what we want (#1) and then do our best to encode it (#2). If #2 proves too difficult for our decision on #1, then I propose we change #1. Danny Danny van der Rijn wrote: 4A0206B6.5040208@tibco.com" type="cite"> If you're going down to this level of detail, I think you need to be more explicit about what "recursive" and (where 1 <= i <= N) mean. Something like |
S/MIME Cryptographic Signature
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]