OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] Issue 88 - Proposal to vote


I have to point you to Paco, this area is way out of my domain.
	Yaron

Alex Yiu wrote:
> 
> Hi, Yaron,
> 
> I understand in a number of specification "import" are specified as 
> non-transitive.
> However, can you point me to related text in WSDL 2.0 spec, XQuery and 
> XML Schema spec? Because, I want to make your example are consistent 
> with their semantics. (I tried to locate related text ... no luck so far 
> ...)
> 
> *[1]*
> I have some more questions based on the following situation:
> 
>     * A BPEL process imports S1.
>     * S1 imports S2.
>     * S2 defines bar:typeX and bar:typeY.
>     * S1 defines foo:type1 which makes uses of bar:typeX in some of
>       sub-element defintion.
> 
> 
> (a) It is very clear to me that the BPEL process should not be able to 
> have access to bar:typeY.
> (b) It is also clear to me that the BPEL process should not be able to 
> declare variable based on bar:typeX.
> (c) However, I am not 100% sure that the BPEL process definition cannot 
> refer to bar:typeX in an (XQuery) expression. For example, consider this 
> expression
>     count( $type1Var//*[. instance of element(*,bar:typeX)] )
>        (counting how many sub elements of "bar:typeX" within "type1Var")
> 
> *[2]*
> Another dimension of question is:
> 
>     * Another import for S3 was added to the same BPEL process.
>     * S3 imports S2b
>     * S2b defines "bar:typeY" which share the same QName but conflicting
>       definition when compared with "bar:typeY" in S2.
> 
> Note: "bar:typeY" is not used in BPEL process. Should we allow some 
> pessimistic error raising? If not, I can forsee that people will be 
> caught by surprise, if they add an element definition based on 
> "bar:typeY" in S1 / S3 and the BPEL implementation flag an error at that 
> time.
> 
> 
> Thanks!
> 
> 
> Regards,
> Alex Yiu
> 
> 
> 
> 
> Yaron Y. Goland wrote:
> 
>> Change:
>>
>> However, documents (or namespaces) imported by an imported document 
>> (or namespace) are no considered to be transitively imported by the 
>> process.
>>
>> To:
>>
>> However, documents (or namespaces) imported by an imported document 
>> (or namespace) are not considered to be transitively imported by the 
>> process.
>>
>> The lack of transitivity can cause some interesting issues. For 
>> example, a document D1 could define a type called a:Type. But a:Type's 
>> definition could depend on another type called another:Type which is 
>> defined in document D2. D1 could include an import for D2 thus making 
>> another:Type's definition available for use with a:Type.
>>
>> Now imagine a BPEL process refers to a:Type and imports one and only 
>> one document, D1. By importing D1 the BPEL process can legally refer 
>> to a:Type. But, the BPEL process could not refer to another:Type even 
>> though D1 imports D2. This is because transitivity of import is not 
>> supported by BPEL. Note, however, that D1 can still import D2 and 
>> a:Type can still use another:Type in its definition but the BPEL 
>> process cannot directly refer to another:Type. In order to allow the 
>> BPEL process to refer to another:Type it would be necessary for the 
>> BPEL process to directly import document D2.
>>
>> Francisco Curbera wrote:
>>
>>>
>>>
>>> Hi Yaron,
>>>
>>> That is fine with me, although I am not completely sure what possible
>>> confusion you have in mind. Would you mind writing the clarification 
>>> text
>>> you think that paragraph needs?
>>>
>>> Paco
>>>
>>>
>>>
>>>                                                                                                                                         
>>>
>>>
>>>                       "Yaron Y. 
>>> Goland"                                                                                                 
>>>
>>>
>>>                       <ygoland@bea.com> 
>>> <mailto:ygoland@bea.com>        To:       Francisco 
>>> Curbera/Watson/IBM@IBMUS                                           
>>>                                                cc:       
>>> wsbpel@lists.oasis-open.org 
>>> <mailto:wsbpel@lists.oasis-open.org>                                                    
>>>
>>>
>>>                       08/03/2005 11:12         Subject:  Re: [wsbpel] 
>>> Issue 88 - Proposal to vote                                     
>>>                       
>>> AM                                                                                                                
>>>
>>>
>>>                       Please respond 
>>> to                                                                                                 
>>>
>>>
>>>                       
>>> ygoland                                                                                                           
>>>
>>>
>>>                                                                                                                                         
>>>
>>>
>>>
>>>
>>>
>>> I like the change.
>>>
>>> In the last sentence I think you want to say "not" rather than "no". I
>>> also think this sentence itself needs some expansion because a naive
>>> reader would think this means that imported WSDLs or Schemas can't
>>> import anything themselves. When what we really mean is that IF an item
>>> is required by BPEL THEN it MUST be directly imported but that imported
>>> item could itself depend on other items that were transitively imported.
>>> I know this distinction has caused confusion in other standards and I
>>> think we should make it painfully clear in our standard.
>>>
>>>              Thanks,
>>>
>>>                          Yaron
>>>
>>>
>>>
>>> Francisco Curbera wrote:
>>>  >
>>>  >
>>>  > Hi Yaron,
>>>  >
>>>  > I added the following to make that case more explicit.
>>>  >
>>>  > "Observe that according to these rules, it is permissible to have an
>>> import
>>>  > element without namespace and location attributes, and only 
>>> containing an
>>>  > importType attribute. Such an import element indicates that external
>>>  > definitions of the indicated type are in use which are not namespace
>>>  > qualified, and makes no statement about where those definitions 
>>> may be
>>>  > found."
>>>  >
>>>  >
>>>  > Updated proposal follows:
>>>  >
>>>  >
>>>  > The <import> element is used within a WS-BPEL process to explicitly
>>>  > indicate a dependency on external XML Schema or WSDL definitions. Any
>>>  > number of <import> elements may appear as initial children of the
>>> <process>
>>>  > element, before any other child element. Each <import> element 
>>> contains a
>>>  > mandatory and two optional attributes.
>>>  >
>>>  > - namespace. The namespace attribute specifies an absolute URI that
>>>  > identifies the imported definitions. This attribute is optional. An
>>> import
>>>  > element without  a namespace attribute indicates that external
>>> definitions
>>>  > are in use which are not namespace qualified.
>>>  >
>>>  > - location. The location attribute contains a URI indicating the 
>>> location
>>>  > of a document that contains relevant definitions in the namespace
>>>  > specified. The location URI may be a relative URI, following the 
>>> usual
>>>  > rules for resolution of the URI base (XML Base and RFC 2396). The
>>> location
>>>  > attribute is optional. An import element without a location attribute
>>>  > indicates that external definitions are used by the process but 
>>> makes no
>>>  > statement about where those definitions may be found. The document
>>> located
>>>  > at the location URI MUST identify the definitions it contains with 
>>> a URI
>>>  > matching the URI indicated by the namespace attribute.
>>>  >
>>>  > - importType. The importType attribute identifies the type of 
>>> document
>>>  > being imported by providing an absolute URI that identifies the 
>>> encoding
>>>  > language used in the document. The value of the importType 
>>> attribute MUST
>>>  > be set to "http://www.w3.org/2001/XMLSchema"; 
>>> <http://www.w3.org/2001/XMLSchema> when importing XML Schema
>>> 1.0
>>>  > documents, and to "http://schemas.xmlsoap.org/wsdl/"; 
>>> <http://schemas.xmlsoap.org/wsdl/> when importing WSDL
>>>  > 1.1 documents.
>>>  >
>>>  > Observe that according to these rules, it is permissible to have an
>>> import
>>>  > element without namespace and location attributes, and only 
>>> containing an
>>>  > importType attribute. Such an import element indicates that external
>>>  > definitions of the indicated type are in use which are not namespace
>>>  > qualified, and makes no statement about where those definitions 
>>> may be
>>>  > found.
>>>  >
>>>  > The presence of an <import> element should be interpreted as an
>>>  > informational hint to the WS-BPEL processor. In particular, 
>>> processors
>>> are
>>>  > not required to retrieve the imported document from the location
>>> specified
>>>  > on the <import> element. Import elements are conceptually 
>>> unordered. It
>>> is
>>>  > an error if the imported documents contain conflicting definitions 
>>> of a
>>>  > component used by the importing process definition (as could be 
>>> caused,
>>> for
>>>  > example, when the XSD redefinition mechanism is used).
>>>  >
>>>  > A BPEL process definition MUST import all XML Schema and WSDL 
>>> definitions
>>>  > it uses. This includes all XML Schema type and element 
>>> definitions, all
>>>  > WSLD port types and message types as well as property and property 
>>> alias
>>>  > definitions used by the process.
>>>  >
>>>  > Schema definitions defined in the types section of a WSDL document 
>>> which
>>> is
>>>  > imported by a BPEL process definition are considered to be 
>>> effectively
>>>  > imported themselves and are available to the process for the 
>>> purpose of
>>>  > defining XML Schema variables. However, documents (or namespaces)
>>> imported
>>>  > by an imported document (or namespace) are no considered to be
>>> transitively
>>>  > imported by the process.
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>
>>>  >
>>>  >
>>>  >                       "Yaron Y.
>>>  > Goland"
>>>
>>>  >
>>>  >
>>>  >                       <ygoland@bea.com> 
>>> <mailto:ygoland@bea.com>        To:       Francisco
>>>  > Curbera/Watson/IBM@IBMUS
>>>  >
>>>  >                                                cc:
>>>  > wsbpel@lists.oasis-open.org <mailto:wsbpel@lists.oasis-open.org>
>>>
>>>  >
>>>  >
>>>  >                       08/02/2005 12:31         Subject:  Re: [wsbpel]
>>>  > Issue 88 - Proposal to vote
>>>  >
>>>  >
>>>  > PM
>>>
>>>  >
>>>  >
>>>  >                       Please respond
>>>  > to
>>>
>>>  >
>>>  >
>>>  >
>>>  > ygoland
>>>
>>>  >
>>>  >
>>>  >
>>>
>>>  >
>>>  >
>>>  >
>>>  >
>>>  >
>>>  > As per the discussion on the last call there should be language
>>>  > explicitly defining what it means to have an import without a 
>>> namespace
>>>  > or a location. I'm not arguing the case itself, just that it is odd
>>>  > enough that an explicit description of its semantics seems called 
>>> for.
>>>  >              Thanks,
>>>  >                          Yaron
>>>  >
>>>  > Francisco Curbera wrote:
>>>  >  >
>>>  >  >
>>>  >  > This is the proposal for closing issue 88.
>>>  >  >
>>>  >  > Replace the text of Section 6.4, starting on the second 
>>> paragraph by
>>> the
>>>  >  > following.
>>>  >  >
>>>  >  >
>>>  >  > The <import> element is used within a WS-BPEL process to 
>>> explicitly
>>>  >  > indicate a dependency on external XML Schema or WSDL 
>>> definitions. Any
>>>  >  > number of <import> elements may appear as initial children of the
>>>  > <process>
>>>  >  > element, before any other child element. Each <import> element
>>>  > contains a
>>>  >  > mandatory and two optional attributes.
>>>  >  >
>>>  >  > - namespace. The namespace attribute specifies an absolute URI 
>>> that
>>>  >  > identifies the imported definitions. This attribute is 
>>> optional. An
>>>  > import
>>>  >  > element without  a namespace attribute indicates that external
>>>  > definitions
>>>  >  > are in use which are not namespace qualified.
>>>  >  >
>>>  >  > - location. The location attribute contains a URI indicating the
>>>  > location
>>>  >  > of a document that contains relevant definitions in the namespace
>>>  >  > specified.
>>>  >  > The location URIs may be a relative URI, following the usual 
>>> rules for
>>>  >  > resolution of the URI base (XML Base and RFC 2396). The location
>>>  > attribute
>>>  >  > is optional. An import element without a location attribute 
>>> indicates
>>>  > that
>>>  >  > external definitions are used by the process but makes no 
>>> statement
>>>  > about
>>>  >  > where those definitions may be found. The document located at the
>>>  > location
>>>  >  > URI MUST identify the definitions it contains with a URI 
>>> matching the
>>>  > URI
>>>  >  > indicated by the namespace attribute.
>>>  >  >
>>>  >  > - importType. The importType attribute identifies the type of 
>>> document
>>>  >  > being imported by providing an absolute URI that identifies the
>>> encoding
>>>  >  > language used in the document. The value of the importType 
>>> attribute
>>>  > MUST
>>>  >  > be set to "http://www.w3.org/2001/XMLSchema"; 
>>> <http://www.w3.org/2001/XMLSchema> when importing XML Schema
>>>  > 1.0
>>>  >  > documents, and to "http://schemas.xmlsoap.org/wsdl/"; 
>>> <http://schemas.xmlsoap.org/wsdl/> when importing
>>> WSDL
>>>  >  > 1.1 documents.
>>>  >  >
>>>  >  > The presence of an <import> element should be interpreted as an
>>>  >  > informational hint to the WS-BPEL processor. In particular, 
>>> processors
>>>  > are
>>>  >  > not required to retrieve the imported document from the location
>>>  > specified
>>>  >  > on the <import> element. Import elements are conceptually 
>>> unordered.
>>> It
>>>  > is
>>>  >  > an error if the imported documents contain conflicting 
>>> definitions of
>>> a
>>>  >  > component used by the importing process definition (as could be
>>> caused,
>>>  > for
>>>  >  > example, when the XSD redefinition mechanism is used).
>>>  >  >
>>>  >  > A BPEL process definition MUST import all XML Schema and WSDL
>>>  > definitions
>>>  >  > it uses. This includes all XML Schema type and element 
>>> definitions,
>>> all
>>>  >  > WSLD port types and message types as well as property and property
>>> alias
>>>  >  > definitions used by the process.
>>>  >  >
>>>  >  > Schema definitions defined in the types section of a WSDL document
>>> which
>>>  > is
>>>  >  > imported by a BPEL process definition are considered to be 
>>> effectively
>>>  >  > imported themselves and are available to the process for the 
>>> purpose
>>> of
>>>  >  > defining XML Schema variables. However, documents (or namespaces)
>>>  > imported
>>>  >  > by an imported document (or namespace) are no considered to be
>>>  > transitively
>>>  >  > imported by the process.
>>>  >  >
>>>  >  >
>>>  >  > 
>>> ---------------------------------------------------------------------
>>>  >  > 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
>>>  >
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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
>>>
>>
>>
>> ---------------------------------------------------------------------
>> 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]