tuscany-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Edwards <mike.edwards.inglen...@gmail.com>
Subject Re: Service's operation element -- what is it for?
Date Wed, 30 Jan 2008 10:16:30 GMT

As Venkat has already pointed out, the purpose for the <operation/> 
element is to permit attachment of policy artifacts (ie intents and/or 
policy sets) at the level of an operation within an interface, rather 
than at the level of the whole operation.

The idea is that if things like encryption and signing are expensive to 
do, it may not be desirable to apply them to the whole of an interface, 
but to apply them only to specific operations that contain sensitive 
data.  The capability is described in the Policy Framework specification.

This capability is under active discussion in the OASIS Policy TC, since:

a) the current mechanism is regarded as rather complex
b) there is a desire to allow even more fine-grained attachment of 
policies, right down to individual messages within an operation

The latest proposal is to REMOVE the <operation/> elements from the SCA 
XSD and instead to permit the annotation of interface definitions 
(WSDLs, Java interfaces) for policy down at the operation and message 
level.  This avoids reproducing the shape of the interface in the SCA 
XML and is more natural.

Yours,  Mike.

Jeff Davis wrote:
> Hi,
> I noticed that the type definition for "Service" contains an optional child
> element for "operation" (see below):
> <complexType name="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"/>
>             </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="promote" type="anyURI" use="required" />
>         <attribute name="requires" type="sca:listOfQNames" use="optional" />
>         <attribute name="policySets" type="sca:listOfQNames"
> use="optional"/>
>         <anyAttribute namespace="##any" processContents="lax" />
>     </complexType>
> What is this operation element for? I couldn't find any related
> documentation in the Assembly Model Specification that describes its purpose
> (I tried a few things with it, but didn't see what impact it had).
> Thanks!
> jeff

To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org

View raw message