Hi Monica,
+1 to the bug fix and refinement of static analysis.
I would like to suggest some wordsmithing on the new sentence:
from:
[add sentence]
[add new Static
Analysis Requirement] At most one <toPart> exists for each part
in the
WSDL message definition. If a process includes more than one
<toPart> for
each part in the WSDL message definition, that process MUST be rejected
by
static analysis.[end sentence]
to:
[add sentence]
[add new Static
Analysis Requirement] At most one <toPart> exists for each part
in the
WSDL message definition. If a
process makes use of a <toParts> element, which
includes more than one <toPart> for a
particular part in the WSDL message definition, that process
MUST be rejected by
static analysis.[end sentence]
Does it sound good?
Thanks!
Regards,
Alex Yiu
Monica J. Martin wrote:
Title: <toPart>s and Anonymous WSDL variables clarification (PR2)
Target: WS-BPEL v2.0 Specification PR2 Draft
Description:
In Section 10.3.1, the use of <toPart> and <fromPart> is
described. However, conflicting information exists in <toPart>
copy mechanics given the normative requirement included in SA00050.
This may be a cut-paste error during construction of this section. In
addition, it is inferred that only one <toPart> should exist for
each part in the WSDL message definition and this should be explicit.
Both these should be addressed in the Public Review2 to ensure proper
use of these capabilities.
Proposal:
Section 10.3.1:
Change from:
The <toPart> elements, as a group, act as the single virtual
<assign>, with each <toPart> acting as a
<copy>....[existing static analysis requirement SA00050] When
<toParts> is present in an <invoke>, it is not required to
have a <toPart> for every part in the WSDL message definition,
nor is the order in which parts are specified relevant. Parts not
explicitly represented by <toPart> elements would result in
uninitialized parts in the target anonymous WSDL variable used by the
<invoke> or <reply> activity. Such processes with missing
<toPart> elements MUST be rejected during static analysis.
Change to: ...The <toPart> elements, as a group, act as the
single virtual <assign>, with each <toPart> acting as a
<copy>. [add sentence] [add Static Analysis Requirement] At most
one <toPart> exists for each part in the WSDL message definition.
If a process includes more than one <toPart> for each part in the
WSDL message definition, that process MUST be rejected by static
analysis.[end sentence]...
[updated static analysis requirement SA00050] When <toParts> is
present, it is required to have a <toPart> for every part in the
WSDL message definition; the order in which parts are specified is
irrelevant. Parts not explicitly represented by <toPart> elements
would result in uninitialized parts in the target anonymous WSDL
variable used by the <invoke> or <reply> activity. Such
processes with missing <toPart> elements MUST be rejected during
static analysis.
Appendix B
1. Effect changes above as stated - Add one new static analysis
requirement and correct SA00050.
2. Renumber static analysis requirements or consider adding the new
static analysis requirement at the end of the list to minimize
changes required.
Notes:
* This issue doesn't specifically reference the known but rare case
when there could be multiple toPart from the same BPEL variable.
An example would be if the process always assumes the ship-to and
billing addresses are the same, the same address variable could be
copied to both the ship-to and billing address parts of the
anonymous PO message.
* Renumbering of static analysis requirements may be laborious;
perhaps another option could be used to enable their effective use
in the specification and by users.
References:
Current draft for PR2:
http://www.oasis-open.org/committees/download.php/21575/wsbpel-specification_public_review_draft_2_diff.pdf
Public Review
schema changes for PR2:
http://www.oasis-open.org/committees/download.php/21724/xsd%20changes%20for%20second%20public%20review.zip
15 day announcement:
http://lists.oasis-open.org/archives/wsbpel/200701/msg00004.html
|