summaryrefslogtreecommitdiffstats
path: root/cpp/sca/xsd/sca-policy-1.1-intents-definitions-cd02.xml
blob: 8efde2653fd7ed58c9fb2c4dcd416cd51184aadb (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
243
244
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. 
     OASIS trademark, IPR and other policies apply.  -->
<definitions xmlns:xml="http://www.w3.org/XML/1998/namespace" 
    xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903"
    xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200903">
                 
	<!-- Security related intents -->                 
	<intent name="serverAuthentication" constrains="sca:binding" 
	    intentType="interaction">
		<description>
			Communication through the binding requires that the 
			server is authenticated by the client
		</description>
		<qualifier name="transport" default="true"/>
		<qualifier name="message"/>
	</intent>

	<intent name="clientAuthentication" constrains="sca:binding" 
	    intentType="interaction">
		<description>
			Communication through the binding requires that the 
			client is authenticated by the server
		</description>
		<qualifier name="transport" default="true"/>
		<qualifier name="message"/>
	</intent>

	<intent name="authentication" requires="clientAuthentication">
		<description>
			A convenience intent to help migration
		</description>
	</intent>

	<intent name="mutualAuthentication"
		requires="clientAuthentication serverAuthentication">
		<description>
			Communication through the binding requires that the
			client and server to authenticate each other
		</description>
	</intent>

	<intent name="confidentiality" constrains="sca:binding" 
	    intentType="interaction">
		<description>
			Communication through the binding prevents unauthorized 
			users from reading the messages
		</description>
		<qualifier name="transport" default="true"/>
		<qualifier name="message"/>	
	</intent>

	<intent name="integrity" constrains="sca:binding" 
	    intentType="interaction">
		<description>
			Communication through the binding prevents tampering 
			with the messages sent between the client and the service.
		</description>
		<qualifier name="transport" default="true"/>
		<qualifier name="message"/>
	</intent> 

	<intent name="authorization" constrains="sca:implementation" 
	    intentType="implementation">
		<description>
			Ensures clients are authorized to use services. 
		</description>
		<qualifier name="fineGrain" default="true"/>
	</intent>

	
	<!-- Reliable messaging related intents -->    
	<intent name="atLeastOnce" constrains="sca:binding" 
	    intentType="interaction">
		<description>
			This intent is used to indicate that a message sent
			by a client is always delivered to the component.
		</description>
	</intent>

	<intent name="atMostOnce" constrains="sca:binding" 
	    intentType="interaction">
		<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.
		</description>
	</intent>

	<intent name="exactlyOnce" requires="atLeastOnce atMostOnce" 
	    constrains="sca:binding" intentType="interaction">
		<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.
	    </description>
	</intent>	           

	<intent name="ordered" constrains="sca:binding" 
	    intentType="interaction">
		<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.
		</description>
	</intent>
	
	<!-- Transaction related intents -->
	<intent name="managedTransaction" excludes="sca:noManagedTransaction" 
	    mutuallyExclusive="true" constrains="sca:implementation" 
	    intentType="implementation">
		<description>
		A managed transaction environment is necessary in order to 
		run the component. The specific type of managed transaction 
		needed is not constrained.
		</description>
		<qualifier name="global" default="true">
			<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. 
			</description>
		</qualifier>
		<qualifier name="local">
			<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.
			</description>
		</qualifier>		
	</intent>

	<intent name="noManagedTransaction" excludes="sca:managedTransaction" 
	    constrains="sca:implementation" intentType="implementation">
		<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.
		</description>
	</intent>

	<intent name="transactedOneWay" excludes="sca:immediateOneWay" 
	    constrains="sca:binding" intentType="implementation">
		<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.
		</description>
	</intent>

	<intent name="immediateOneWay" excludes="transactedOneWay" 
	    constrains="sca:binding" intentType="implementation">
		<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.
		</description>
	</intent>

	<intent name="propagatesTransaction" excludes="suspendsTransaction" 
	    constrains="sca:binding" intentType="interaction">
		<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. 
		</description>
	</intent>

	<intent name="suspendsTransaction" excludes="propagatesTransaction" 
	    constrains="sca:binding" intentType="interaction">
		<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.
		</description>
	</intent>
	
	<intent name="managedSharedTransaction" 
		requires="managedTransaction.global propagatesTransaction">
		<description>
			Used to indicate that the component requires both the 
			managedTransaction.global and the propagatesTransactions 
			intents
		</description>
	</intent>
	
	<!-- Miscellaneous intents -->	
	<intent name="asyncInvocation" constrains="sca:binding" 
		intentType="interaction">
		<description>
			Indicates that request/response operations for the 
			interface of this wire are "long running" and must be
			treated as two separate message transmissions
		</description>
	</intent>
	
	<intent name="SOAP" constrains="sca:binding" intentType="interaction" mutuallyExclusive="true">
		<description>
		Specifies that the SOAP messaging model is used for delivering 
		messages.
		</description>
		<qualifier name="V1_1" default="true"/>
		<qualifier name="V1_2"/>
	</intent>	

	<intent name="JMS" constrains="sca:binding" intentType="interaction">
		<description>
		Requires that the messages are delivered and received via the 
		JMS API.
		</description>
	</intent>

	<intent name="noListener" constrains="sca:binding" 
	    intentType="interaction">
		<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. 
		</description>
	</intent>	
	
</definitions>