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
- From: Simon Nash <NASH@uk.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Mon, 4 Feb 2008 21:41:19 +0000
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]