Jeff,
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]