<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: What is SOA, really?</title>
    <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>What is SOA, really?</title>
      <description>&lt;p&gt;The good news is, you probably already know.  The bad news is, you probably know too much.  This article describes Service Oriented Architecture in a simple and easy to understand way that is devoid of buzzwords and vendor spin.  It&amp;#8217;s the introduction to &lt;span class="caps"&gt;SOA&lt;/span&gt; that you haven&amp;#8217;t been able to find anywhere else.&lt;/p&gt;


	&lt;p&gt;There are things in a business that don&amp;#8217;t change very often.  Gas stations in the U.S., for example, still sell gasoline by the gallon.  Restaurants still sell meals from a menu.  Dentists still sell cleanings every 6 months.   Every business has these aspects that don&amp;#8217;t change very frequently. They often represent a huge part of the business.  We&amp;#8217;ll call these things the _core business functions.&lt;/p&gt;


	&lt;p&gt;There are other things in a business that change very frequently.  Prices, tax rates, catalogs, new products, new marketing campaigns, advertising, new business areas, new customer areas, etc.  Indeed, businesses must be able to change, and change quickly, in order to survive.  And yet, it is vital that those changes do not adversely affect the core business functions.&lt;/p&gt;


	&lt;p&gt;Software developers have known for years that software that changes frequently should be decoupled from software that changes infrequently.  When applied to individual programs and systems this principle is sometimes called &lt;a href="http://www.objectmentor.com/omSolutions/oops_what.html"&gt;&lt;em&gt;The Common Closure Principle&lt;/em&gt;&lt;/a&gt;.  When it is applied to the information management of an enterprise, it is called &lt;span class="caps"&gt;SOA&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;SOA&lt;/span&gt; is the practice of sequestering the &lt;em&gt;core business functions&lt;/em&gt; into independent services that don&amp;#8217;t change frequently.  These services are glorified functions that are called by one or more presentation programs.  The presentation programs are volatile bits of software that present data to, and accept data from, various users.&lt;/p&gt;


	&lt;p&gt;To make this clear, imagine an internet store-front.  Customers use a browser to talk to the presentation software that displays the store&amp;#8217;s website.  The presentation software interprets the gestures of the customer and invokes services that do things like acquiring the data for the current catalog, or registering the customer&amp;#8217;s order.  Note that the services have no idea they are talking to a website.  They could just as well be talking to a thick client, or a 3270 green screen.  They simply accept and return data in a standard format that the web system happens to be able to use.&lt;/p&gt;


	&lt;p&gt;That&amp;#8217;s really all there is to it.  The rest of &lt;span class="caps"&gt;SOA&lt;/span&gt; is just a matter of details. At the highest level, &lt;span class="caps"&gt;SOA&lt;/span&gt; is nothing more (and nothing less) than separating changeable elements from unchangeable elements. But why is this important?&lt;/p&gt;


	&lt;p&gt;Consider that internet store-front again.  It presents the user with a catalog, allows the user to move items into, and out of a shopping cart, and accepts the eventual order.  The presentation of these concepts is very volatile.  Marketing people are likely to want to change it frequently.  For example, they might want to change from a shopping cart metaphor to scrollable receipt on the sidebar.  They may wish to present more or less descriptive data in the product list.  They may want to experiment with different colors, font-faces, and layouts.  Indeed, it&amp;#8217;s feasible that they&amp;#8217;ll want to try applets, JStart clients, Ajax, and a myriad of other presentation options.  But none of this has anything to do with the core business functions encapsulated by the services.  Those services that acquire catalogs and register orders remain unchanged despite all the presentation thrashing.  That&amp;#8217;s why the separation is important.  It protects the information processing assets of the business from the constant jitter and spin of the presentation.&lt;/p&gt;


	&lt;p&gt;But presentation is not the only thing that jitters and spins.  So do the &lt;em&gt;business processes&lt;/em&gt;.  Again, consider our store-front.  Perhaps our business has decided to offer fine wines as one of the products it sells.  Selling alcohol requires that the age of the customer be verified.  Let us say that we have a service that provides this verification.  This service must be called for any order that contains alcohol products.  The decision to call this service is neither a presentation decision, nor a service decision.  Rather it is part of the business process for a particular kind of order. Business processes are volatile and they breed like rabbits.  As businesses evolve they add more and more steps and forks to their business processes.  The services being used by those processes don&amp;#8217;t change much; but the pathways through the processes do.  Therefore we want to separate the business process from the services and from the presentation.  Smalltalkers had a name for this separation when it appeared in a single program.  They called it Model-View-Controller.&lt;/p&gt;


	&lt;p&gt;Notice that we have yet to mention even one of the plethora of technologies that are so commonly associated with &lt;span class="caps"&gt;SOA&lt;/span&gt;.  That&amp;#8217;s because &lt;span class="caps"&gt;SOA&lt;/span&gt; is not about any particular technology.  Rather it is a design philosophy that decouples well heeled business functions from volatile processes and presentations.  It is the &lt;span class="caps"&gt;MVC&lt;/span&gt; of enterprise software.&lt;/p&gt;


	&lt;p&gt;In my next blog on this topic, we&amp;#8217;ll look at the next level of detail in an attempt to understand &lt;span class="caps"&gt;HOW&lt;/span&gt; services can be constructed, and how the decoupling of presentation, process, and functions can be achieved.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Apr 2007 07:17:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3c659451-8961-4329-85bd-7b109639ec1a</guid>
      <author>Uncle Bob</author>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really</link>
      <category>Uncle Bob's Blatherings</category>
      <category>Service Oriented Architecture</category>
    </item>
    <item>
      <title>"What is SOA, really?" by ghansham</title>
      <description>&lt;p&gt;is soa a zero latency enterprise, how do u justify it?&lt;/p&gt;</description>
      <pubDate>Thu, 21 Jan 2010 02:38:28 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1518e1b3-4797-48a7-af81-cbe3e8b8b1e7</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-7039</link>
    </item>
    <item>
      <title>"What is SOA, really?" by A.kalantari</title>
      <description>&lt;p&gt;it was useful, keep it&lt;/p&gt;</description>
      <pubDate>Sun, 10 Jan 2010 22:48:09 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:b50c5fa8-7a08-4a31-b9ed-fd88e68212c1</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-6902</link>
    </item>
    <item>
      <title>"What is SOA, really?" by james</title>
      <description>&lt;p&gt;Hi BoB,&lt;/p&gt;


	&lt;p&gt;Could you explain Where we Actually implement soa in 3 tier architechture ,&lt;/p&gt;


	&lt;p&gt;can we implement soa using webservices in .net,&lt;/p&gt;


	&lt;p&gt;the above givn abt soa is very good , Thanks,Regards JameS&lt;/p&gt;</description>
      <pubDate>Tue, 15 Dec 2009 09:58:22 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a612237f-c51a-4ffd-86de-e32643b13c6b</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-5699</link>
    </item>
    <item>
      <title>"What is SOA, really?" by james</title>
      <description>&lt;p&gt;Hi BoB,&lt;/p&gt;


	&lt;p&gt;Could you explain Where we Actually implement soa in 3 tier
architechture ,&lt;/p&gt;


	&lt;p&gt;can we implement soa using webservices in .net,&lt;/p&gt;


	&lt;p&gt;the above givn abt soa is very good ,
Thanks,Regards
JameS&lt;/p&gt;</description>
      <pubDate>Tue, 15 Dec 2009 09:57:40 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f9d1c315-d87d-4b71-8b7f-a43d2135a1eb</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-5698</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Subhash Chatterji</title>
      <description>&lt;p&gt;Indeed this is the best article to describe SOA. I have trying to grab the concepts since long however no article was as good as this one.
It brought a clear picture in my mind..&lt;/p&gt;


	&lt;p&gt;Thanks a lot for the wonderful post&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Thu, 12 Nov 2009 10:16:07 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:3d867dec-b7cf-4f04-b66d-c13c22049b0e</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-5103</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Gidoen</title>
      <description>&lt;p&gt;excellent article&lt;/p&gt;</description>
      <pubDate>Fri, 06 Nov 2009 01:44:49 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:ec82ff05-db6c-47d0-818c-3a0fbf964a51</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-5037</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Anil</title>
      <description>&lt;p&gt;Excellent, Good Presentation&lt;/p&gt;</description>
      <pubDate>Fri, 06 Nov 2009 01:43:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4c2c88e4-95ed-43aa-ac39-177e5f261a0b</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-5036</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Thankful!</title>
      <description>&lt;p&gt;Thank you so much for this&amp;#8230;I am writing a course and SOA is one of the objectives and this is the first site that I have been to that really simplified SOA&amp;#8230;thank you!&lt;/p&gt;</description>
      <pubDate>Tue, 06 Oct 2009 17:38:18 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:533b6052-c712-4d61-b943-c1b0671fecc4</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-4412</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Chandra</title>
      <description>&lt;p&gt;This simplified SOA info is very much appreciated.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Oct 2009 04:52:40 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:0d24fc6f-387e-4d0d-992a-a9ec8780180d</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-4325</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Uzair</title>
      <description>&lt;p&gt;Thanks its stated in lucid manner.&lt;/p&gt;</description>
      <pubDate>Wed, 30 Sep 2009 07:48:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d4227cf9-9302-4938-a4e6-0d502ddfa030</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-4312</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Babu</title>
      <description>&lt;p&gt;Thanks ! Simple, clear and concise.&lt;/p&gt;</description>
      <pubDate>Fri, 11 Sep 2009 16:17:13 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:553455cf-ff40-4319-890d-45a280cb4413</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-4050</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Meenakshi</title>
      <description>&lt;p&gt;Thanks a lot for the article. Was really able to understand the &amp;#8220;What is&amp;#8221; of SOA.&lt;/p&gt;</description>
      <pubDate>Fri, 14 Aug 2009 08:29:51 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:205f8ac9-7d47-4525-96ba-3c62bdb991c0</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-3964</link>
    </item>
    <item>
      <title>"What is SOA, really?" by santraj.mca@gmail.com</title>
      <description>&lt;p&gt;Very nice article, thanks a lot for posting this article because due to it only ,now i am able to understand SOA.
Thanks
Santraj&lt;/p&gt;</description>
      <pubDate>Mon, 01 Jun 2009 05:10:19 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:0e486721-8359-479f-a4e4-38e3dcdf25c1</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-3425</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Moonwalapl@gmail.com</title>
      <description>&lt;p&gt;Really a nice article, thanks a lot for posting  this article., Being a novice I could understand a lot&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Thanks,
Moonwalapl&lt;/p&gt;</description>
      <pubDate>Wed, 06 May 2009 05:29:24 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:87802b6e-68f9-44b0-a736-06e99ad72249</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-3315</link>
    </item>
    <item>
      <title>"What is SOA, really?" by elm_ashena@yahoo.com</title>
      <description>&lt;p&gt;The goals and benefits of SOA is very important.
So if you write more about reduced IT burden with SOA!&lt;/p&gt;


	&lt;p&gt;With special tanx for this very nice and excellent post&amp;#8230;&lt;/p&gt;</description>
      <pubDate>Sat, 25 Apr 2009 12:18:30 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:53bb5416-b2b3-403f-b261-74b54b5d590b</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-3248</link>
    </item>
    <item>
      <title>"What is SOA, really?" by anuapk@hotmail.com</title>
      <description>&lt;p&gt;Nice post&amp;#8230;.. to have some good, basic knowledge around SOA.&lt;/p&gt;</description>
      <pubDate>Thu, 16 Apr 2009 00:04:12 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:24f89900-f6cb-4145-907e-a83a959e5cdb</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-3165</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Phafane Aka Kgopa @SITA (RSA)</title>
      <description>&lt;p&gt;You have answered me &amp;#8230;.I have been asking myself many questions about this concept,now im clarified, H?ow will this benefit or improve service delivery  in govt or should poor country adopt SOA as Analysis Standard how will it assist in making their life worth a while.&lt;/p&gt;</description>
      <pubDate>Sun, 15 Mar 2009 18:06:15 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4aeca385-0b08-4a3d-bda1-313e62b92b38</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2934</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Ajay</title>
      <description>&lt;p&gt;This is an excellent article&amp;#8230;way of presentation is good.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Dec 2008 10:59:09 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f238d342-c426-42a8-bc15-cd621e0c0fb2</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2295</link>
    </item>
    <item>
      <title>"What is SOA, really?" by sivapathiwada</title>
      <description>&lt;p&gt;Service-oriented architectures have the following key characteristics:&lt;/p&gt;


	&lt;p&gt;SOA services have self-describing interfaces in platform-independent XML documents. Web Services Description Language (WSDL) is the standard used to describe the services. 
SOA services communicate with messages formally defined via XML Schema (also called XSD). Communication among consumers and providers or services typically happens in heterogeneous environments, with little or no knowledge about the provider. Messages between services can be viewed as key business documents processed in an enterprise. 
SOA services are maintained in the enterprise by a registry that acts as a directory listing. Applications can look up the services in the registry and invoke the service. Universal Description, Definition, and Integration (UDDI) is the standard used for service registry. 
Each SOA service has a quality of service (QoS) associated with it. Some of the key QoS elements are security requirements, such as authentication and authorization, reliable messaging, and policies regarding who can invoke services.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Dec 2008 07:18:14 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:31268020-8309-49d4-83ac-24fcdd113912</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2293</link>
    </item>
    <item>
      <title>"What is SOA, really?" by sivaks</title>
      <description>&lt;p&gt;Service-oriented architecture (SOA) is an evolution of distributed computing based on the request/reply design paradigm for synchronous and asynchronous applications. An application&amp;#8217;s business logic or individual functions are modularized and presented as services for consumer/client applications. What&amp;#8217;s key to these services is their loosely coupled nature; i.e., the service interface is independent of the implementation. Application developers or system integrators can build applications by composing one or more services without knowing the services&amp;#8217; underlying implementations. For example, a service can be implemented either in .Net or J2EE, and the application consuming the service can be on a different platform or language.&lt;/p&gt;</description>
      <pubDate>Tue, 30 Dec 2008 07:16:50 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:9d602b58-e384-43d9-ba08-30068b99ca80</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2291</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Abhinav</title>
      <description>&lt;p&gt;Great&amp;#8230;............ Excellant&lt;/p&gt;</description>
      <pubDate>Thu, 13 Nov 2008 06:05:20 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1a8199af-172f-4202-8bf9-8b6cd9cd4f20</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2178</link>
    </item>
    <item>
      <title>"What is SOA, really?" by priya</title>
      <description>&lt;p&gt;good one&lt;/p&gt;</description>
      <pubDate>Sun, 09 Nov 2008 05:59:26 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:f7449aae-4e73-4315-9737-52b9af7a9c17</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2171</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Sergey</title>
      <description>&lt;p&gt;I read quite a few books and articles on this topic. By far this is the most clear and to the point explanation of SQA. Thank you very much !.&lt;/p&gt;</description>
      <pubDate>Wed, 22 Oct 2008 04:13:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fc36cf12-f348-4310-8d21-e685c086826b</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2137</link>
    </item>
    <item>
      <title>"What is SOA, really?" by VishalS</title>
      <description>&lt;p&gt;Simplicity at its best !!!&lt;/p&gt;</description>
      <pubDate>Tue, 21 Oct 2008 19:44:59 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a61d6110-5ec8-4b39-b486-b5c90cee4f5c</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2135</link>
    </item>
    <item>
      <title>"What is SOA, really?" by Daniel Cox</title>
      <description>&lt;p&gt;Fantastic, thanks very much!&lt;/p&gt;</description>
      <pubDate>Mon, 13 Oct 2008 18:25:08 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:8f3ab898-5de7-452d-8738-cafcae94da22</guid>
      <link>http://blog.objectmentor.com/articles/2007/04/11/what-is-soa-really#comment-2123</link>
    </item>
  </channel>
</rss>
