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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: RE: [sca-assembly] ISSUE 18: Proposal to resolve Issue 18


I’m happy with Mike’s proposal b.

 

 


From: Mike Edwards [mailto:mike_edwards@uk.ibm.com]
Sent: Tuesday, February 05, 2008 5:51 AM
To: OASIS Assembly
Subject: RE: [sca-assembly] ISSUE 18: Proposal to resolve Issue 18

 


David,

That's a good point about the Issue 12 resolution.  I think we can handle this in relation to Issue 18
in one of two ways:

a) Ignore Issue 12, since the Issue 18 proposal breaks the link between Service and ComponentService
and betwen Reference and ComponentReference.  Issue 12 strictly only deals with Service and Reference.

b) Take on board the Issue 12 resolution and now have Component Service and ComponentReference
inherit from Contract.  They should NOT inherit from Service and Reference.  The problem with that is that
ComponentService and ComponentReference are NOT either a pure restriction or a pure extension of
Service and Reference, but they are an awkward mix.

So, if we take on board the Issue 12 resolution, the proposal for Issue 18 looks like this:


    <complexType name="ComponentService">
            <complexContent>
                    <extension base="sca:Contract">
                    </extension>
            </complexContent>
    </complexType>
   

    <complexType name="ComponentReference">
            <complexContent>
                    <extension base="sca:Contract">
                            <attribute name="autowire" type="boolean" use="optional" default="false"/>
                            <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/>
                            <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>
                            <attribute name="multiplicity" type="sca:Multiplicity" use="optional"
                                    default="1..1" />
                    </extension>
            </complexContent>
    </complexType>


where (from Issue 12 resolution):

        <complexType name="Contract" abstract="true">
                <sequence>
                        <element ref="sca:interface" minOccurs="0" maxOccurs="1" />
                        <element name="operation" type="sca:Operation" minOccurs="0" maxOccurs="unbounded" />
                        <choice minOccurs="0" maxOccurs="unbounded">
                                <element ref="sca:binding" />
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                        </choice>
                        <element ref="sca:callback" minOccurs="0" maxOccurs="1" />
                        <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
                </sequence>
                <attribute name="name" type="NCName" use="required" />
                <attribute name="requires" type="sca:listOfQNames" use="optional" />
                <attribute name="policySets" type="sca:listOfQNames" use="optional"/>
                <anyAttribute namespace="##any" processContents="lax" />
        </complexType>


I'm happy with this second proposal.

*** Separate point ***
I think we have a UPA problem with the two <any/> elements in the definition of Contract.

I recommend the removal of the <any/> within the <choice/>.  Bindings can themselves be extended within the binding element.
The Contract only needs one set of extensibility elements, which are given by the second <any/> above.


Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com


"David DiFranco" <ddifranc@bea.com>

04/02/2008 21:43

To

Simon Nash/UK/IBM@IBMGB, "OASIS Assembly" <sca-assembly@lists.oasis-open.org>

cc

 

Subject

RE: [sca-assembly] ISSUE 18: Proposal to resolve Issue 18

 

 

 




Thanks, you’re right.
I meant to say:
 
---
In issue 12, we agreed to add a supertype “Contract” for Service and Reference.
 
If we split out ComponentService and ComponentReference as you propose below,

we should make them inherit a common supertype “ComponentContract”.


 
 
 

 



From: Simon Nash [mailto:NASH@uk.ibm.com]
Sent:
Monday, February 04, 2008 3:41 PM
To:
OASIS Assembly
Subject:
RE: [sca-assembly] ISSUE 18: Proposal to resolve Issue 18

 

David,

(nit) Contract is a supertype for Service and Reference, not Service and Binding.


   Simon


Simon C. Nash, IBM Distinguished Engineer
Member of the IBM Academy of Technology
Tel. +44-1962-815156  Fax +44-1962-818999

"David DiFranco" <ddifranc@bea.com>

04/02/2008 16:21

 

To

"OASIS Assembly" <sca-assembly@lists.oasis-open.org>

cc

 

Subject

RE: [sca-assembly] ISSUE 18: Proposal to resolve Issue 18


 

 

 

 





In issue 12, we agreed to add a supertype “Contract” for Service and Binding.

 
If we split out ComponentService and ComponentBinding as you propose below,

we should make them inherit a common supertype “ComponentContract”.

 
 
 
Or an alternative:

If we don’t want to keep ComponentService and ComponentReference extending from Service and Reference,

we could add the following to ComponentService:

<attribute name="promote" type="anyURI" use="prohibited" />
 
And to ComponentReference:

<attribute name="promote" type="sca:listOfAnyURIs" use="required" />

 
 
 


 




From:
Mike Edwards [mailto:mike_edwards@uk.ibm.com]
Sent:
Monday, February 04, 2008 8:39 AM
To:
OASIS Assembly
Subject:
[sca-assembly] ISSUE 18: Proposal to resolve Issue 18

 

Folks,


Here is my proposal for Issue 18, which is one of the workitems following from the F2F meeting:


Issue 18 has the title "XSD definitions of Component Service and Component Reference have unintended features"

- in particular, ComponentService and ComponentReference pick up the "promote" attribute from Service and

Reference.


The principle of this proposal is to NOT derive ComponentService and ComponentReference through restriction.

Instead, they are simply declared in a standalone fashion, as follows:


Current declarations:


  <complexType name="ComponentService">

          <complexContent>

                  <restriction base="sca:Service">

                      <sequence>

                               <element ref="sca:interface" minOccurs="0" maxOccurs="1"/>

                               <element name="operation" type="sca:Operation" minOccurs="0"
                                         
maxOccurs="unbounded" />

                           <choice minOccurs="0" maxOccurs="unbounded">

                              <element ref="sca:binding"/>

                                   <any namespace="##other" processContents="lax"
                                           
minOccurs="0" maxOccurs="unbounded"/>

                           </choice>

                           <element ref="sca:callback" minOccurs="0" maxOccurs="1"/>

                           <any namespace="##other" processContents="lax" minOccurs="0"
                                   
maxOccurs="unbounded"/>

                      </sequence>

                      <attribute name="name" type="NCName" use="required"/>

                      <attribute name="requires" type="sca:listOfQNames"
                             
use="optional"/>

                      <attribute name="policySets" type="sca:listOfQNames"
                             
use="optional"/>

                      <anyAttribute namespace="##any" processContents="lax"/>

                  </restriction>

          </complexContent>

  </complexType>



  <complexType name="ComponentReference">

          <complexContent>

                  <restriction base="sca:Reference">

                          <sequence>

                                  <element ref="sca:interface" minOccurs="0" maxOccurs="1" />

                                  <element name="operation" type="sca:Operation" minOccurs="0"
                                         
maxOccurs="unbounded" />

                                  <choice minOccurs="0" maxOccurs="unbounded">

                                          <element ref="sca:binding" />

                                          <any namespace="##other" processContents="lax" />

                                  </choice>

                                  <element ref="sca:callback" minOccurs="0" maxOccurs="1" />

                                  <any namespace="##other" processContents="lax" minOccurs="0"
                                         
maxOccurs="unbounded" />

                          </sequence>

                          <attribute name="name" type="NCName" use="required" />

                          <attribute name="autowire" type="boolean" use="optional" default="false"/>

                          <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/>

                          <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>

                          <attribute name="multiplicity" type="sca:Multiplicity"
                                 
use="optional" default="1..1" />

                          <attribute name="requires" type="sca:listOfQNames" use="optional"/>

                      <attribute name="policySets" type="sca:listOfQNames"
                             
use="optional"/>

                          <anyAttribute namespace="##any" processContents="lax" />

                  </restriction>

          </complexContent>

  </complexType>



Proposed declarations:


  <complexType name="ComponentService">

      <sequence>

              <element ref="sca:interface" minOccurs="0" maxOccurs="1"/>

              <element name="operation" type="sca:Operation" minOccurs="0"
                         
maxOccurs="unbounded" />

              <choice minOccurs="0" maxOccurs="unbounded">

                      <element ref="sca:binding"/>

                    <any namespace="##other" processContents="lax"
                           
minOccurs="0" maxOccurs="unbounded"/>

              </choice>

              <element ref="sca:callback" minOccurs="0" maxOccurs="1"/>

              <any namespace="##other" processContents="lax" minOccurs="0"
                           
maxOccurs="unbounded"/>

      </sequence>

      <attribute name="name" type="NCName" use="required"/>

      <attribute name="requires" type="sca:listOfQNames"
                 
use="optional"/>

      <attribute name="policySets" type="sca:listOfQNames"
               
use="optional"/>

      <anyAttribute namespace="##any" processContents="lax"/>

  </complexType>


  <complexType name="ComponentReference">

          <sequence>

                  <element ref="sca:interface" minOccurs="0" maxOccurs="1" />

                  <element name="operation" type="sca:Operation" minOccurs="0"
                                 
maxOccurs="unbounded" />

                  <choice minOccurs="0" maxOccurs="unbounded">

                          <element ref="sca:binding" />

                          <any namespace="##other" processContents="lax" />

                  </choice>

                  <element ref="sca:callback" minOccurs="0" maxOccurs="1" />

                  <any namespace="##other" processContents="lax" minOccurs="0"
                                 
maxOccurs="unbounded" />

          </sequence>

          <attribute name="name" type="NCName" use="required" />

          <attribute name="autowire" type="boolean" use="optional" default="false"/>

          <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/>

          <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>

          <attribute name="multiplicity" type="sca:Multiplicity"
                 
use="optional" default="1..1" />

          <attribute name="requires" type="sca:listOfQNames" use="optional"/>

    <attribute name="policySets" type="sca:listOfQNames" use="optional"/>

          <anyAttribute namespace="##any" processContents="lax" />

  </complexType>


Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com


 




 

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

 


Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.

 



 

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU




Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.



 

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU






Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.


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