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] Question on section 5.3, about conversatioal and policyin assembly draft



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]