<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=SoaML_-_ServiceArchitecture</id>
	<title>SoaML - ServiceArchitecture - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=SoaML_-_ServiceArchitecture"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=SoaML_-_ServiceArchitecture&amp;action=history"/>
	<updated>2026-04-15T01:22:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=SoaML_-_ServiceArchitecture&amp;diff=29068&amp;oldid=prev</id>
		<title>Bernard Szlachta at 17:36, 7 February 2016</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=SoaML_-_ServiceArchitecture&amp;diff=29068&amp;oldid=prev"/>
		<updated>2016-02-07T17:36:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Cat|SoaML|SoaML26}}&lt;br /&gt;
{{Cat|Enterprise Architecture|41}}&lt;br /&gt;
&lt;br /&gt;
* A ServicesArchitecture (or SOA) is a network of participant roles providing and consuming services to fulfill a purpose. &lt;br /&gt;
* The services architecture defines the requirements for the types of participants and service realizations that fulfill those roles&lt;br /&gt;
&lt;br /&gt;
* The purpose of the services architecture is to specify the SOA of some &amp;#039;&amp;#039;&amp;#039;organization, community, component or process&amp;#039;&amp;#039;&amp;#039; to provide mutual value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A services architecture has components at two levels of granularity:&lt;br /&gt;
* The &amp;#039;&amp;#039;&amp;#039;community services architecture&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** the top level view of how independent participants work together for some purpose&lt;br /&gt;
** does not assume or require any one controlling entity or process&lt;br /&gt;
* A &amp;#039;&amp;#039;&amp;#039;participant services architecture&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** specifies how parts of that participant (e.g., departments within an organization) work together to provide the services of the owning participant&lt;br /&gt;
** usually realized by a UML class or component&lt;br /&gt;
** participants that realize this specification must adhere to the architecture it specifies&lt;br /&gt;
** within a participant, where there is a concept of “management” exists&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
* A ServicesArchitecture or specification class may be composed from other services architectures and service contracts&lt;br /&gt;
* Participants are classifiers defined both:&lt;br /&gt;
** the roles they play in services architectures (the participant role)&lt;br /&gt;
** the “contract” requirements of entities playing those roles&lt;br /&gt;
&lt;br /&gt;
* Each participant type may “play a role” in any number of services architecture&lt;br /&gt;
* Requirements are satisfied by the participant having service ports that have a type compatible with the services they must provide and consume&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Steps when developing full architecture ==&lt;br /&gt;
&lt;br /&gt;
First, let us determine participants and contracts:&lt;br /&gt;
&lt;br /&gt;
[[File:NobleProg Franchise Financial Reporting ServicesArchitecture.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Second, let us specify the MontlyFeePayment contract:&lt;br /&gt;
&lt;br /&gt;
[[File:NobleProg MontlyFeePayment serviceContract.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Third, let us define Consumers and Providers and dependencies between them:&lt;br /&gt;
&lt;br /&gt;
[[File:SoaML ServiceContract Interfaces.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Forth, we can define the choreography for the contract:&lt;br /&gt;
&lt;br /&gt;
[[File:NobleProg MonthlyFeePayment Choreography.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Fifth, we can design ports and exposed interfaces to better understand the design:&lt;br /&gt;
&lt;br /&gt;
[[File:SoaML Multicontract Participants.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Ultimately, let us have a big picture:&lt;br /&gt;
&lt;br /&gt;
[[File:NobleProg Franchise Financial Report (2nd way).png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Exercise ==&lt;br /&gt;
Based on the example above, design an servicesArchitecture for a &amp;quot;Dealer Network Architecture&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Use following components:&lt;br /&gt;
* participants types: Dealer, Manufactures, Shipper&lt;br /&gt;
* contracts: Purchasing (roles: buyer, seller), Ship (from, agent), Ship Status (enquire, ship info)&lt;br /&gt;
* do not use embeded contracts&lt;/div&gt;</summary>
		<author><name>Bernard Szlachta</name></author>
	</entry>
</feed>