blob: 7d50cd0ae4525c41e6cf2c97039dafe1c4ee1102 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright(C) OASIS(R) 2005,2009. 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:qualifier name="fineGrain" default="true"/>
</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" 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="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>
|