<?xml version="1.0" encoding="UTF-8"?> | |
<!-- Copyright(C) OASIS(R) 2005,2010. All Rights Reserved. | |
OASIS trademark, IPR and other policies apply. --> | |
<sca:definitions xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200912"> | |
<!-- Security related intents --> | |
<sca:intent name="serverAuthentication" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
Communication through the binding requires that the | |
server is authenticated by the client | |
</sca:description> | |
<sca:qualifier name="transport" default="true"/> | |
<sca:qualifier name="message"/> | |
</sca:intent> | |
<sca:intent name="clientAuthentication" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
Communication through the binding requires that the | |
client is authenticated by the server | |
</sca:description> | |
<sca:qualifier name="transport" default="true"/> | |
<sca:qualifier name="message"/> | |
</sca:intent> | |
<sca:intent name="authentication" requires="sca:clientAuthentication"> | |
<sca:description> | |
A convenience intent to help migration | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="mutualAuthentication" | |
requires="sca:clientAuthentication sca:serverAuthentication"> | |
<sca:description> | |
Communication through the binding requires that the | |
client and server to authenticate each other | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="confidentiality" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
Communication through the binding prevents unauthorized | |
users from reading the messages | |
</sca:description> | |
<sca:qualifier name="transport" default="true"/> | |
<sca:qualifier name="message"/> | |
</sca:intent> | |
<sca:intent name="integrity" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
Communication through the binding prevents tampering | |
with the messages sent between the client and the service. | |
</sca:description> | |
<sca:qualifier name="transport" default="true"/> | |
<sca:qualifier name="message"/> | |
</sca:intent> | |
<sca:intent name="authorization" constrains="sca:implementation" | |
intentType="implementation"> | |
<sca:description> | |
Ensures clients are authorized to use services. | |
</sca:description> | |
</sca:intent> | |
<!-- Reliable messaging related intents --> | |
<sca:intent name="atLeastOnce" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
This intent is used to indicate that a message sent | |
by a client is always delivered to the component. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="atMostOnce" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
This intent is used to indicate that a message that was | |
successfully sent by a client is not delivered more than | |
once to the component. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="exactlyOnce" requires="sca:atLeastOnce sca:atMostOnce" | |
constrains="sca:binding" intentType="interaction"> | |
<sca:description> | |
This profile intent is used to indicate that a message sent | |
by a client is always delivered to the component. It also | |
indicates that duplicate messages are not delivered to the | |
component. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="ordered" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
This intent is used to indicate that all the messages are | |
delivered to the component in the order they were sent by | |
the client. | |
</sca:description> | |
</sca:intent> | |
<!-- Transaction related intents --> | |
<sca:intent name="managedTransaction" excludes="sca:noManagedTransaction" | |
mutuallyExclusive="true" constrains="sca:implementation" | |
intentType="implementation"> | |
<sca:description> | |
A managed transaction environment is necessary in order to | |
run the component. The specific type of managed transaction | |
needed is not constrained. | |
</sca:description> | |
<sca:qualifier name="global" default="true"> | |
<sca:description> | |
For a component marked with managedTransaction.global | |
a global transaction needs to be present before dispatching | |
any method on the component - using any transaction | |
propagated from the client or else beginning and completing | |
a new transaction. | |
</sca:description> | |
</sca:qualifier> | |
<sca:qualifier name="local"> | |
<sca:description> | |
A component marked with managedTransaction.local needs to | |
run within a local transaction containment (LTC) that | |
is started and ended by the SCA runtime. | |
</sca:description> | |
</sca:qualifier> | |
</sca:intent> | |
<sca:intent name="noManagedTransaction" excludes="sca:managedTransaction" | |
constrains="sca:implementation" intentType="implementation"> | |
<sca:description> | |
A component marked with noManagedTransaction needs to run without | |
a managed transaction, under neither a global transaction nor | |
an LTC. A transaction propagated to the hosting SCA runtime | |
is not joined by the hosting runtime on behalf of a | |
component marked with noManagedtransaction. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="transactedOneWay" excludes="sca:immediateOneWay" | |
constrains="sca:binding" intentType="implementation"> | |
<sca:description> | |
For a reference marked as transactedOneWay any OneWay invocation | |
messages are transacted as part of a client global | |
transaction. | |
For a service marked as transactedOneWay any OneWay invocation | |
message are received from the transport binding in a | |
transacted fashion, under the service’s global transaction. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="immediateOneWay" excludes="sca:transactedOneWay" | |
constrains="sca:binding" intentType="implementation"> | |
<sca:description> | |
For a reference indicates that any OneWay invocation messages | |
are sent immediately regardless of any client transaction. | |
For a service indicates that any OneWay invocation is | |
received immediately regardless of any target service | |
transaction. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="propagatesTransaction" excludes="sca:suspendsTransaction" | |
constrains="sca:binding" intentType="interaction"> | |
<sca:description> | |
A service marked with propagatesTransaction is dispatched | |
under any propagated (client) transaction and the service binding | |
needs to be capable of receiving a transaction context. | |
A reference marked with propagatesTransaction propagates any | |
transaction context under which the client runs when the | |
reference is used for a request-response interaction and the | |
binding of a reference marked with propagatesTransaction needs to | |
be capable of propagating a transaction context. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="suspendsTransaction" excludes="sca:propagatesTransaction" | |
constrains="sca:binding" intentType="interaction"> | |
<sca:description> | |
A service marked with suspendsTransaction is not dispatched | |
under any propagated (client) transaction. | |
A reference marked with suspendsTransaction does not propagate | |
any transaction context under which the client runs when the | |
reference is used. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="managedSharedTransaction" | |
requires="sca:managedTransaction.global sca:propagatesTransaction"> | |
<sca:description> | |
Used to indicate that the component requires both the | |
managedTransaction.global and the propagatesTransactions | |
intents | |
</sca:description> | |
</sca:intent> | |
<!-- Miscellaneous intents --> | |
<sca:intent name="asyncInvocation" excludes="sca:propagatesTransaction" | |
constrains="sca:binding" intentType="interaction"> | |
<sca:description> | |
Indicates that request/response operations for the | |
interface of this wire are "long running" and must be | |
treated as two separate message transmissions | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="EJB" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
Specifies that the EJB API is needed to communicate with | |
the service or reference. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="SOAP" constrains="sca:binding" intentType="interaction" mutuallyExclusive="true"> | |
<sca:description> | |
Specifies that the SOAP messaging model is used for delivering | |
messages. | |
</sca:description> | |
<sca:qualifier name="v1_1" default="true"/> | |
<sca:qualifier name="v1_2"/> | |
</sca:intent> | |
<sca:intent name="JMS" constrains="sca:binding" intentType="interaction"> | |
<sca:description> | |
Requires that the messages are delivered and received via the | |
JMS API. | |
</sca:description> | |
</sca:intent> | |
<sca:intent name="noListener" constrains="sca:binding" | |
intentType="interaction"> | |
<sca:description> | |
This intent can only be used on a reference. Indicates that the | |
client is not able to handle new inbound connections. The binding | |
and callback binding are configured so that any | |
response or callback comes either through a back channel of the | |
connection from the client to the server or by having the client | |
poll the server for messages. | |
</sca:description> | |
</sca:intent> | |
</sca:definitions> |