<?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: I&#8217;ll see you when you get there</title>
	<atom:link href="http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Thu, 11 Mar 2010 11:59:32 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Dennis v/d Stelt</title>
		<link>http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/comment-page-1/#comment-33</link>
		<dc:creator>Dennis v/d Stelt</dc:creator>
		<pubDate>Mon, 19 Jan 2004 18:50:16 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/21#comment-33</guid>
		<description>But what&#039;s the true SOA solution to Johnny his problem?

I think of SOA as product service, customer service and orders/orderrows service. Orders and orderrows are so related, they can go into one service.

But how do I execute the following command:
Get all customers that have ever purchased product B?
</description>
		<content:encoded><![CDATA[<p>But what&#8217;s the true SOA solution to Johnny his problem?</p>
<p>I think of SOA as product service, customer service and orders/orderrows service. Orders and orderrows are so related, they can go into one service.</p>
<p>But how do I execute the following command:<br />
Get all customers that have ever purchased product B?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan</title>
		<link>http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/comment-page-1/#comment-32</link>
		<dc:creator>Udi Dahan</dc:creator>
		<pubDate>Mon, 19 Jan 2004 03:19:43 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/21#comment-32</guid>
		<description>Johnny,

You sound like you&#039;re worried about performance. I gave a presentation a while ago at a local .Net user group about performance and caching. My most important message was this: If you don&#039;t measure, you&#039;re just wasting your time.

Also consider the system-wide effects. Is another second a big deal for something that under ordinary load takes 10 seconds ? How about another 10ms for something that takes 1 second ? How about if that code runs 1% of the time ?

SOA allows for better localization through separation of concerns. This in turn improves testability and measurability. This in turn makes performance tuning easier.

That&#039;s the main message of SOA when it comes to performance.</description>
		<content:encoded><![CDATA[<p>Johnny,</p>
<p>You sound like you&#8217;re worried about performance. I gave a presentation a while ago at a local .Net user group about performance and caching. My most important message was this: If you don&#8217;t measure, you&#8217;re just wasting your time.</p>
<p>Also consider the system-wide effects. Is another second a big deal for something that under ordinary load takes 10 seconds ? How about another 10ms for something that takes 1 second ? How about if that code runs 1% of the time ?</p>
<p>SOA allows for better localization through separation of concerns. This in turn improves testability and measurability. This in turn makes performance tuning easier.</p>
<p>That&#8217;s the main message of SOA when it comes to performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johnny Hall</title>
		<link>http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/comment-page-1/#comment-31</link>
		<dc:creator>Johnny Hall</dc:creator>
		<pubDate>Sun, 18 Jan 2004 05:28:04 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/21#comment-31</guid>
		<description>Indeed, this is the architecture that I am currently working towards.  It&#039;s nice to have some backup, to validate this approach.

With regards to relationships, the most awkward part, I have found is to retrieve all data required without making multiple round-trips to the DB.  If the DAL for each entity is responsible only for retrieving the data for that entity, then it gets expensive.  Doing JOINs within SQL to retrieve the data makes it awkward to move the data into the entities.  For example...

I have Customers and Orders.  If I retrieve a Customer using CustomerDAL, and I want current orders also, then I want to retrieve the orders when I get the customer.  To this end, I will do something like this, in the SQL, using a DataReader.

SELECT * FROM Customer WHERE ID = ... ; SELECT * FROM ORDER WHERE CustomerID = ...

One hit to the DB, against CustomerDAL having to know about Orders.  The CustomerDAL then &quot;fills&quot; the entity hierarchy.  Which is then utilised by the SL and PL.

Once Yukon arrives, MARS technology should make this even easier and more efficient.</description>
		<content:encoded><![CDATA[<p>Indeed, this is the architecture that I am currently working towards.  It&#8217;s nice to have some backup, to validate this approach.</p>
<p>With regards to relationships, the most awkward part, I have found is to retrieve all data required without making multiple round-trips to the DB.  If the DAL for each entity is responsible only for retrieving the data for that entity, then it gets expensive.  Doing JOINs within SQL to retrieve the data makes it awkward to move the data into the entities.  For example&#8230;</p>
<p>I have Customers and Orders.  If I retrieve a Customer using CustomerDAL, and I want current orders also, then I want to retrieve the orders when I get the customer.  To this end, I will do something like this, in the SQL, using a DataReader.</p>
<p>SELECT * FROM Customer WHERE ID = &#8230; ; SELECT * FROM ORDER WHERE CustomerID = &#8230;</p>
<p>One hit to the DB, against CustomerDAL having to know about Orders.  The CustomerDAL then &#8220;fills&#8221; the entity hierarchy.  Which is then utilised by the SL and PL.</p>
<p>Once Yukon arrives, MARS technology should make this even easier and more efficient.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darren Neimke</title>
		<link>http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/comment-page-1/#comment-30</link>
		<dc:creator>Darren Neimke</dc:creator>
		<pubDate>Sat, 17 Jan 2004 10:41:17 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/21#comment-30</guid>
		<description>Thanks for that Udi, I never really kmew what it was until now but, it appears that I&#039;m probably already using it!  That&#039;s because I learnt a lot of my current architecture habits from the various starter kits which have been put out by MS.  To that effect, when you say:

&gt; &quot;Next time, I&#039;ll go about implementing an
&gt; entire service...&quot;

I think that it might be more beneficial to discuss the SOA laid out in the TaskVision/PocketVision apps given that it&#039;s already there.</description>
		<content:encoded><![CDATA[<p>Thanks for that Udi, I never really kmew what it was until now but, it appears that I&#8217;m probably already using it!  That&#8217;s because I learnt a lot of my current architecture habits from the various starter kits which have been put out by MS.  To that effect, when you say:</p>
<p>&gt; &#8220;Next time, I&#8217;ll go about implementing an<br />
&gt; entire service&#8230;&#8221;</p>
<p>I think that it might be more beneficial to discuss the SOA laid out in the TaskVision/PocketVision apps given that it&#8217;s already there.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
