<?xml version="1.0" encoding="windows-1252"?>
<UMLProfile profiletype="uml2">
	<Documentation id="8E423BB8-4" name="SOA Profile" version="0.3" notes="Profile for Service Oriented Architecture by Martin Spamer distributed under the Creative Common Attribution Share Alike CC-BY-SA licence.&#xA;&#xA;Release Notes 0.3&#xA;- Added Name attribute to Topic.&#xA;- Added Name attribute to Queue.&#xA;- Corrected Spelling error to MessageAttachment."/>
	<Content>
		<Stereotypes>
			<Stereotype name="XmlMessage" notes="XML encoded Message" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Object"/>
				</AppliesTo>
				<TaggedValues>
					<Tag name="body" type="string" description="" unit="" values="" default=""/>
					<Tag name="header" type="string" description="" unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Dequeuer" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="queue" type="Classifier:queue" description="" unit="Queue" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Enqueuer" alias="QueueSender" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="queue" type="Classifier:queue" description="" unit="Queue" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Publisher" notes="Includes the Capability to Publish Messages to a Topic." cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="topic" type="Classifier:topic" description="" unit="Topic" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Queue" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="name" type="String" description="" unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="ServiceChannel" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Port">
						<Property name="isBehavior" value="false"/>
						<Property name="isService" value="true"/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="binding" type="String" description="The platform service binding for examples WSDL SOAP-RPC, SOAP-Doc, HTTP-Get, etc." unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="ServicePort" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Port">
						<Property name="isBehavior" value="false"/>
						<Property name="isService" value="true"/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="bindng" type="String" description="" unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Subscriber" notes="The capability of Subscribing to a Topic to receive messages sent to the Topic." cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="topic" type="Classifier:topic" description="" unit="Topic" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Topic" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="name" type="String" description="" unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Message" notes="A message represents a concept as defined in the WSDL (Web Services Description Language) specification; that is, it's a container for actual data which has meaning to the service and the consumer. A message may not have operations, but it may have properties and associations to other classes (likely of some domain model). A message stereotype has a property to denote its assumed encoding form (for example, SOAP-literal, SOAP-rpc, ASN.1, and so on)." cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="1" hideicon="0">
				<AppliesTo>
					<Apply type="Artifact">
						<Property name="fileName" value=""/>
					</Apply>
				</AppliesTo>
				<TaggedValues>
					<Tag name="encoding" type="String" description="Denotes the platform encoding mechanism to use in generating the schema for the message; examples might be SOAP-RPC, Doc-Literal, ASN.1, and so on." unit="" values="" default=""/>
				</TaggedValues>
				<Constraints>
					<Constraint name="All owned properties shall be public." type="Invariant" description="" weight="0"/>
					<Constraint name="Shall not have any owned behaviors." type="Invariant" description="" weight="1"/>
					<Constraint name="Shall not have any owned operations." type="Invariant" description="" weight="2"/>
				</Constraints>
			</Stereotype>
			<Stereotype name="MessageAttachment" notes="This stereotype is used to denote that some component of a message is an attachment to it (as opposed to a direct part of the message itself). In general, you're not likely to use this stereotype much in higher level design activities, but for many processes it's important to differentiate attached data from embedded message data. For example, a catalog service may return general product details as a part of the structured message, but return images as attachments to the message. This also allows you to denote that the encoding of the images is binary (as opposed to the textual encoding of the main message)." cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Object"/>
				</AppliesTo>
				<TaggedValues>
					<Tag name="encoding" type="String" description="Denotes the platform encoding mechanism to use in generating the schema for the message; examples might be SOAP-RPC, Doc-Literal, ASN.1, and so on." unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="MessageInterface" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Interface"/>
				</AppliesTo>
			</Stereotype>
			<Stereotype name="MessageListener" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Class">
						<Property name="isActive" value=""/>
					</Apply>
				</AppliesTo>
			</Stereotype>
			<Stereotype name="MessageObject" notes="" cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Object"/>
				</AppliesTo>
				<TaggedValues>
					<Tag name="encoding" type="String" description="" unit="" values="" default=""/>
				</TaggedValues>
			</Stereotype>
			<Stereotype name="Service" notes="The service model element provides the end-point for service interaction (in web service terminology), whereas the definition of these interactions is a part of the service specification stereotype. In your model, a service not only identifies the provided interface, but may also identify required interfaces (such as callback interfaces). A service has an additional property that denotes the binding to be used, such as SOAP-HTTP, SOAP-JMS, and so on." cx="90" cy="70" bgcolor="-1" fontcolor="-1" bordercolor="-1" borderwidth="-1" hideicon="0">
				<AppliesTo>
					<Apply type="Port">
						<Property name="isBehavior" value="false"/>
						<Property name="isService" value="true"/>
					</Apply>
				</AppliesTo>
			</Stereotype>
		</Stereotypes>
		<TaggedValueTypes/>
	</Content>
</UMLProfile>
