<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Adventures in SOA, Part 4</title>
	<atom:link href="http://averyblog.com/net/adventures-in-soa-part-4/feed/" rel="self" type="application/rss+xml" />
	<link>http://averyblog.com/net/adventures-in-soa-part-4/</link>
	<description>This is not the greatest tagline in the world... this is just a tribute.</description>
	<lastBuildDate>Mon, 11 Jan 2010 16:36:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Udi Dahan - The Software Simplis</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-45</link>
		<dc:creator>Udi Dahan - The Software Simplis</dc:creator>
		<pubDate>Tue, 06 Jan 2004 21:52:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-45</guid>
		<description>&lt;p&gt;Think about how SQL Server manages foreign keys and tables. Each table is free standing, from SQL Server&#039;s perspective. You can also create assocations between tables - each table being just a row in the systables table. The associations too are just rows in the sysobjects table.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;In essence, I&#039;m trying to go meta, and do exactly what SQL Server does, just at a system wide level.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Think about how SQL Server manages foreign keys and tables. Each table is free standing, from SQL Server&#8217;s perspective. You can also create assocations between tables &#8211; each table being just a row in the systables table. The associations too are just rows in the sysobjects table.</p>
<p></p>
<p>In essence, I&#8217;m trying to go meta, and do exactly what SQL Server does, just at a system wide level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan - The Software Simplis</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-52</link>
		<dc:creator>Udi Dahan - The Software Simplis</dc:creator>
		<pubDate>Tue, 06 Jan 2004 21:47:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-52</guid>
		<description>&lt;p&gt;This idea of the death of the foreign key is something that I thought up a while ago. Keeping all entities free standing, and managing the relationships between them myself. &lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;I had in mind some sort of configuration file that defined all the relationships between the entities of the system. The business rules engine would use these to check whether an association could be created at runtime. For instance, the Business service call AddOrderToCustomer(o,c) would go check with the BusinessRules service by checking the result of the call CanAssociate(o,c). This call would check if:&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;1. The relationship between Customer to Order is 1-1 and that each of the entities ( order+id, customer+id ) wasn&#039;t already associated with a different entity. For instance if a Customer with id=1 was already associated with Order id=2, then the call to check if an association between Customer id=1 and Order id=3 can be created should return false.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;2. The relationship is 1-many and the given order isn&#039;t already associated to a customer entity.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;3. The relationship is many-many and the assocation between the given customer and order doesn&#039;t already exist.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;In other words, I working towards creating a generic association service that will work on any and all types of entities, and the associations between them.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;The associations are themselves stored in a database, could be the same DB as the system itself. The tables used are as follows:&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;1. A table for storing binary relationships ( 1-1, 1-many, many-many )&lt;/p&gt;
&lt;p&gt;&lt;br&gt;2. A table for storing tertiary relationships ( many-many-many ).&lt;/p&gt;
&lt;p&gt;&lt;br&gt;3. I haven&#039;t yet needed quarternary relationships, but you can see where this is going.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;The binary relationship table is quite simple:&lt;/p&gt;
&lt;p&gt;&lt;br&gt;FirstTableName - string&lt;/p&gt;
&lt;p&gt;&lt;br&gt;FirstID - int ( or string for those who like GUIDs )&lt;/p&gt;
&lt;p&gt;&lt;br&gt;SecondTableName - as above&lt;/p&gt;
&lt;p&gt;&lt;br&gt;SecondID - as above&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Tertiary and the rest would be done in the same way just with a Third*.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;I&#039;ve tried this method on several development projects with much success. However, these projects have had little changes in the domain model during their lifetimes, so the benefits of the technique were not really felt.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;I&#039;m not advocating that this is how you should go and develop a production system, but rather floating this idea that&#039;s been growing on me for some time.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;I like the fact that it greatly simplifies the rest of the system and allows changing the &quot;domain model&quot; of a system while it is still running. What I worry about is the effect on performance. Obviously this is slower than optimal, the question being - would it become the system bottleneck ? I don&#039;t know yet. From all the tests I&#039;ve done, its nothing too serious in cases when you don&#039;t have upwards of a million rows of associations. That&#039;s when you have to start doing some serious measurements to see how an optimal, non-generic solution compares.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;This isn&#039;t fully baked yet, but I like the way its turning out. I think that just thinking about these things helps me better understand the service-oriented, separation of concerns mindset that I find so necessary when working on large, complex, long projects that have high probabilities for change in major architectural ( that&#039;s OOA ) portions of the system. When working SO, my capability to react to change without impacting my architecture is greatly increased.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Think about it, then tell me about it.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This idea of the death of the foreign key is something that I thought up a while ago. Keeping all entities free standing, and managing the relationships between them myself. </p>
<p></p>
<p>I had in mind some sort of configuration file that defined all the relationships between the entities of the system. The business rules engine would use these to check whether an association could be created at runtime. For instance, the Business service call AddOrderToCustomer(o,c) would go check with the BusinessRules service by checking the result of the call CanAssociate(o,c). This call would check if:</p>
<p></p>
<p>1. The relationship between Customer to Order is 1-1 and that each of the entities ( order+id, customer+id ) wasn&#8217;t already associated with a different entity. For instance if a Customer with id=1 was already associated with Order id=2, then the call to check if an association between Customer id=1 and Order id=3 can be created should return false.</p>
<p></p>
<p>2. The relationship is 1-many and the given order isn&#8217;t already associated to a customer entity.</p>
<p></p>
<p>3. The relationship is many-many and the assocation between the given customer and order doesn&#8217;t already exist.</p>
<p></p>
<p>In other words, I working towards creating a generic association service that will work on any and all types of entities, and the associations between them.</p>
<p></p>
<p>The associations are themselves stored in a database, could be the same DB as the system itself. The tables used are as follows:</p>
<p></p>
<p>1. A table for storing binary relationships ( 1-1, 1-many, many-many )</p>
<p>2. A table for storing tertiary relationships ( many-many-many ).</p>
<p>3. I haven&#8217;t yet needed quarternary relationships, but you can see where this is going.</p>
<p></p>
<p>The binary relationship table is quite simple:</p>
<p>FirstTableName &#8211; string</p>
<p>FirstID &#8211; int ( or string for those who like GUIDs )</p>
<p>SecondTableName &#8211; as above</p>
<p>SecondID &#8211; as above</p>
<p></p>
<p>Tertiary and the rest would be done in the same way just with a Third*.</p>
<p></p>
<p>I&#8217;ve tried this method on several development projects with much success. However, these projects have had little changes in the domain model during their lifetimes, so the benefits of the technique were not really felt.</p>
<p></p>
<p>I&#8217;m not advocating that this is how you should go and develop a production system, but rather floating this idea that&#8217;s been growing on me for some time.</p>
<p></p>
<p>I like the fact that it greatly simplifies the rest of the system and allows changing the &quot;domain model&quot; of a system while it is still running. What I worry about is the effect on performance. Obviously this is slower than optimal, the question being &#8211; would it become the system bottleneck ? I don&#8217;t know yet. From all the tests I&#8217;ve done, its nothing too serious in cases when you don&#8217;t have upwards of a million rows of associations. That&#8217;s when you have to start doing some serious measurements to see how an optimal, non-generic solution compares.</p>
<p></p>
<p>This isn&#8217;t fully baked yet, but I like the way its turning out. I think that just thinking about these things helps me better understand the service-oriented, separation of concerns mindset that I find so necessary when working on large, complex, long projects that have high probabilities for change in major architectural ( that&#8217;s OOA ) portions of the system. When working SO, my capability to react to change without impacting my architecture is greatly increased.</p>
<p></p>
<p>Think about it, then tell me about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Avery</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-51</link>
		<dc:creator>James Avery</dc:creator>
		<pubDate>Tue, 06 Jan 2004 00:50:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-51</guid>
		<description>&lt;p&gt;I can&#039;t say I agree with the direction you are going Udi, but I can&#039;t wait to see what you come up with as well. :)&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;-James&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I can&#8217;t say I agree with the direction you are going Udi, but I can&#8217;t wait to see what you come up with as well. <img src='http://averyblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p></p>
<p>-James</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian McCallister</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-50</link>
		<dc:creator>Brian McCallister</dc:creator>
		<pubDate>Tue, 06 Jan 2004 00:16:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-50</guid>
		<description>&lt;p&gt;Now *that* will get some people up in arms. The mathematical provability of the relational database is one of its strong points. I look forward to seeing where you go.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;-Brian&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Now *that* will get some people up in arms. The mathematical provability of the relational database is one of its strong points. I look forward to seeing where you go.</p>
<p></p>
<p>-Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan - The Software Simplis</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-49</link>
		<dc:creator>Udi Dahan - The Software Simplis</dc:creator>
		<pubDate>Mon, 05 Jan 2004 22:01:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-49</guid>
		<description>&lt;p&gt;I don&#039;t have much time to get into this, but what I meant about externalizing relationships is &quot;The Death Of The Foreign Key&quot; - or some other title that will get people up in arms.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Even at the database level where entities are persisted into tables, you won&#039;t find any connection between them. All the relationships between entities are persisted separately from the entities themselves. You wouldn&#039;t have a CustomerID field in the order table, for instance&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Imagine, not having to update any CRUD sql because you changed a relationship from 1-many to many-many. Not having to change data access code. This is separation of concerns.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Anyway, all out of time.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Bye&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I don&#8217;t have much time to get into this, but what I meant about externalizing relationships is &quot;The Death Of The Foreign Key&quot; &#8211; or some other title that will get people up in arms.</p>
<p></p>
<p>Even at the database level where entities are persisted into tables, you won&#8217;t find any connection between them. All the relationships between entities are persisted separately from the entities themselves. You wouldn&#8217;t have a CustomerID field in the order table, for instance</p>
<p></p>
<p>Imagine, not having to update any CRUD sql because you changed a relationship from 1-many to many-many. Not having to change data access code. This is separation of concerns.</p>
<p></p>
<p>Anyway, all out of time.</p>
<p>Bye</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan - The Software Simplis</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-48</link>
		<dc:creator>Udi Dahan - The Software Simplis</dc:creator>
		<pubDate>Mon, 05 Jan 2004 21:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-48</guid>
		<description>&lt;p&gt;Brian,&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;You are the yang to my ying, and I thank you for it.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Udi&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Brian,</p>
<p></p>
<p>You are the yang to my ying, and I thank you for it.</p>
<p></p>
<p>Udi</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian McCallister</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-47</link>
		<dc:creator>Brian McCallister</dc:creator>
		<pubDate>Mon, 05 Jan 2004 20:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-47</guid>
		<description>&lt;p&gt;Udi,&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Despite the fact that I always seem to argue against you, I thoroughly enjoy it, and cannot (wholly) disgree with (most ;-) of what you have to say.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;-Brian&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Udi,</p>
<p></p>
<p>Despite the fact that I always seem to argue against you, I thoroughly enjoy it, and cannot (wholly) disgree with (most <img src='http://averyblog.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  of what you have to say.</p>
<p></p>
<p>-Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian McCallister</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-46</link>
		<dc:creator>Brian McCallister</dc:creator>
		<pubDate>Mon, 05 Jan 2004 19:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-46</guid>
		<description>&lt;p&gt;Udi,&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Interesting -- though I cannot say I like it, I can see the possible benefit of the externalized relationships, but I don&#039;t think that the way you do it is any better.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;If the relationship service always returns a collection, change the object to always have collections as properties so it may have 1, or 100, or none. Either way you have to write code that deals with what the service gives back to you, and that code gets coupled to the number of addresses ( 0-1, 1, 1-N, 0-N). You still have the maintenance headache, but you also now have less expressive code.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Need to think on this some more =)&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;-Brian&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Udi,</p>
<p></p>
<p>Interesting &#8212; though I cannot say I like it, I can see the possible benefit of the externalized relationships, but I don&#8217;t think that the way you do it is any better.</p>
<p></p>
<p>If the relationship service always returns a collection, change the object to always have collections as properties so it may have 1, or 100, or none. Either way you have to write code that deals with what the service gives back to you, and that code gets coupled to the number of addresses ( 0-1, 1, 1-N, 0-N). You still have the maintenance headache, but you also now have less expressive code.</p>
<p></p>
<p>Need to think on this some more =)</p>
<p></p>
<p>-Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan - The Software Simplis</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-44</link>
		<dc:creator>Udi Dahan - The Software Simplis</dc:creator>
		<pubDate>Mon, 05 Jan 2004 19:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-44</guid>
		<description>&lt;p&gt;I left some comments on the post I referenced above stating how SOA does coexist quite naturally with Fowler&#039;s Patterns of Enterprise Application Architecture.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;I shall reiterate.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;The set of Service Layer, Remote Facade, and Data Transfer Object patterns are essential components of SOA. The Data Transfer Object pattern is implemented by what I call entities. These entities form the schema in SOA.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Now, as to Brian&#039;s comment, the relationships between entities are not found in the entities themselves. A customer entity, for instance, would not have a collection of order entities as a property. Rather, in order to get the orders for a customer, you would turn to the Association service calling the method GetOrdersForCustomer and pass the customer entity as a parameter.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;It is in this manner that entities are all self defined, and the relationships are externalized. Why is this good ? Because the changes in relationships 1-1, 1-many, many-many back and forth are localized, and client code is less coupled to it.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;For instance, changing the customer-order relationship from 1-many to many-many requires no changes in client code. The same call as above is used - GetOrdersForCustomer. This creates systems that are more robust to change.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;And this, Brian, is how to handle the Address example you threw back at me =) , that is, as long as Address was implemented as an entity in its own right. Had it been implemented as a string property of customer, this would have been more problematic.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;Eventually I&#039;ll get around to writing a full fledged post on how to do the whole persistence/relationships thing in SOA.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I left some comments on the post I referenced above stating how SOA does coexist quite naturally with Fowler&#8217;s Patterns of Enterprise Application Architecture.</p>
<p></p>
<p>I shall reiterate.</p>
<p></p>
<p>The set of Service Layer, Remote Facade, and Data Transfer Object patterns are essential components of SOA. The Data Transfer Object pattern is implemented by what I call entities. These entities form the schema in SOA.</p>
<p></p>
<p>Now, as to Brian&#8217;s comment, the relationships between entities are not found in the entities themselves. A customer entity, for instance, would not have a collection of order entities as a property. Rather, in order to get the orders for a customer, you would turn to the Association service calling the method GetOrdersForCustomer and pass the customer entity as a parameter.</p>
<p></p>
<p>It is in this manner that entities are all self defined, and the relationships are externalized. Why is this good ? Because the changes in relationships 1-1, 1-many, many-many back and forth are localized, and client code is less coupled to it.</p>
<p></p>
<p>For instance, changing the customer-order relationship from 1-many to many-many requires no changes in client code. The same call as above is used &#8211; GetOrdersForCustomer. This creates systems that are more robust to change.</p>
<p></p>
<p>And this, Brian, is how to handle the Address example you threw back at me =) , that is, as long as Address was implemented as an entity in its own right. Had it been implemented as a string property of customer, this would have been more problematic.</p>
<p></p>
<p>Eventually I&#8217;ll get around to writing a full fledged post on how to do the whole persistence/relationships thing in SOA.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Avery</title>
		<link>http://averyblog.com/net/adventures-in-soa-part-4/comment-page-1/#comment-43</link>
		<dc:creator>James Avery</dc:creator>
		<pubDate>Mon, 05 Jan 2004 13:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://averyblog.infozerk.net/?p=35#comment-43</guid>
		<description>&lt;p&gt;Brian,&lt;/p&gt;
&lt;p&gt;&lt;br&gt;   I definitely agree with you that SOA is really about the larger systems, and groups of applications working together. That is why in this article I tried to steer the discussion away from talking about the internals of the service, as that is just not as important as the overall architecture. &lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;-James&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Brian,</p>
<p>   I definitely agree with you that SOA is really about the larger systems, and groups of applications working together. That is why in this article I tried to steer the discussion away from talking about the internals of the service, as that is just not as important as the overall architecture. </p>
<p></p>
<p>-James</p>
]]></content:encoded>
	</item>
</channel>
</rss>
