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]

Reply via email to