sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [sca-assembly] [ASSEMBLY-89] Need for a Callback annotation for WSDLinterface files - PROPOSAL update
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Thu, 20 Nov 2008 10:48:07 +0000
Dave,
Yes, this is a good point - and a hole
in the existing specs since it's a case where the different markings of
an
interface turn up in different specifications
today. (eg Java and Assembly)
Currently, it is possible to mark a
Java interface with a Java @Callback annotation to point to the callback
interface.
Clearly, it is then possible in the
SCDL that uses such a marked interface to use the @callback attribute of
the
<interface/> element to point
to a different interface. This would be an error, but it is not stated
anywhere.
This new proposal for WSDL interfaces
just makes this more obvious - and everything in this case belongs to
the Assembly spec ;-)
So, let me take this on board and propose
adding the following to the Assembly specification (where the error
would get spotted in reality):
Add to the end of Section 8.2, following
line 2521:
----------------------------------------------------------------------------
Note that an interface document such
as a WSDL file or a Java interface can contain annotations that declare
a
callback interface for a particular
interface. Whenever such an interface is used in the declaration
of an <interface/>
element in SCA, it MUST be treated as
being bidirectional with the declared callback interface. [ASM80010]
In such
cases, there is no requirement for the
<interface/> element to declare the callback interface explicitly.
Where a component uses an implementation
and the component configuration declares an interface for a service or
a
reference, if the matching service or
reference declaration in the component type declares an interface which
has a
callback interface, then the component
interface declaration MUST also declare a compatible interface with a
compatible callback interface. [ASM80011]
Where a composite declares an interface
for a composite service or a composite reference, if the promoted service
or reference has an interface which
has a callback interface, then the interface declaration for the composite
service
or the composite reference MUST also
declare a compatible interface with a compatible callback interface. [ASM80012]
See Section 6.4 Wires for a definition
of "compatible interfaces".
----------------------------------------------------------------------------
I note that there is no normative description
of the interface.wsdl element, so:
Add new subsection to Section 8, following
line 2635:
----------------------------------------------------------------------------
8.5 WSDL Interface Type
The WSDL interface type is used to declare
interfaces for services and for references, where the interface is defined
in
terms of a WSDL document. This
WSDL document MUST conform either to the WSDL 1.1 specification or to the
WSDL 2.0 specification. [ASM80009]
An interface is defined in terms of
a WSDL Port Type for WSDL 1.1 and in terms of a WSDL Interface for
WSDL 2.0.
A WSDL interface is declared by an interface.wsdl
element. The following shows the pseudo-schema for the interface.wsdl
element:
<!-- ConstrainingType
schema snippet -->
<interface.wsdl
interface="xs:anyURI"
callbackInterface="xs:anyURI"?>
The interface.wsdl element has the following
attributes:
- interface (1..1) - the
URI of a WSDL Port Type (WSDL 1.1) or of a WSDL Interface (WSDL 2.0)
- callbackInterface(0..1)
- an optional callback interface, which is the URI of a WSDL Port Type
(WSDL 1.1) or of a WSDL Interface (WSDL 2.0)
8.5.1 Example of interface.wsdl
<interface.wsdl
interface=”http://www.stockquote.org/StockQuoteService#wsdl.porttype(StockQuote)”
callbackIinterface=”http://www.stockquote.org/StockQuoteService#wsdl.porttype(StockQuoteCallback)”/>
This declares an interface in terms
of the WSDL 1.1 port type "StockQuote" with a callback interface
defined by the "StockQuoteCallback" port type.
----------------------------------------------------------------------------
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
From:
| David Booz <booz@us.ibm.com>
|
To:
| sca-assembly@lists.oasis-open.org
|
Date:
| 19/11/2008 21:45
|
Subject:
| Re: [sca-assembly] [ASSEMBLY-89] Need
for a Callback annotation for WSDL interface files - PROPOSAL |
What happens if both @callbackInterface and @callback
are in use at the same time for a service or reference and they point to
different interfaces? I would presume that's an error.
Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093 or 8-295-6093
e-mail:booz@us.ibm.com
Mike
Edwards ---11/19/2008 09:08:00 AM---Folks, The following is a proposal
for resolving Issue 89:
From:
|
Mike Edwards <mike_edwards@uk.ibm.com>
|
To:
|
"OASIS Assembly" <sca-assembly@lists.oasis-open.org>
|
Date:
|
11/19/2008 09:08 AM
|
Subject:
|
[sca-assembly] [ASSEMBLY-89] Need for a Callback annotation for WSDL interface
files - PROPOSAL |
Folks,
The following is a proposal for resolving Issue 89:
(sca-assembly-1.1-spec-cd01-rev3.doc)
Add the following at the end of Section 8.4, following line 2678:
SCA defines an attribute which is used to indicate that a given WSDL Port
Type element (WSDL 1.1) or WSDL Interface
element (WSDL 2.0) has an associated callback interface. This is the @callback
attribute, which can be applied to
a WSDL <portType/> element or a WSDL <interface/> element.
The @callback attribute is defined as a global attribute in the SCA namespace,
as follows:
<attribute
name="callback"
type="QName"/>
The value of the @callback attribute is the QName of a Port Type (WSDL
1.1) or the QName of an Interface (WSDL 2.0).
The Port Type or the Interface declared by the @callback attribute is the
callback interface to use for the service which
is annotated by the @callback attribute.
Here is an example of a porttype element with a callback attribute:
<portType
name="LoanService"
sca:callback="foo:LoanServiceCallback">
<operation
name="apply">
<input
message="tns:ApplicationInput"/>
<output
message="tns:ApplicationOutput"/>
</operation>
...
</portType>
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
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]