sca-assembly message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [sca-assembly] Question on section 5.3, about conversatioal and policyin assembly draft
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Assembly" <sca-assembly@lists.oasis-open.org>
- Date: Wed, 12 Dec 2007 10:33:43 +0000
Dale,
Perhaps the wording does need revising.
See what you think of my responses, done as <mje>
</mje>
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
"Moberg Dale"
<dmoberg@axway.com>
11/12/2007 15:54
|
To
| <sca-assembly@lists.oasis-open.org>
|
cc
|
|
Subject
| [sca-assembly] Question on section 5.3,
about conversatioal and policy in assembly draft |
|
This specification requires interfaces
to be marked as conversational by means of a policy intent with the name
"conversational". The form of the marking of this
intent depends on the interface type. Note that it is also possible for
a service or a reference to set the conversational intent when using an
interface which is not marked with the conversational intent. This can
be useful when reusing an existing interface definition that does not contain
SCA information.
These sentences are a bit too cryptic for
me to be certain what is being stated.
Consider the second sentence,
The form of the marking of this
intent depends on the interface type
Is the idea here that policy may be conveyed
in several ways, perhaps as part of scdl syntax and otherwise as annotation,
perhaps? That is, I have noted that Java has annotations and I think
@conversational was one of them. Is this
sentence saying that the “requires” and “provides” attributes can be
skipped and instead policy is indicated by an implementation mechanism
like annotation?
<mje>
The paragraph first correctly
says that there are multiple types of interface definition. For example,
we have specified 3 today: WSDL, Java and C++.
SCA allows for more interface
types to be defined, should there be a need.
The second point is that
the interface itself can be marked with the "conversational"
intent. How this is done is totally dependent on the interface language
/ interface type.
So, Java interfaces may
use annotations. WSDL interfaces use extension attributes or extension
elements. This is true of other intents (eg Java implementations
can
mark their service interfaces
with interaction intents like "confidentiality" and this is done
through annotations in the code).
How things are done in
WSDL is described in the Assembly spec. Section 5.4 (line 925) of
the WD-01 version of the Assembly spec describes this.
Line 948 gives a specific
example of setting the conversational intent.
How things are done in
Java interfaces is (naturally) described in the Java Common Annotations
& APIs specification.
Section 3.2 (line 160)
of the 20070926 spec draft holds the definition of an @conversational annotation.
(Note there is also an
@requires annotation that could also be used, but the specialized annotation
is probably easier to use.
</mje>
Or are the scdl defined attributes for intents
always required?
<mje>
Defining the conversational
intent in SCDL is actually discouraged - the idea is that the intent is
inherent in the interface itself, and so should be marked
directly into the interface
artifact.
However, intents can always
be added higher in the SCDL hierarchy and so the service or reference can
be marked with @requires="conversational"
even if the interface is
unmarked.
<as an aside, I think
it should be possible to mark this on the <interface.foo/> elements,
but this can only be done in a weaselly way using the
general extension attribute
- it should be made explicit in the XSDs, in my opinion>
</mje>
I can grok that you want to allow the scdl
attributes even when the java source lacks the annotation. (But if so,
is the annotation in source superfluous for runtime operation?)
<mje>
It's not superfluous -
indeed it is better if the interface has the annotation directly - then
it can't be "forgotten" in the SCDL.
Note that you can add an
intent higher in the assembly - but you can't override an intent placed
lower in the assembly
</mje>
<mje>
How about:
This specification requires interfaces
to be marked as conversational by means of a policy intent with the name
"conversational". The form of the marking of this
intent depends on the interface type
- this is defined in the SCA specifications which deal with the particular
interface type. Note that
it is also possible for a service or a reference to set the conversational
intent when using an interface which is not marked with the conversational
intent. This can be useful when reusing an existing interface definition
that does not contain SCA information.
<mje>
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]