[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Fw: [wsbpel] WS-BPEL XML Schema - Global Element Declaration or LocalElement Declaration
Resending - used <dk> ... </dk> instead of color coding in my comments to
Alex' note.
Kind Regards
DK
Dieter K�nig Mail: dieterkoenig@de.ibm.com IBM Deutschland Entwicklung GmbH
Senior Technical Staff Member Tel (office): (+49) 7031-16-3426 Sch�naicher Strasse 220
Architect, Business Process Choreographer Fax (office): (+49) 7031-16-4890 71032 B�blingen
Member, Technical Expert Council Tel (home office): (+49) 7032-201464 Germany
----- Forwarded by Dieter Koenig1/Germany/IBM on 10.05.2006 18:38 -----
Dieter
Koenig1/Germany/I
BM To
Alex Yiu <alex.yiu@oracle.com>
10.05.2006 14:32 cc
wsbpel@lists.oasis-open.org, Thomas
Schulze/Germany/IBM@IBMDE, Simon D
Moser/Germany/IBM, Ron Ten-Hove
<Ronald.Ten-Hove@Sun.COM>
Subject
Fw: [wsbpel] WS-BPEL XML Schema -
Global Element Declaration or Local
Element Declaration
Hi Alex, it is not yet clear to me why we need a GED "scope" and an
<element ref="bpel:scope"/> when
<element name="scope" type="bpel:tScope"/>
can do the job. Same for many other cases.
All WS-BPEL needs to expose is <bpel:process>, <bpel:service-ref>,
<bpel:property> and <bpel:propertyAlias>; section 5.1. makes it pretty
clear that the only root element in a definition artifact is <bpel:process>
.
"Schema for Schemas" is just one example - WSDL is another (exposing
<definitions> as the only GED).
There should be three XML schema artifacts where each one exposes exactly
what is required:
1. WS-BPEL XML schema for process validation - one GED <bpel:process>
2. WS-BPEL XML schema for property validation - two GEDs <bpel:property>
and <bpel:propertyAlias> (issue 192 did not imply merging them into the
main XSD)
3. WS-BPEL XML schema for process modelers - one GED <bpel:service-ref>
More comments <dk> ... </dk>.
Kind Regards
DK
Dieter K�nig Mail: dieterkoenig@de.ibm.com IBM Deutschland Entwicklung GmbH
Senior Technical Staff Member Tel (office): (+49) 7031-16-3426 Sch�naicher Strasse 220
Architect, Business Process Choreographer Fax (office): (+49) 7031-16-4890 71032 B�blingen
Member, Technical Expert Council Tel (home office): (+49) 7032-201464 Germany
Alex Yiu
<alex.yiu@oracle.
com> To
Alex Yiu <alex.yiu@oracle.com>
08.05.2006 23:12 cc
Dieter Koenig1/Germany/IBM@IBMDE,
wsbpel@lists.oasis-open.org, Thomas
Schulze/Germany/IBM@IBMDE, Alex Yiu
<alex.yiu@oracle.com>, Ron Ten-Hove
<Ronald.Ten-Hove@Sun.COM>
Subject
Re: [wsbpel] WS-BPEL XML Schema -
Global Element Declaration or Local
Element Declaration
Hi Dieter and Thomas,
(cc'ing Ron as well; I tend to think he would give some good input here as
well)
The email from you guys poses a very interesting question. That is when
Global Element Declaration (GED) and Local Element Declaration (LED) should
be used in a schema design.
Besides <process>, our BPEL 2.0 schema currently declares <documentation>,
<copy>
<dk> , <from>, <to> </dk>
and all activities as global elements, while BPEL 1.1 has only declared
<process>
<dk>, <from> and <to> </dk>
as global.
One interesting thing worths pointing out is: the way that we declare (GED)
and define <documentation> is virtually a carbon copy of
<xsd:documentation>, which leads me to dive into Appendix A "Schema for
Schema (Normative)".
http://www.w3.org/TR/xmlschema-1/#normative-schemaSchema
After more thinking and reading, I would actually suggest to adopt GED in
BPEL 2.0 schema more comprehensively (i.e. use GED over LED whenever
possible). No! Reasons are listed below:
Patterns borrowed from Schema for Schema: In XSD, only <xsd:schema>
is the top level element. However, if one looks into the "Schema for
Schema" appendix, they basically use GED whenever they can. Searching
for <xs:element ref="..." ... /> will yield their usage. E.g.
<xsd:documentation> is not a top level element. But, they use declare
it as a global element instead of LED. IMHO, the design is made that
way because:
The XSD specification wants to stress the global significance
of <xsd:documentation>. That is: there is only one definition
of <xsd:documentation>, which is significant to whole XSD
namespace.
<dk>A global complexType is also significant.</dk>
LED is used in schema for schema, only when the same element
name has two or more very different definitions (e.g.
<xsd:simpleType> are "overloaded" with two types
"xs:localSimpleType" and "xs:topLevelSimpleType".)
And, in our specification, we usually refer to our element-based
construct as simply by its QName (e.g. <bpel:scope> or
<bpel:receive>) without any further qualification. That really means
we do rely on its global significance. Given the QName of
"bpel:scope", there is only one syntax definition (unlike
<xsd:simpleType>). Hence, our XSD should reflect this global
significance as well.
<dk>This would lead us on a strange path. We would also want to
declare several attributes globally if we follow this rationale.</dk>
Also note that: two local element declarations (e.g.
<xsd:documentation>) (even based on the same type) are not considered
100% identical from XSD perspective.
<dk>Sufficient from a BPEL perspective!</dk>
(Only their type are considered identical). (Similar consideration
applies to <scope> within <forEach> and <onEvent> and general
occurances of <scope>.) If we use GED, those elements are truely 100%
identical.
<dk>BPEL doesn't need that as long as the type is 100% identical.
</dk>
BPEL fragment support: Having GED enabled in schema will allow us to
perform syntax validate a BPEL fragment by itself. It is particularly
useful for abstract process. One can two or more artifacts (files):
(1) abstract process (2) a fragment of BPEL definition (e.g. an
activity) to fill in missing parts in abstract process. Syntactic
analysis can be achieved easier, if we use GED more comprehensively.
e.g.:. an activity can be validated with XSD by itself.
<dk>I can see no link at all to abstract processes. There is no
normative statement in the spec talking about "fragments".</dk>
The only reason against using more than one GED in a schema design
is: before / after the schema validation, a WS-BPEL processor needs
to verify whether the root element is <bpel:process>. That is a super
easy step to do. Given the schema for schema design as our
predecessor example, it should not be a problem, i.e., an XSD
processor would not accept a schema started with <xsd:documentation>
as their root element.
Let's discuss this topic a bit more and make a conscious decision on this
topic and then apply GED/LED comprehensively to our schema.
Further thoughts?
Thanks!
Regards,
Alex Yiu
Alex Yiu wrote:
Hi,
Google translates from:
"�nderungen an den BPEL TC XSDs"
to:
"Changes to the BPEL TC XSDs"
I guess Dieter's "translation" does not have the "lost in
translation" situation Instead, we have "addition in translation"
situation. ... ;-)
[ That is the informal reply to this thread ... :-) ... I will send
out a formal reply later ]
Regards,
Alex Yiu
Dieter Koenig1 wrote:
Resending with a more "readable" subject line :-)
----- Forwarded by Dieter Koenig1/Germany/IBM on 05.05.2006
07:25 -----
Dieter
Koenig1/Germany/I
BM@IBMDE
To
alex.yiu@oracle.com
05.05.2006 07:21
cc
wsbpel@lists.oasis-open.org, Thomas
Schulze/Germany/IBM@IBMDE
Subject
[wsbpel] Fw: �nderungen
an den
BPEL TC XSDs
Hi Alex, as discussed in the TC, the current WS-BPEL XML Schema
allows
creating valid XML documents that contain root elements other
than
<process>.
For example (I dropped the namespace declarations for
readability):
<copy ...>
<from/>
<to/>
</copy>
is a valid WS-BPEL document !!!
It is only necessary to allow <bpel:process> or
<bpel:service-ref> as
WS-BPEL root documents, and <bpel:property> and
<bpel:propertyAlias> as
WSDL extension elements.
Thomas created a WS-BPEL XML Schema (with about 15 minor
modifications
marked THS) that would avoid valid root documents like the one
shown above.
(See attached file: wsbpel_main.xsd)
Please have a look at it. Thanks in advance!!
Kind Regards
DK
Dieter K�nig Mail:
dieterkoenig@de.ibm.com
IBM Deutschland Entwicklung GmbH
Senior Technical Staff Member Tel (office):
(+49)
7031-16-3426 Sch�naicher Strasse 220
Architect, Business Process Choreographer Fax (office):
(+49)
7031-16-4890 71032 B�blingen
Member, Technical Expert Council Tel (home office):
(+49)
7032-201464 Germany
(See attached file: wsbpel_main.xsd)
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC
that
generates this mail. You may a link to this group and all your
TCs in
OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC
that
generates this mail. You may a link to this group and all your
TCs in OASIS
at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]