<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Ask Udi Podcast – Udi Dahan – The Software Simplist</title>
	<atom:link href="https://udidahan.com/category/ask-udi-podcast/feed/" rel="self" type="application/rss+xml"/>
	<link>https://udidahan.com</link>
	<description>Enterprise Development Expert &amp; SOA Specialist</description>
	<lastBuildDate>Fri, 28 Jun 2013 10:50:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.1</generator>
	<itunes:explicit>no</itunes:explicit><itunes:subtitle>Enterprise Development Expert &amp; SOA Specialist</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Software How-To"/></itunes:category><itunes:author>Udi Dahan</itunes:author><item>
		<title>Ask Udi 1: Alternative Architectures &amp; Preaching to the Unconverted</title>
		<link>https://udidahan.com/2013/06/28/ask-udi-1-alternative-architectures-preaching-to-the-unconverted/</link>
					<comments>https://udidahan.com/2013/06/28/ask-udi-1-alternative-architectures-preaching-to-the-unconverted/#comments</comments>
		
		
		<pubDate>Fri, 28 Jun 2013 10:50:08 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[NOSQL]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<guid isPermaLink="false">http://www.udidahan.com/?p=1972</guid>

					<description><![CDATA[As promised, the podcast is back. Download episode 1 here &#160;&#160;&#160;&#160;&#160;and then &#160;&#160;&#160;&#160;&#160;Subscribe to the feed. There were 16 questions submitted and a couple hundred votes for the various topics. I was able to cover the top two questions. Do you have a question you want to ask? Want to vote on which questions will [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>As promised, the podcast is back.</p>
<p><a href="http://traffic.libsyn.com/askudi/ask-udi-1-alternative-architectures-preaching-to-the-unconverted.mp3">Download episode 1 here</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://askudi.libsyn.com/rss">Subscribe to the feed</a>.</p>
<p>There were 16 questions submitted and a couple hundred votes for the various topics. I was able to cover the top two questions.</p>
<p>Do you have a question you want to ask?<br />
Want to vote on which questions will be answered next week?<br />
<a href="http://askudi.uservoice.com/forums/211744-general">Click here</a></p>
<h3>This week&#8217;s questions</h3>
<p>Rob Eisenberg asked:</p>
<blockquote><p>
It seems that every project I walk into has the exact same architecture, regardless of what the company is building. It&#8217;s that standard 3-tier pattern: data-business-presentation. But, there are other large-scale architectural patterns available. I&#8217;d love to hear some case studies that pair business problems with the rationale for choosing an &#8220;alternative architecture.&#8221;
</p></blockquote>
<p>And since it&#8217;s not just about knowing the right approach but also being able to convince others, I included Rvonwink&#8217;s question too:</p>
<blockquote><p>
Some of us see the genuine benefits of pub/sub, EDA and SOA design. However, how do you go about persuading the cynics, time pressed and uninformed:</p>
<p>Our developers hate debugging pub/sub models; Others love the &#8216;simplicity&#8217; of monolithic domains; Our DBA questions why messaging is required (since &#8220;the bus simply persists messages elsewhere&#8221;); Our sys admins hate deploying new applications or changing the deployment topology; Our boss is scared to tell the business there is a little extra work to start splitting apart services.
</p></blockquote>
<h3>Next week</h3>
<p>Currently the top questions for next week are:</p>
<ul>
<li>Composite UI, Business Components and Deployment</li>
<li>How to handle predetermined technology choices</li>
<li>How do you manage NULL pointer exception in general?</li>
</ul>
<p>What would you like to hear? <a href="http://askudi.uservoice.com/forums/211744-general">Let me know</a>.</p>
<p>Until next week&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2013/06/28/ask-udi-1-alternative-architectures-preaching-to-the-unconverted/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		<enclosure length="38923886" type="audio/mpeg" url="http://traffic.libsyn.com/askudi/ask-udi-1-alternative-architectures-preaching-to-the-unconverted.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>As promised, the podcast is back. Download episode 1 here &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;and then &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Subscribe to the feed. There were 16 questions submitted and a couple hundred votes for the various topics. I was able to cover the top two questions. Do you have a question you want to ask? Want to vote on which questions will [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>As promised, the podcast is back. Download episode 1 here &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;and then &amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Subscribe to the feed. There were 16 questions submitted and a couple hundred votes for the various topics. I was able to cover the top two questions. Do you have a question you want to ask? Want to vote on which questions will [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Databases, EDA, Messaging, NOSQL, Pub/Sub</itunes:keywords></item>
		<item>
		<title>The “Ask Udi” podcast is back</title>
		<link>https://udidahan.com/2013/06/21/the-ask-udi-podcast-is-back/</link>
					<comments>https://udidahan.com/2013/06/21/the-ask-udi-podcast-is-back/#comments</comments>
		
		
		<pubDate>Fri, 21 Jun 2013 07:44:01 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Community]]></category>
		<guid isPermaLink="false">http://www.udidahan.com/?p=1966</guid>

					<description><![CDATA[Given the overwhelming feedback to revive the &#8220;Ask Udi&#8221; podcast, how could I refuse. Please submit your questions over here or vote on questions that other people have asked. Even if you don&#8217;t have a specific question, please feel free to suggest a topic that you&#8217;d like me to rant about (CQRS for example). The [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Given the overwhelming feedback to revive the &#8220;Ask Udi&#8221; podcast, how could I refuse.</p>
<p>Please submit your questions <a href="http://askudi.uservoice.com/">over here</a> or vote on questions that other people have asked. </p>
<p>Even if you don&#8217;t have a specific question, please feel free to suggest a topic that you&#8217;d like me to rant about (CQRS for example).</p>
<p>The podcast used to be supported by an online magazine and I didn&#8217;t think to back up the old podcast episodes so some have been lost in the ether, but you can find some of the history here: <a href="http://www.udidahan.com/category/ask-udi-podcast/">http://www.udidahan.com/category/ask-udi-podcast/</a>.</p>
<p>Let&#8217;s see if we can get a podcast out by the end of next week &#8211; so go and suggest the topics you want to here about:</p>
<p><a href="http://askudi.uservoice.com/">Submit your topic now</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2013/06/21/the-ask-udi-podcast-is-back/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			<dc:creator>Udi Dahan</dc:creator></item>
		<item>
		<title>Recording of my June 2013 Q&amp;A at Skills Matter online</title>
		<link>https://udidahan.com/2013/06/13/recording-of-my-june-2013-qa-at-skills-matter-online/</link>
					<comments>https://udidahan.com/2013/06/13/recording-of-my-june-2013-qa-at-skills-matter-online/#comments</comments>
		
		
		<pubDate>Thu, 13 Jun 2013 10:46:51 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Courses]]></category>
		<guid isPermaLink="false">http://www.udidahan.com/?p=1964</guid>

					<description><![CDATA[When I was in London last week teaching my 5-day course I gave an open Q&#038;A on one of the evenings. The recording of that talk is now online here. It was interesting to see that while many people came to the Q&#038;A, there weren&#8217;t a whole lot with questions. In any case, I was [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>When I was in London last week teaching my 5-day course I gave an open Q&#038;A on one of the evenings. The recording of that talk is now online <a href="http://skillsmatter.com/podcast/open-source-dot-net/june-qa">here</a>.</p>
<p>It was interesting to see that while many people came to the Q&#038;A, there weren&#8217;t a whole lot with questions.</p>
<p>In any case, I was wondering if online the situation would be much different.</p>
<p>Some time ago I had a monthly podcast called &#8220;Ask Udi&#8221; and I was thinking of reviving that.</p>
<p>What do you think? Is that something you&#8217;d like? Leave me a comment.</p>
<p>And if you missed the course in London, I&#8217;m giving just one more course this year &#8211; here in Israel from June 30 &#8211; July 4. For details and registration, check out the <a href="http://sela.co.il/syl/syllabus.aspx?CourseCode=AdvDistDahan&#038;CategoryID=165">Sela website</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2013/06/13/recording-of-my-june-2013-qa-at-skills-matter-online/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			<dc:creator>Udi Dahan</dc:creator></item>
		<item>
		<title>Uploaded some old “Ask Udi” podcasts</title>
		<link>https://udidahan.com/2013/03/09/uploaded-some-old-ask-udi-podcasts/</link>
					<comments>https://udidahan.com/2013/03/09/uploaded-some-old-ask-udi-podcasts/#comments</comments>
		
		
		<pubDate>Sat, 09 Mar 2013 17:50:43 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<guid isPermaLink="false">http://www.udidahan.com/?p=1945</guid>

					<description><![CDATA[I&#8217;ve been able to track down the files for some of my old &#8220;Ask Udi&#8221; podcasts. I haven&#8217;t listened through them again, so it could be that some of the stuff in there is someone dated, and/or that my perspectives have changed, but there is probably some good stuff in there regardless. Enjoy: 060518ud01.mp3 060808ud01.mp3 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been able to track down the files for some of my old &#8220;Ask Udi&#8221; podcasts. I haven&#8217;t listened through them again, so it could be that some of the stuff in there is someone dated, and/or that my perspectives have changed, but there is probably some good stuff in there regardless.</p>
<p>Enjoy:</p>
<p><a href="http://www.udidahan.com/wp-content/uploads/060518ud011.mp3">060518ud01.mp3</a><br />
<a href="http://www.udidahan.com/wp-content/uploads/060808ud011.mp3">060808ud01.mp3</a><br />
<a href="http://www.udidahan.com/wp-content/uploads/060831ud012.mp3">060831ud01.mp3</a><br />
<a href="http://www.udidahan.com/wp-content/uploads/061017ud011.mp3">061017ud01.mp3</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2013/03/09/uploaded-some-old-ask-udi-podcasts/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		<enclosure length="2395210" type="audio/mpeg" url="http://brainmarketing.cz/wp-content/uploads/060518ud011.mp3"/>
<enclosure length="3104278" type="audio/mpeg" url="http://brainmarketing.cz/wp-content/uploads/060808ud011.mp3"/>
<enclosure length="3655148" type="audio/mpeg" url="http://brainmarketing.cz/wp-content/uploads/060831ud012.mp3"/>
<enclosure length="7403621" type="audio/mpeg" url="http://brainmarketing.cz/wp-content/uploads/061017ud011.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>I&amp;#8217;ve been able to track down the files for some of my old &amp;#8220;Ask Udi&amp;#8221; podcasts. I haven&amp;#8217;t listened through them again, so it could be that some of the stuff in there is someone dated, and/or that my perspectives have changed, but there is probably some good stuff in there regardless. Enjoy: 060518ud01.mp3 060808ud01.mp3 [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>I&amp;#8217;ve been able to track down the files for some of my old &amp;#8220;Ask Udi&amp;#8221; podcasts. I haven&amp;#8217;t listened through them again, so it could be that some of the stuff in there is someone dated, and/or that my perspectives have changed, but there is probably some good stuff in there regardless. Enjoy: 060518ud01.mp3 060808ud01.mp3 [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast</itunes:keywords></item>
		<item>
		<title>[Podcast] REST + Messaging = Enterprise Solutions</title>
		<link>https://udidahan.com/2008/03/16/podcast-rest-messaging-enterprise-solutions/</link>
					<comments>https://udidahan.com/2008/03/16/podcast-rest-messaging-enterprise-solutions/#comments</comments>
		
		
		<pubDate>Sun, 16 Mar 2008 12:40:02 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2008/03/16/podcast-rest-messaging-enterprise-solutions/</guid>

					<description><![CDATA[In this podcast we revisit the topic of REST and how to make it work for process-centric enterprise systems. After describing the basic advantages and pitfalls of plain resource thinking, we&#8217;ll look at how mapping messaging concepts to resources provides solutions for transactional, multi-resource processing. &#160; Download Download via the Dr. Dobb’s site Or download [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we revisit the topic of REST and how to make it work for process-centric enterprise systems. After describing the basic advantages and pitfalls of plain resource thinking, we&#8217;ll look at how mapping messaging concepts to resources provides solutions for transactional, multi-resource processing. </p>
<p>&nbsp; </p>
<h3>Download</h3>
<blockquote>
<p><a href="http://www.ddj.com/architect/206903485">Download via the Dr. Dobb’s site</a></p></blockquote>
<blockquote>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/080313ud01.mp3?podcast=080313ud01.mp3">here</a>.</p>
</blockquote>
<h3>Additional References</h3>
<ul>
<li><a href="http://www.udidahan.com/2006/07/21/podcastthe-rest-vs-web-services-debate/">Podcast: &#8220;REST vs Web Services Debate&#8221; </a>
<li><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST Definition</a>
<li><a href="http://www.ics.uci.edu/%7Efielding/pubs/dissertation/top.htm">Roy Fielding&#8217;s Thesis: &#8220;Architectural Styles and the Design ofNetwork-based Software Architectures&#8221;</a></li>
<li><a href="http://en.wikipedia.org/wiki/HTTP_ETag">ETag Definition</a></li>
</ul>
<h3>Want more?</h3>
<blockquote>
<p>Check out the <a href="http://www.udidahan.com/ask-udi/">“Ask Udi”</a> archives.</p>
</blockquote>
<h3>Got a question?</h3>
<blockquote>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
</blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2008/03/16/podcast-rest-messaging-enterprise-solutions/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		<enclosure length="0" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/080313ud01.mp3?podcast=080313ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we revisit the topic of REST and how to make it work for process-centric enterprise systems. After describing the basic advantages and pitfalls of plain resource thinking, we&amp;#8217;ll look at how mapping messaging concepts to resources provides solutions for transactional, multi-resource processing. &amp;#160; Download Download via the Dr. Dobb’s site Or download [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we revisit the topic of REST and how to make it work for process-centric enterprise systems. After describing the basic advantages and pitfalls of plain resource thinking, we&amp;#8217;ll look at how mapping messaging concepts to resources provides solutions for transactional, multi-resource processing. &amp;#160; Download Download via the Dr. Dobb’s site Or download [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, ESB, Messaging, Pub/Sub, REST, SOA, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Message Priority – You Aren’t Gonna Need It</title>
		<link>https://udidahan.com/2008/01/30/podcast-message-priority-you-arent-gonna-need-it/</link>
					<comments>https://udidahan.com/2008/01/30/podcast-message-priority-you-arent-gonna-need-it/#comments</comments>
		
		
		<pubDate>Wed, 30 Jan 2008 11:20:19 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2008/01/30/podcast-message-priority-you-arent-gonna-need-it/</guid>

					<description><![CDATA[In this podcast we&#8217;ll be discussing the issues around supporting different kinds of service-level agreements in an SOA, and how using message prioritization helps and hurts. We&#8217;ll also be looking at alternative solutions more distributed in nature,which make use of specific deployment and configuration schemes that result in a more robust system. Symon asks: Hi [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll be discussing the issues around supporting different kinds of service-level agreements in an SOA, and how using message prioritization helps and hurts. We&#8217;ll also be looking at alternative solutions more distributed in nature,which make use of specific deployment and configuration schemes that result in a more robust system.</p>
<p>Symon asks:<br />
<blockquotes></blockquotes>
<blockquote><p>Hi Udi,</p>
<p>I don&#8217;t know if this is really an NServiceBus question or a more general architecture question, so if you want to treat it as an Ask Udi question feel free. <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  My question is about handling message prioritization between services in an SOA architecture using an ESB-  in this case NServiceBus.</p>
<p>We&#8217;ve been running along nicely getting the hang of using the NServiceBus but have just hit a point in our application where it&#8217;s become clear that we&#8217;re going to need to prioritize messages between services according to an arbitrary set of rules.  To that end we&#8217;ve created a &#8220;controller&#8221; that determines a message&#8217;s priority according to a set of rules and that controller should forward the message to other services for handling according to that priority.  Where we&#8217;re stuck is figuring out the best way to handle the prioritization of the forwarded message.</p>
<p>We touched on the idea of having several endpoints representing low, medium or high priority and shunting the message to the appropriate endpoint, however since the receiving service consists of multiple workers located on other machines we need to have a dispatcher for each of these endpoints.  Since we&#8217;re using MSMQ this seems to be causing an explosion of queues and the solution seems to require a lot of overhead in terms of set up, but it *does* look like it might be flexible as long as we come up with a smart dispatcher.</p>
<p>Is this an &#8220;ideal&#8221; way to handle message prioritization?  I know there is a notion of priority in MSMQ messages, but this isn&#8217;t exposed in NServiceBus as far as I can tell.</p>
<p>Any suggestions?</p>
<p>Cheers,</p>
<p>Symon</p></blockquote>
<h3>Download</h3>
<blockquote><p><a href="http://www.ddj.com/architect/205920557">Download via the Dr. Dobb&#8217;s site</a></p></blockquote>
<blockquote><p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/080128ud01.mp3?podcast=080128ud01.mp3">here</a>.</p></blockquote>
<h3>Additional References</h3>
<ul>
<li><a href="http://www.udidahan.com/2007/09/09/podcast-shared-subscriptions-between-autonomous-components/">Podcast: &#8220;Shared Subscriptions between Autonomous Components&#8221;</a></li>
<li><a href="http://www.udidahan.com/2007/04/10/podcast-space-based-architectures-for-the-web/">Podcast: &#8220;Space-Based Architecture for the Web&#8221;</a></li>
<li><a href="http://www.gigaspaces.com/wiki/display/GS/Compute+Server+-+Master-Worker+Pattern">Info: &#8220;Master-Worker Pattern&#8221;</a></li>
</ul>
<h3>Want more?</h3>
<blockquote><p>Check out the <a href="/ask-udi/">“Ask Udi”</a> archives.</p></blockquote>
<h3>Got a question?</h3>
<blockquote><p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2008/01/30/podcast-message-priority-you-arent-gonna-need-it/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		<enclosure length="0" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/080128ud01.mp3?podcast=080128ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll be discussing the issues around supporting different kinds of service-level agreements in an SOA, and how using message prioritization helps and hurts. We&amp;#8217;ll also be looking at alternative solutions more distributed in nature,which make use of specific deployment and configuration schemes that result in a more robust system. Symon asks: Hi [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll be discussing the issues around supporting different kinds of service-level agreements in an SOA, and how using message prioritization helps and hurts. We&amp;#8217;ll also be looking at alternative solutions more distributed in nature,which make use of specific deployment and configuration schemes that result in a more robust system. Symon asks: Hi [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, ESB, NServiceBus</itunes:keywords></item>
		<item>
		<title>[Podcast] Message Ordering: Is it Cost Effective?</title>
		<link>https://udidahan.com/2008/01/01/podcast-message-ordering-is-it-cost-effective/</link>
					<comments>https://udidahan.com/2008/01/01/podcast-message-ordering-is-it-cost-effective/#comments</comments>
		
		
		<pubDate>Tue, 01 Jan 2008 23:01:16 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[MSMQ]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Threading]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2008/01/01/podcast-message-ordering-is-it-cost-effective/</guid>

					<description><![CDATA[In this podcast we&#8217;ll be discussing the issues around multi-threaded processing of messages by a service, specifically that the processing of message received second may be finished before that of the first. This scenario tends to rear its ugly head at higher levels of load and is critical for correctness in high-scalability environments. Our long [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll be discussing <span class="greenBlurb">the issues around multi-threaded processing of messages by a service, specifically that the processing of message received second may be finished before that of the first. This scenario tends to rear its ugly head at higher levels of load and is critical for correctness in high-scalability environments.</span></p>
<p>Our long time listener Bill asks:</p>
<blockquote><p> Hi Udi,</p>
<p>I have a question  around processing of messages in proper order.  When leveraging multiple  threads to process messages in a message queue, it is possible for the  second message in the queue to get processed before the first &#8211; especially  if the first message is considerably larger than the second.  I have taken  a lot of care to make sure that messages are sent in the correct order, only to  find that the receiving system can process them out of order  anyway.</p>
<p>Consider a  Policy Created notification, which must come before a Policy Approved  notification.  If both messages are sitting in the queue when the receiving  service starts up, the approval message can be processed before the creation  message. How can I make sure that message ordering is respected by the receiving  system?  I am using WCF/MSMQ as the underlying transport by the way.   The only way I have found so far is to limit the receiving service to a single  thread, which is by no means desirable.</p>
<p>Best  Regards,</p>
<p>Bill</p></blockquote>
<h3>Download</h3>
<p>Download directly <a href="http://traffic.libsyn.com/askudi/071231ud01.mp3">here</a>.</p>
<h3>Additional References</h3>
<ul>
<li>Blog post: <a href="http://www.udidahan.com/2007/12/09/in-order-messaging-a-myth/">In-Order Messaging a Myth?</a></li>
<li>Blog post: <a href="http://www.udidahan.com/2007/12/15/handling-messages-out-of-order/">Handling Messages out of Order</a></li>
</ul>
<h3>Want more?</h3>
<p>Check out the <a href="/ask-udi/">“Ask Udi”</a> archives.</p>
<h3>Got a question?</h3>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2008/01/01/podcast-message-ordering-is-it-cost-effective/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure length="17990814" type="audio/mpeg" url="http://traffic.libsyn.com/askudi/071231ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll be discussing the issues around multi-threaded processing of messages by a service, specifically that the processing of message received second may be finished before that of the first. This scenario tends to rear its ugly head at higher levels of load and is critical for correctness in high-scalability environments. Our long [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll be discussing the issues around multi-threaded processing of messages by a service, specifically that the processing of message received second may be finished before that of the first. This scenario tends to rear its ugly head at higher levels of load and is critical for correctness in high-scalability environments. Our long [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Autonomous Services, EDA, ESB, MSMQ, NServiceBus, Pub/Sub, SOA, Threading</itunes:keywords></item>
		<item>
		<title>[Podcast] Migrating from N-Tier to SOA</title>
		<link>https://udidahan.com/2007/12/05/podcast-migrating-from-n-tier-to-soa/</link>
					<comments>https://udidahan.com/2007/12/05/podcast-migrating-from-n-tier-to-soa/#respond</comments>
		
		
		<pubDate>Wed, 05 Dec 2007 21:27:18 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/05/podcast-migrating-from-n-tier-to-soa/</guid>

					<description><![CDATA[In this podcast we&#8217;ll be discussing certain methodologies for migrating an architecture from N-Tier to SOA. We&#8217;ll see what parts can be used almost unchanged, and which N-Tier concepts have no place in this new, service-oriented world. Ketan asks: Hello Udi, I am Ketan, working as Analyst Programmer in India. I want some information regarding [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll be discussing certain methodologies for migrating an architecture from N-Tier to SOA. We&#8217;ll see what parts can be used almost unchanged, and which N-Tier concepts have no place in this new, service-oriented world.</p>
<p>Ketan asks:</p>
<blockquote><p>
Hello Udi,</p>
<p>I am Ketan, working as Analyst Programmer in India. I want some information regarding SOA Architecture. I have visited several blogs and sites and I do have enough knowledge regarding technical terms of SOA. I have worked a lot in 3-tier mechanism a lot and now want to switch on SOA Architecture in Visual Studio 2005.</p>
<p>I read your blog post <a href="http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/">How to migrate to SOA</a> and liked the contents and am interested in doing it. Can you please be more precise about how to migrate from 3-tier to SOA? Actually, I have read whole content of above link and you have explained enough. But, still I want you to keep me out from dark. You have described it functionally, but I want some technical description of this process. Please help me in this.</p>
<p>If you can provide me some example/application (in which SOA Architecture has been implemented), then it will be very helpful to me.</p>
<p>Thanks in advance. Waiting for your favorable reply.</p>
<p>Ketan
</p></blockquote>
<h3>Download</h3>
<p>Download directly <a href="http://traffic.libsyn.com/askudi/071204ud01.mp3">here</a>.</p>
<h3>Additional References</h3>
<ul>
<li>Blog post on <a href="http://www.udidahan.com/2004/01/17/ill-see-you-when-you-get-there/">migrating from layers to services</a></li>
<li>Podcast on <a href="http://www.udidahan.com/2006/05/26/podcast-does-soa-mean-the-end-of-oo/">&#8220;Does SOA mean the end of OO&#8221;?</a></li>
</ul>
<h3>Want more?</h3>
<p>Check out the <a href="/ask-udi/">“Ask Udi”</a> archives.</p>
<h3>Got a question?</h3>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/12/05/podcast-migrating-from-n-tier-to-soa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<dc:creator>Udi Dahan</dc:creator></item>
		<item>
		<title>[Podcast] Versioning and SOA–There is no IDog2</title>
		<link>https://udidahan.com/2007/11/09/podcast-versioning-and-soa-there-is-no-idog2/</link>
					<comments>https://udidahan.com/2007/11/09/podcast-versioning-and-soa-there-is-no-idog2/#respond</comments>
		
		
		<pubDate>Fri, 09 Nov 2007 09:38:08 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/11/09/podcast-versioning-and-soa-there-is-no-idog2/</guid>

					<description><![CDATA[In this podcast we&#8217;ll look at the issues around versioning and SOA and how the asynchronous nature of messaging obviates the need for previously accepted interface-based versioning practices. Jarrod asks: Hi Udi, I have some questions around versioning and SOA: Over the years I&#8217;ve been fairly adamant about the practice of versioning interfaces should a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll look at the issues around versioning and SOA and how the asynchronous nature of messaging obviates the need for previously accepted interface-based versioning practices.</p>
<p>Jarrod asks:</p>
<blockquote><p>
Hi Udi,</p>
<p>I have some questions around versioning and SOA:</p>
<p>Over the years I&#8217;ve been fairly adamant about the practice of versioning interfaces should a method change be needed.</p>
<p>Hence, IDog and IDog2</p>
<p>Generally I would also say that a method addition would need a new interface as much as a change to an existing method or property (sometimes requiring completely deprecating the old interface).</p>
<p>With SOA being used more and contract first designs coming down the pipe&#8230;an addition of a method or operation to a contract in SOA does not mean its a breaking change.</p>
<p>So, do you continue to create a new interface and version the name within an SOA environment? Even if its just one method that is being added?</p>
<p>A service contract, in general&#8230;with just a single method in my opinion is a bad design. Sure, there are exceptions to that but I can just see changes made to the service contracts over the course of a few years with many 1-2 method interfaces.</p>
<p>Day 1 : 12 methods on interface IDog</p>
<p>6 months later : 1 new method, create IDog2 which implements IDog</p>
<p>15 months later : 2 new methods, create IDog3 which implements IDog2</p>
<p>Some can argue that if you&#8217;re having to add methods like this, the original design was flawed. That may be&#8230;or you could just be in a volatile business environment in which SOA must adapt.</p>
<p>So my main questions are:</p>
<p>1) Do you think its the best practice to continue to version interfaces for non-breaking method additions in an SOA environment in which you also have control of the consumers (internal consumers)?</p>
<p>2)  Do you think its the best practice to continue to version interfaces for non-breaking method additions in an SOA environment in which you do not have control of the consumers (external consumers)?</p>
<p>3) If the answer to the above is yes, is a single method on a new interface acceptable?</p>
<p>4) If you know of a problem in an existing interface on a method and have control of the consumers &#8211; do you &#8220;fix&#8221; the method and redeploy to the consumers? Or do you deprecate the entire interface and begin anew?</p>
<p>I&#8217;m interested in seeing your responses <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Jarrod
</p></blockquote>
<p><b>Download</b></p>
<p><a href="http://ddj.com/architect/202803620">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/071107ud01.mp3?podcast=071107ud01.mp3">here</a></p>
<p><b>Additional References</b></p>
<ul>
<li><a href="http://www.udidahan.com/2006/09/05/podcast-autonomous-services-and-pubsub/">Podcast on Autonomous Services and Pub/Sub</a></li>
<li><a href="http://www.pluralsight.com/blogs/craig/archive/2006/04/06/21176.aspx">Blog post on &#8220;The Perils of WSDL first&#8221;</a></li>
</ul>
<p><b>Want more?</b></p>
<p>Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b></p>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/11/09/podcast-versioning-and-soa-there-is-no-idog2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="15111074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071107ud01.mp3?podcast=071107ud01.mp3"/>
<enclosure length="15111074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071107ud01.mp3?podcast=071107ud01.mp3"/>
<enclosure length="15111074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071107ud01.mp3?podcast=071107ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll look at the issues around versioning and SOA and how the asynchronous nature of messaging obviates the need for previously accepted interface-based versioning practices. Jarrod asks: Hi Udi, I have some questions around versioning and SOA: Over the years I&amp;#8217;ve been fairly adamant about the practice of versioning interfaces should a [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll look at the issues around versioning and SOA and how the asynchronous nature of messaging obviates the need for previously accepted interface-based versioning practices. Jarrod asks: Hi Udi, I have some questions around versioning and SOA: Over the years I&amp;#8217;ve been fairly adamant about the practice of versioning interfaces should a [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Pub/Sub, SOA, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Durable Services with WCF, WF, and NServiceBus</title>
		<link>https://udidahan.com/2007/10/23/podcast-durable-services-with-wcf-wf-and-nservicebus/</link>
					<comments>https://udidahan.com/2007/10/23/podcast-durable-services-with-wcf-wf-and-nservicebus/#respond</comments>
		
		
		<pubDate>Tue, 23 Oct 2007 21:17:40 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[NServiceBus]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Workflow]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/10/23/podcast-durable-services-with-wcf-wf-and-nservicebus/</guid>

					<description><![CDATA[In this podcast we&#8217;ll look at the issues around Durable Services, what makes them stateful or stateless, as well as how WCF and WF can be used to implement them. Finally, we&#8217;ll compare solutions based on .NET 3.5 and on NServiceBus&#8211;covering aspects such as transactions and persistent time-outs. Suresh asks: Hi Udi, I&#8217;ve been reading [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll look at the issues around Durable Services, what makes them stateful or stateless, as well as how WCF and WF can be used to implement them. Finally, we&#8217;ll compare solutions based on .NET 3.5 and on NServiceBus&#8211;covering aspects such as transactions and persistent time-outs.</p>
<p>Suresh asks:</p>
<blockquote><p>
Hi Udi,</p>
<p>I&#8217;ve been reading about the coming &#8220;durable services&#8221; that will be available with the next version of WCF. I also have been listening to your podcasts and reading your blog posts about NServiceBus where you talk about long-running workflows. It sounds like both of these technologies are trying to solve the same problem.</p>
<p>Do durable services do away with long-running workflow? If so, does that mean we don&#8217;t need Workflow Foundation either? If not, what is the connection between them.</p>
<p>If you could shed some light on the matter that would be great.</p>
<p>Suresh
</p></blockquote>
<p><b>Download</b></p>
<p><a href="http://www.ddj.com/architect/202600413">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/071022ud01.mp3?podcast=071022ud01.mp3">here</a></p>
<p><b>Additional References</b></p>
<ul>
<li>Blog post on <a href="http://www.winterdom.com/weblog/2007/06/28/WorkflowServicesInOrcas.aspx">Workflow Services in Orcas</a></li>
<li>Blog post on <a href="http://weblogs.asp.net/gsusx/archive/2007/06/14/orcas-durable-services.aspx">Orcas Durable Services</a></li>
<li>Blog post on <a href="https://www.gazitt.com/blog/PermaLink,guid,a8383226-a0dd-48c5-9fea-33d5da159d17.aspx">.NET Framework 3.5 Beta1 is Live on the Web</a></li>
</ul>
<p><b>Want more?</b></p>
<p>Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b></p>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/10/23/podcast-durable-services-with-wcf-wf-and-nservicebus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="16231213" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071022ud01.mp3?podcast=071022ud01.mp3"/>
<enclosure length="16231213" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071022ud01.mp3?podcast=071022ud01.mp3"/>
<enclosure length="16231213" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071022ud01.mp3?podcast=071022ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll look at the issues around Durable Services, what makes them stateful or stateless, as well as how WCF and WF can be used to implement them. Finally, we&amp;#8217;ll compare solutions based on .NET 3.5 and on NServiceBus&amp;#8211;covering aspects such as transactions and persistent time-outs. Suresh asks: Hi Udi, I&amp;#8217;ve been reading [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll look at the issues around Durable Services, what makes them stateful or stateless, as well as how WCF and WF can be used to implement them. Finally, we&amp;#8217;ll compare solutions based on .NET 3.5 and on NServiceBus&amp;#8211;covering aspects such as transactions and persistent time-outs. Suresh asks: Hi Udi, I&amp;#8217;ve been reading [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, NServiceBus, Scalability, SOA, WCF, Web Services, Workflow</itunes:keywords></item>
		<item>
		<title>[Podcast] Thread-Safe Asynchronous Smart Clients</title>
		<link>https://udidahan.com/2007/10/12/podcast-thread-safe-asynchronous-smart-clients/</link>
					<comments>https://udidahan.com/2007/10/12/podcast-thread-safe-asynchronous-smart-clients/#comments</comments>
		
		
		<pubDate>Fri, 12 Oct 2007 07:08:09 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[OO]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Smart Client]]></category>
		<category><![CDATA[Threading]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/10/12/podcast-thread-safe-asynchronous-smart-clients/</guid>

					<description><![CDATA[In this podcast we&#8217;ll look at various patterns involved in creating MVC-based Smart Clients which communicate using asynchronous messaging and how to avoid threading problems there. Neil asks: Hi Udi, We&#8217;re building a smart client application that uses WCF for full-duplex communications with our server. This is the asynchronous communication you talk about in your [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll look at various patterns involved in creating MVC-based Smart Clients which communicate using asynchronous messaging and how to avoid threading problems there.</p>
<p>Neil asks:</p>
<blockquote><p>
Hi Udi,</p>
<p>We&#8217;re building a smart client application that uses WCF for full-duplex communications with our server. This is the asynchronous communication you talk about in your podcast. The smart-client is based on the MVC pattern, where model objects raise events when they&#8217;re changed so that the views can update themselves.</p>
<p>What&#8217;s started happening recently is that the smart-client has been freezing-up on us intermittently. We don&#8217;t know how to debug this and are wondering if its an architectural problem.</p>
<p>Any help you can give would be most appreciated.</p>
<p>Neil
</p></blockquote>
<p><b>Download</b></p>
<p><a href="http://www.ddj.com/architect/202401468">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/071011ud01.mp3?podcast=071011ud01.mp3">here</a></p>
<p><b>Additional References</b></p>
<ul>
<li>Blog post on <a href="http://www.udidahan.com/2007/04/04/occasionally-connected-systems-architecture/">Occasionally Connected Systems Architecture</a></li>
<li>Blog post on <a href="http://www.udidahan.com/2007/09/28/objectbuilder-synchronization-features-needed-for-pubsub-ing-smart-clients/">ObjectBuilder synchronization features needed for pub/sub-ing Smart Clients</a></li>
</ul>
<p><b>Want more?</b></p>
<p>Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b></p>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/10/12/podcast-thread-safe-asynchronous-smart-clients/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		<enclosure length="13030892" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071011ud01.mp3?podcast=071011ud01.mp3"/>
<enclosure length="13030892" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071011ud01.mp3?podcast=071011ud01.mp3"/>
<enclosure length="13030892" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/071011ud01.mp3?podcast=071011ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll look at various patterns involved in creating MVC-based Smart Clients which communicate using asynchronous messaging and how to avoid threading problems there. Neil asks: Hi Udi, We&amp;#8217;re building a smart client application that uses WCF for full-duplex communications with our server. This is the asynchronous communication you talk about in your [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll look at various patterns involved in creating MVC-based Smart Clients which communicate using asynchronous messaging and how to avoid threading problems there. Neil asks: Hi Udi, We&amp;#8217;re building a smart client application that uses WCF for full-duplex communications with our server. This is the asynchronous communication you talk about in your [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, OO, Performance, Smart Client, Threading</itunes:keywords></item>
		<item>
		<title>[Podcast] Domain Models, SOA, and The Single Version of the Truth</title>
		<link>https://udidahan.com/2007/09/12/podcast-domain-models-soa-and-the-single-version-of-the-truth/</link>
					<comments>https://udidahan.com/2007/09/12/podcast-domain-models-soa-and-the-single-version-of-the-truth/#respond</comments>
		
		
		<pubDate>Wed, 12 Sep 2007 08:56:12 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[SOA]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/09/12/podcast-domain-models-soa-and-the-single-version-of-the-truth/</guid>

					<description><![CDATA[In this podcast we&#8217;ll try to describe some of the pitfalls of trying to split a domain model between multiple services, as well as how SOA side-steps the &#8220;single version of the truth&#8221; issue found in reporting. Rishi asks: Hi Udi, First of all, thanks for all the posts and info you share, it is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we&#8217;ll try to describe some of the pitfalls of trying to split a domain model between multiple services, as well as how SOA side-steps the &#8220;single version of the truth&#8221; issue found in reporting.</p>
<p>Rishi asks:</p>
<blockquote><p>
Hi Udi,<br />
First of all, thanks for all the posts and info you share, it is very insightful compared to loads n&#8217; loads of marketing bull and vendor whitepapers. Ok, I have two questions for you.</p>
<p>1. I want to create a SOA-based LOB application/platform and I generally understand the &#8216;tenets of services&#8217; and reasons for the same. However, as you may well know, there is a lot of interdependency between business constructs (such as a customer with an order, or a delivery with a product construct). Now, should we share these constructs within a tightly-coupled and domain-based &#8220;system&#8221; which exposes a number of services to the outside world and use the constructs directly inside the so-called &#8220;system&#8221; boundary. Or on the opposite spectrum have a number of autonomous and independent services that expose, own, and share certain business constructs or at least part of the data that represents them as a whole. For example, an order service will need to interact with a customer construct, which primarily/essentially is (or should be?) owned by a customer profile service &#8211; in this context, with clear, direct, and immediate inter-dependency what is preferable? Where do we draw the enclosing line?</p>
<p>2. In a line of business application, reporting and shaping data are a given necessity. Now, with autonomous and independent services which define business constructs in their contextual ways, how do we practically shape, combine, and filter data across various services? We certainly can&#8217;t do joins over multiple services in a practical way? And as some suggest, if we are to maintain duplicate or master data elsewhere, it just seems very messy to me &#8211; just consider having 3 versions of an order services, with 2 versions of support services, and &#8216;n&#8217; number of other services to comb data from. Further, for reporting and also analytical purposes we really need to have business data structured in a well-defined manner, which for all purposes needs to be the &#8220;single version of the truth&#8221;. I can&#8217;t see granular services, with all its tenets, sitting nicely with such other requirements of the business &#8211; and yet I am not even asking them to be real-time. How do we meet such business requirements in your view with SOA?</p>
<p>Hope the above makes sense!</p>
<p>Cheers,<br />
Rishi</p>
<p>PS: I use the word business construct purposefully, and it does not directly attribute to a well-defined programmable entity (in object-oriented way, that is).
</p></blockquote>
<p><a href="http://www.ddj.com/architect/201805549">Download via the Dr. Dobb&#8217;s site.</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070911ud01.mp3?podcast=070911ud01.mp3">here</a>.</p>
<p><b>Additional References</b></p>
<ul>
<li><a href="http://www.udidahan.com/2006/05/26/podcast-does-soa-mean-the-end-of-oo/">Ask Udi Podcast #000&#8211;Does SOA mean the end of OO?</a></li>
<li><a href="http://www.udidahan.com/2007/03/08/podcast-master-data-management-and-soa/">Ask Udi Podcast #009&#8211;Master Data Management and SOA</a></li>
<li><a href="http://www.udidahan.com/2007/05/20/podcast-how-does-extract-transform-load-fit-with-soa/">Ask Udi Podcast #016&#8211;How does Extract, Transform, Load fit with SOA?</a></li>
</ul>
<p><b>Want more?</b></p>
<p>Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b></p>
<p><a href="mailto:podcast@UdiDahan.com">Send Udi your question to answer on the show.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/09/12/podcast-domain-models-soa-and-the-single-version-of-the-truth/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="9831013" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070911ud01.mp3?podcast=070911ud01.mp3"/>
<enclosure length="9831013" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070911ud01.mp3?podcast=070911ud01.mp3"/>
<enclosure length="9831013" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070911ud01.mp3?podcast=070911ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we&amp;#8217;ll try to describe some of the pitfalls of trying to split a domain model between multiple services, as well as how SOA side-steps the &amp;#8220;single version of the truth&amp;#8221; issue found in reporting. Rishi asks: Hi Udi, First of all, thanks for all the posts and info you share, it is [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we&amp;#8217;ll try to describe some of the pitfalls of trying to split a domain model between multiple services, as well as how SOA side-steps the &amp;#8220;single version of the truth&amp;#8221; issue found in reporting. Rishi asks: Hi Udi, First of all, thanks for all the posts and info you share, it is [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, DDD, SOA</itunes:keywords></item>
		<item>
		<title>[Podcast] Shared subscriptions between autonomous components</title>
		<link>https://udidahan.com/2007/09/09/podcast-shared-subscriptions-between-autonomous-components/</link>
					<comments>https://udidahan.com/2007/09/09/podcast-shared-subscriptions-between-autonomous-components/#respond</comments>
		
		
		<pubDate>Mon, 10 Sep 2007 05:30:15 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/09/09/podcast-shared-subscriptions-between-autonomous-components/</guid>

					<description><![CDATA[This week we&#8217;re discussing scenarios involving the use of multiple autonomous components handling the same event. We also get into the topics of component hosting as well as solution development structure. Our long-time listener Bill asks the following: Hi Udi, Thank you for your podcast clarifying the concept of autonomous components. It certainly cleared up [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week we&#8217;re discussing scenarios involving the use of multiple autonomous components handling the same event. We also get into the topics of component hosting as well as solution development structure.</p>
<p>Our long-time listener Bill asks the following:</p>
<blockquote><p>
Hi Udi,</p>
<p>Thank you for your podcast clarifying the concept of autonomous components.  It certainly cleared up a lot in terms of how you define an autonomous component and helped position the concept better in my mind.</p>
<p>I am considering building our Policy Administration service with 3 autonomous components as you previously suggested &#8211; one for each insurance product family.  As you previously mentioned, these autonomous components could either share a database instance or have separate database instances, even though they may share schema (being a part of the same service).</p>
<p>What concerns me however is that there is some data that must be shared between these autonomous components.  A perfect example is Region.  If a new Region is defined somewhere in the enterprise, a RegionCreatedNotification is published onto the bus.  If I have 3 autonomous components sharing the same database, is it best I just choose one to be the subscriber for this event?  Or should I create a new separate queue to receive these notifications and put a message handler for it in a separate MessageHandlers assembly?  Or should I subscribe all 3 autonomous components and have them each check if the Region has already been created in the database before inserting a new one?</p>
<p>Option (1) seems presumptuous because it assumes all 3 autonomous components are sharing the same database.  Option (2) seems a bit strange because it is like creating a 4th autonomous component only to receive the RegionCreatedNotification messages.  And Option (3) seems wasteful since there is redundant code and the system is doing extra unnecessary lookups.  At the moment it looks like Option (2) is my best bet, but I&#8217;m very interested to get your take on it.</p>
<p>Another question is whether you would say that autonomous components should be hosted in different processes.  Since I don&#8217;t need to run these autonomous components on separate servers at this stage, it would seem wasteful to create a service host for each component.  I could always create separate service hosts at a later time if I needed to host one or more autonomous components on other servers.</p>
<p>And the final question I have is in terms of solution structure.  I was contemplating the following structure:</p>
<p>ProductFamily1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Company.PolicyAdministration.ProductFamily1.Domain<br />
Company.PolicyAdministration.ProductFamily1.MessageHandlers<br />
Company.PolicyAdministration.ProductFamily1.Messages<br />
Company.PolicyAdministration.ProductFamily1.Persistence<br />
Company.PolicyAdministration.ProductFamily1.Persistence.Implementation<br />
Company.PolicyAdministration.ProductFamily1.Etc&#8230;</p>
<p>ProductFamily2<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Company.PolicyAdministration.ProductFamily2.Domain<br />
Company.PolicyAdministration.ProductFamily2.MessageHandlers<br />
Company.PolicyAdministration.ProductFamily2.Messages<br />
Company.PolicyAdministration.ProductFamily2.Persistence<br />
Company.PolicyAdministration.ProductFamily2.Persistence.Implementation<br />
Company.PolicyAdministration.ProductFamily2.Etc&#8230;</p>
<p>ProductFamily3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Company.PolicyAdministration.ProductFamily3.Domain<br />
Company.PolicyAdministration.ProductFamily3.MessageHandlers<br />
Company.PolicyAdministration.ProductFamily3.Messages<br />
Company.PolicyAdministration.ProductFamily3.Persistence<br />
Company.PolicyAdministration.ProductFamily3.Persistence.Implementation<br />
Company.PolicyAdministration.ProductFamily3.Etc&#8230;</p>
<p>Common<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Company.PolicyAdministration.Common.Domain<br />
Company.PolicyAdministration.Common.Persistence<br />
Company.PolicyAdministration.Common.Messages<br />
Company.PolicyAdministration.Common.ServiceHost<br />
Company.PolicyAdministration.Common.Etc&#8230;</p>
<p>Do you have any thoughts on the above structure?</p>
<p>Once again thank you very much for your extremely valuable advice!</p>
<p>Best Regards,<br />
Bill
</p></blockquote>
<p><a href="http://www.ddj.com/architect/201804009">Download via the Dr. Dobbs&#8217; site.</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070904ud01.mp3?podcast=070904ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://www.udidahan.com/2007/06/02/podcast-using-autonomous-components-for-slas-in-soa/">Ask Udi Podcast #017 &#8211; Using Autonomous Components for SLAs in SOA</a></li>
<li><a href="http://www.udidahan.com/2007/04/18/podcast-how-to-structure-net-solutions-and-components/">Ask Udi Podcast #020 &#8211; How to structure .NET solutions and components</a></li>
</ul>
<p><b>Want More?</b></p>
<p>Check out the <a href="/ask-udi/">“Ask Udi” archives</a>.</p>
<p><b>Got a question?</b></p>
<p>Send Udi your question and have him answer it on the show: <a href="mailto:podcast@UdiDahan.com">podcast@UdiDahan.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/09/09/podcast-shared-subscriptions-between-autonomous-components/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="14630852" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070904ud01.mp3?podcast=070904ud01.mp3"/>
<enclosure length="14630852" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070904ud01.mp3?podcast=070904ud01.mp3"/>
<enclosure length="14630852" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070904ud01.mp3?podcast=070904ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week we&amp;#8217;re discussing scenarios involving the use of multiple autonomous components handling the same event. We also get into the topics of component hosting as well as solution development structure. Our long-time listener Bill asks the following: Hi Udi, Thank you for your podcast clarifying the concept of autonomous components. It certainly cleared up [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week we&amp;#8217;re discussing scenarios involving the use of multiple autonomous components handling the same event. We also get into the topics of component hosting as well as solution development structure. Our long-time listener Bill asks the following: Hi Udi, Thank you for your podcast clarifying the concept of autonomous components. It certainly cleared up [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, Autonomous Services, Pub/Sub, SOA</itunes:keywords></item>
		<item>
		<title>[Podcast] Can We Do Away with Services and Just Leave the Messaging?</title>
		<link>https://udidahan.com/2007/08/11/podcast-can-we-do-away-with-services-and-just-leave-the-messaging/</link>
					<comments>https://udidahan.com/2007/08/11/podcast-can-we-do-away-with-services-and-just-leave-the-messaging/#respond</comments>
		
		
		<pubDate>Sat, 11 Aug 2007 09:18:38 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/08/11/podcast-can-we-do-away-with-services-and-just-leave-the-messaging/</guid>

					<description><![CDATA[This week we have a comment from a fellow SOA blogger, Jack van Hoof: ESB&#8217;s are a lot about messaging and therefore a better name might be &#8220;Enterprise Data Bus&#8221;. It&#8217;s the asynchronous messaging that needs such an infrastructure with persistency and mediation facilities. All the WS-* standards are about messaging as well, leveraging the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week we have a comment from a fellow SOA blogger, <a href="http://soa-eda.blogspot.com">Jack van Hoof</a>:</p>
<blockquote><p>
ESB&#8217;s are a lot about messaging and therefore a better name might be &#8220;Enterprise Data Bus&#8221;. It&#8217;s the asynchronous messaging that needs such an infrastructure with persistency and mediation facilities. All the WS-* standards are about messaging as well, leveraging the message itself to tell the infrastructure how it has to be handled.</p>
<p>I think WS-* will make it possible to have the ESB evolve from a vendor-product to a concept implemented in the operating systems an network devices that understand WS-*. Then you can leave the prefix &#8220;Enterprise&#8221; and we will be ready for an univeral asynchronous data bus over the Internet (or any other network you like). This will help breaking the current &#8220;services centric&#8221; idea of SOA into a &#8220;messages centric&#8221; perspective.</p>
<p>What are your thoughts?
</p></blockquote>
<p><a href="http://www.ddj.com/web-development/201306152">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070808ud01.mp3?podcast=070808ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://www.udidahan.com/2006/06/02/podcast-does-an-soa-require-an-esb/">Podcast on if you need an ESB for SOA</a></li>
<li><a href="http://www.udidahan.com/2007/03/29/podcast-enterprise-service-discovery/">Podcast on Enterprise Service Discovery</a></li>
<li><a href="http://soa-eda.blogspot.com/2006/11/esb-as-global-dataspace.html">Blog post on ESBs as a global dataspace</a></li>
<li><a href="http://soa-eda.blogspot.com/2006/06/brave-new-world-with-ws.html">Blog post about what the brave new world of WS-* brings us</a></li>
</ul>
<p><b>Want more?</b> Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b> Have Udi answer it on the podcast &#8211; <a href="mailto:podcast@UdiDahan.com">podcast@UdiDahan.com</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/08/11/podcast-can-we-do-away-with-services-and-just-leave-the-messaging/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="13990964" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070808ud01.mp3?podcast=070808ud01.mp3"/>
<enclosure length="13990964" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070808ud01.mp3?podcast=070808ud01.mp3"/>
<enclosure length="13990964" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070808ud01.mp3?podcast=070808ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week we have a comment from a fellow SOA blogger, Jack van Hoof: ESB&amp;#8217;s are a lot about messaging and therefore a better name might be &amp;#8220;Enterprise Data Bus&amp;#8221;. It&amp;#8217;s the asynchronous messaging that needs such an infrastructure with persistency and mediation facilities. All the WS-* standards are about messaging as well, leveraging the [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week we have a comment from a fellow SOA blogger, Jack van Hoof: ESB&amp;#8217;s are a lot about messaging and therefore a better name might be &amp;#8220;Enterprise Data Bus&amp;#8221;. It&amp;#8217;s the asynchronous messaging that needs such an infrastructure with persistency and mediation facilities. All the WS-* standards are about messaging as well, leveraging the [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Autonomous Services, EDA, ESB, Pub/Sub, SOA, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Interview with Paul Preiss – IASA President and Founder</title>
		<link>https://udidahan.com/2007/08/07/podcast-interview-with-paul-preiss-iasa-president-and-founder/</link>
					<comments>https://udidahan.com/2007/08/07/podcast-interview-with-paul-preiss-iasa-president-and-founder/#respond</comments>
		
		
		<pubDate>Wed, 08 Aug 2007 04:47:48 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/08/07/podcast-interview-with-paul-preiss-iasa-president-and-founder/</guid>

					<description><![CDATA[In this podcast we talk to Paul Preiss, President and Founder of the International Association of Software Architects, about the field of IT Architecture, the value IASA brings to architects, vendors, and corporate IT, as well as the various training programs available including the free Skills Library&#8211;over 600 pages of articles written by architects for [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we talk to Paul Preiss, President and Founder of the International Association of Software Architects, about the field of IT Architecture, the value IASA brings to architects, vendors, and corporate IT, as well as the various training programs available including the free Skills Library&#8211;over 600 pages of articles written by architects for architects.</p>
<p><a href="http://www.ddj.com/web-development/201200592">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070720ud01.mp3?podcast=070720ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://www.iasahome.org/">IASA home page</a></li>
<li><a href="http://www.iasahome.org/web/home/skillset">IASA Skills Library</li>
<li><a href="http://www.iasahome.org/web/home/chapter/startup">How to start your own IASA chapter</li>
<li><a href="http://www.iasahome.org/web/home/training/program">Join the IASA Training Program</a></li>
</ul>
<p><b>Want more?</b></p>
<p>Check out the <a href="/ask-udi/">“Ask Udi” archives</a></p>
<p><a href="mailto:podcast@UdiDahan.com">Ask Udi a question for the podcast&#8230;</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/08/07/podcast-interview-with-paul-preiss-iasa-president-and-founder/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="20391171" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070720ud01.mp3?podcast=070720ud01.mp3"/>
<enclosure length="20391171" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070720ud01.mp3?podcast=070720ud01.mp3"/>
<enclosure length="20391171" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070720ud01.mp3?podcast=070720ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we talk to Paul Preiss, President and Founder of the International Association of Software Architects, about the field of IT Architecture, the value IASA brings to architects, vendors, and corporate IT, as well as the various training programs available including the free Skills Library&amp;#8211;over 600 pages of articles written by architects for [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we talk to Paul Preiss, President and Founder of the International Association of Software Architects, about the field of IT Architecture, the value IASA brings to architects, vendors, and corporate IT, as well as the various training programs available including the free Skills Library&amp;#8211;over 600 pages of articles written by architects for [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast</itunes:keywords></item>
		<item>
		<title>[Podcast] Using WCF for Entity and Activity Services to Implement Business Services</title>
		<link>https://udidahan.com/2007/07/17/podcast-using-wcf-for-entity-and-activity-services-to-implement-business-services/</link>
					<comments>https://udidahan.com/2007/07/17/podcast-using-wcf-for-entity-and-activity-services-to-implement-business-services/#respond</comments>
		
		
		<pubDate>Tue, 17 Jul 2007 14:00:08 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/07/17/podcast-using-wcf-for-entity-and-activity-services-to-implement-business-services/</guid>

					<description><![CDATA[This week we return to the topic of Entity, Activity, and Process services and compares their usages as top-level SOA elements and as implementation details of the application architecture inside a business service. And the question that this answers is: Hi Udi, We&#8217;ve been having some discussions about how to implement our latest project using [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week we return to the topic of Entity, Activity, and Process services and compares their usages as top-level SOA elements and as implementation details of the application architecture inside a business service.</p>
<p>And the question that this answers is:</p>
<blockquote><p>
Hi Udi,</p>
<p>We&#8217;ve been having some discussions about how to implement our latest project using SOA and this is what we came up with:</p>
<p>Every activity is a method, which is broken into a class ( Think separation of concerns ), so we get high reusability.<br />
On top of those classes we have decided to put a WCF layer, so you can expose the method as a web method. If an activity needs data, then it will access a entity service via WCF. To make the activities useful for the business we put them in a class which we have called processes ( a process layer). A process contains one or more activities and is able to call other processes and activities aren&#8217;t allowed to call processes or other activities.  On top of each process we have decided to put a WCF so the UI can access them.</p>
<p>So it&#8217;s pretty close to what you wrote about in the Microsoft Architecture Journal except that we don&#8217;t have direct call to the entity services, we wrap it up in an activity before the call, which is wrapped in a WCF-host. Much like the definitions in Ontology and Taxonomy of Services in a Service-Oriented Architecture</p>
<p>I would love to hear your comments and thoughts about this architecture.</p>
<p>With thanks, Ingo
</p></blockquote>
<p><a href="http://www.ddj.com/dept/webservices/201001690">Download via the Dr. Dobbs&#8217; site</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070716ud01.mp3?podcast=070716ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://msdn2.microsoft.com/en-us/arcjournal/bb491121.aspx">Ontology and Taxonomy of Services in a Service-Oriented Architecture</a></li>
<li><a href="http://www.udidahan.com/2007/02/20/autonomous-services-and-enterprise-entity-aggregation/">Udi&#8217;s Architecture Journal article on Autonomous Services<br />
</a></li>
<li><a href="http://www.udidahan.com/2007/04/18/podcast-how-to-structure-net-solutions-and-components/">Podcast on how to structure .NET solutions and components</a></li>
<li><a href="http://www.udidahan.com/2007/06/08/entity-services-rollup/">Blog post covering a discussion on Entity Services</a></li>
</ul>
<p><b>Want More?</b></p>
<p>Check out the <a href="/ask-udi/">&#8220;Ask Udi&#8221; archives</a>.</p>
<p><b>Got a question?</b></p>
<p>Send Udi your question and have him answer it on the show: <a href="mailto:podcast@UdiDahan.com">podcast@UdiDahan.com</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/07/17/podcast-using-wcf-for-entity-and-activity-services-to-implement-business-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="10951162" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070716ud01.mp3?podcast=070716ud01.mp3"/>
<enclosure length="10951162" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070716ud01.mp3?podcast=070716ud01.mp3"/>
<enclosure length="10951162" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070716ud01.mp3?podcast=070716ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week we return to the topic of Entity, Activity, and Process services and compares their usages as top-level SOA elements and as implementation details of the application architecture inside a business service. And the question that this answers is: Hi Udi, We&amp;#8217;ve been having some discussions about how to implement our latest project using [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week we return to the topic of Entity, Activity, and Process services and compares their usages as top-level SOA elements and as implementation details of the application architecture inside a business service. And the question that this answers is: Hi Udi, We&amp;#8217;ve been having some discussions about how to implement our latest project using [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, Autonomous Services, ESB, SOA, WCF, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Passing Data Between Layers in SOA Model/Smart Client Application</title>
		<link>https://udidahan.com/2007/07/12/podcast-passing-data-between-layers-in-soa-modelsmart-client-application/</link>
					<comments>https://udidahan.com/2007/07/12/podcast-passing-data-between-layers-in-soa-modelsmart-client-application/#respond</comments>
		
		
		<pubDate>Thu, 12 Jul 2007 22:37:18 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Smart Client]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/07/12/podcast-passing-data-between-layers-in-soa-modelsmart-client-application/</guid>

					<description><![CDATA[This week we discuss the different options that are available for passing data between a client and a service, as well as common pitfalls around trying to use the same objects for both presentation to the user and persistence to the database. Download via the Dr. Dobb&#8217;s site. Or download directly here. And here&#8217;s the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week we discuss the different options that are available for passing data between a client and a service, as well as common pitfalls around trying to use the same objects for both presentation to the user and persistence to the database.</p>
<p><a href="http://ddj.com/dept/webservices/201001098">Download via the Dr. Dobb&#8217;s site.</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070712ud01.mp3?podcast=070712ud01.mp3">here</a>.</p>
<p>And here&#8217;s the question that gets us started:</p>
<blockquote><p>
Hello there,</p>
<p>We are developing an application in .NET Smart Client application which connects to a WCF service and then to the data access layer.  The issue we have here is on the type of data which can be passed between the client side and web service.</p>
<p>1. Can it be a dataset (No!), custom entity or XML or anything else ?</p>
<p>     Which is the best one ?</p>
<p>2. Ofcourse , a dataset can&#8217;t be used coz it can&#8217;t be used in non-.NET environment?</p>
<p>3. If we go for custom-entity or XML how do we ensure the changes happen to the data during client-side actions ? For example, binding the XML or custom entity to a data grid can be done.  But if user makes any changes to the same,  how do we identify ?</p>
<p>4. If we use custom entities / XM L, the same can not be passed to the Data Access Application Block which invokes the data objects.</p>
<p>Note : All the above are based on assumption without using a translator in between any of the layers.</p>
<p>Please provide a better solution if you have come across any.
</p></blockquote>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://www.udidahan.com/2007/03/28/podcast-datasets-web-services/">Podcast on using DataSets with Web Services</li>
<li><a href="http://www.udidahan.com/2007/03/30/entity-framework-disconnected-problems-solutions/">Blog post on tracking changes to objects on the client side</a></li>
<li><a href="/ask-udi/">Looking for more of the &#8220;Ask Udi&#8221; podcast?</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/07/12/podcast-passing-data-between-layers-in-soa-modelsmart-client-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="15111103" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070712ud01.mp3?podcast=070712ud01.mp3"/>
<enclosure length="15111103" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070712ud01.mp3?podcast=070712ud01.mp3"/>
<enclosure length="15111103" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070712ud01.mp3?podcast=070712ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week we discuss the different options that are available for passing data between a client and a service, as well as common pitfalls around trying to use the same objects for both presentation to the user and persistence to the database. Download via the Dr. Dobb&amp;#8217;s site. Or download directly here. And here&amp;#8217;s the [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week we discuss the different options that are available for passing data between a client and a service, as well as common pitfalls around trying to use the same objects for both presentation to the user and persistence to the database. Download via the Dr. Dobb&amp;#8217;s site. Or download directly here. And here&amp;#8217;s the [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Smart Client, SOA, WCF, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Ross Mason on ESBs and the Mule Project</title>
		<link>https://udidahan.com/2007/06/30/podcast-ross-mason-on-esbs-and-the-mule-project/</link>
					<comments>https://udidahan.com/2007/06/30/podcast-ross-mason-on-esbs-and-the-mule-project/#respond</comments>
		
		
		<pubDate>Sat, 30 Jun 2007 14:03:26 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[Scalability]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/06/30/podcast-ross-mason-on-esbs-and-the-mule-project/</guid>

					<description><![CDATA[In this podcast we talk to Ross Mason about the value Enterprise Service Buses (ESBs) provide over regular Enterprise Application Integration products and how Mule, a Java-based open-source ESB, makes ESBs easy to use. Download via the Dr. Dobb&#8217;s site Or download directly here. Additional References: OSGi MuleSource, the company supporting Mule Microsoft BizTalk Internet [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we talk to Ross Mason about the value Enterprise Service Buses (ESBs) provide over regular Enterprise Application Integration products and how Mule, a Java-based open-source ESB, makes ESBs easy to use.</p>
<p><a href="http://ddj.com/dept/webservices/200000160">Download via the Dr. Dobb&#8217;s site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070622ud01.mp3?podcast=070622ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://www.osgi.org">OSGi</a></li>
<li><a href="http://www.mulesource.com">MuleSource, the company supporting Mule</a></li>
<li><a href="http://labs.biztalk.net">Microsoft BizTalk Internet Services Bus</a></li>
<li><a href="http://laribee.com/blog/2007/04/10/altnet/">ALT.NET, a community around the solution, not the tools</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/06/30/podcast-ross-mason-on-esbs-and-the-mule-project/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="19271046" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070622ud01.mp3?podcast=070622ud01.mp3"/>
<enclosure length="19271046" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070622ud01.mp3?podcast=070622ud01.mp3"/>
<enclosure length="19271046" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070622ud01.mp3?podcast=070622ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we talk to Ross Mason about the value Enterprise Service Buses (ESBs) provide over regular Enterprise Application Integration products and how Mule, a Java-based open-source ESB, makes ESBs easy to use. Download via the Dr. Dobb&amp;#8217;s site Or download directly here. Additional References: OSGi MuleSource, the company supporting Mule Microsoft BizTalk Internet [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we talk to Ross Mason about the value Enterprise Service Buses (ESBs) provide over regular Enterprise Application Integration products and how Mule, a Java-based open-source ESB, makes ESBs easy to use. Download via the Dr. Dobb&amp;#8217;s site Or download directly here. Additional References: OSGi MuleSource, the company supporting Mule Microsoft BizTalk Internet [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, ESB, Pub/Sub, Scalability</itunes:keywords></item>
		<item>
		<title>[Podcast] Sockets, Web Services, and Security</title>
		<link>https://udidahan.com/2007/06/21/podcast-sockets-web-services-and-security/</link>
					<comments>https://udidahan.com/2007/06/21/podcast-sockets-web-services-and-security/#respond</comments>
		
		
		<pubDate>Thu, 21 Jun 2007 20:00:47 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/06/21/podcast-sockets-web-services-and-security/</guid>

					<description><![CDATA[In this podcast we answer questions about the considerations of choosing various communications technology&#8211;from TCP and UDP sockets, to .NET Remoting, Web Services, and Windows Communication Foundation. Also, issues such as scalability and security are discussed in the context of company intranets. Download via the Dr. Dobb&#8217;s site. Or download directly here. Here&#8217;s the original [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we answer questions about the considerations of choosing various communications technology&#8211;from TCP and UDP sockets, to .NET Remoting, Web Services, and Windows Communication Foundation. Also, issues such as scalability and security are discussed in the context of company intranets.</p>
<p><a href="http://ddj.com/dept/webservices/199300134">Download via the Dr. Dobb&#8217;s site.</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070507ud01.mp3?podcast=070507ud01.mp3">here</a>.</p>
<p>Here&#8217;s the original question:</p>
<blockquote><p>
Hi Udi,</p>
<p>This is Kumar, i am new to .NET and related technologies. Actually i am designing an application with few a components like a Socket Server(a service) which received input from payment terminal for loyalty application, which should communicate with Web Services deployed in an IIS application server, then the web services should communicate with an Oracle Database.</p>
<p>What are the patterns and best practices to use for the communication between the socket server and application server, and how do I scale for multiple clients in socketserver, and what are the security things that i need to consider.</p>
<p>Should i need to use .NET Remoting instead Web Services for my application server layer, and which is best for my socket server?</p>
<p>Thank you for your support.</p>
<p>Kumar
</p></blockquote>
<p><u>Additional References</u></p>
<ul>
<li><a href="http://msdn2.microsoft.com/en-us/library/bb310550.aspx">MSDN WCF performance whitepaper</a></li>
<li><a href="http://msdn2.microsoft.com/en-us/library/ms166043.aspx">Microsoft SQL Server Service Broker</a></li>
<li><a href="http://msdn.microsoft.com/msdnmag/issues/06/11/ThreatModeling/default.aspx">Threat modeling, the STRIDE approach</a></li>
<li><a href="http://msdn2.microsoft.com/en-us/library/ms978516.aspx">Microsoft Patterns &#038; Practices group; Threat modeling for web applications Ebook<a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/06/21/podcast-sockets-web-services-and-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="9991074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070507ud01.mp3?podcast=070507ud01.mp3"/>
<enclosure length="9991074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070507ud01.mp3?podcast=070507ud01.mp3"/>
<enclosure length="9991074" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070507ud01.mp3?podcast=070507ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we answer questions about the considerations of choosing various communications technology&amp;#8211;from TCP and UDP sockets, to .NET Remoting, Web Services, and Windows Communication Foundation. Also, issues such as scalability and security are discussed in the context of company intranets. Download via the Dr. Dobb&amp;#8217;s site. Or download directly here. Here&amp;#8217;s the original [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we answer questions about the considerations of choosing various communications technology&amp;#8211;from TCP and UDP sockets, to .NET Remoting, Web Services, and Windows Communication Foundation. Also, issues such as scalability and security are discussed in the context of company intranets. Download via the Dr. Dobb&amp;#8217;s site. Or download directly here. Here&amp;#8217;s the original [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Security, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] Asynch Communication and the User Experience</title>
		<link>https://udidahan.com/2007/06/21/podcast-asynch-communication-and-the-user-experience/</link>
					<comments>https://udidahan.com/2007/06/21/podcast-asynch-communication-and-the-user-experience/#respond</comments>
		
		
		<pubDate>Thu, 21 Jun 2007 19:40:29 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/06/21/podcast-asynch-communication-and-the-user-experience/</guid>

					<description><![CDATA[In this podcast we answer questions about how web presentation layers can communicate asynchronously with services, Service Level Agreements with respect to asynchronous user interaction, and if using compiled DLLs for message schemas creates tight coupling. Download via the Dr. Dobbs&#8217; site Or download directly here. And here&#8217;s the original question: Hi Udi, I thought [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we answer questions about how web presentation layers can communicate asynchronously with services, Service Level Agreements with respect to asynchronous user interaction, and if using compiled DLLs for message schemas creates tight coupling.</p>
<p><a href="http://ddj.com/dept/webservices/199601132">Download via the Dr. Dobbs&#8217; site</a></p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070515ud01.mp3?podcast=070515ud01.mp3">here</a>.</p>
<p>And here&#8217;s the original question:</p>
<blockquote><p>
Hi Udi,</p>
<p>I thought I&#8217;d ask a question about an implementation that seems to be bouncing off my head. We have been thinking about services that can, at the business owners discretion based on SLA expectations, be synchronous, async but within a &#8220;human&#8221; timeframe ie, the gui could still wait and just fail gracefully if the response took too long, or async where the client must check back later.</p>
<p>Client abc is using application xyz and sends a message via the bus to do something. Logically, client abc is waiting for a response even though application xyz sent it asynchronously. Client abc may wait with the gui in front of them, with a progress bar running or a little ajaxy polling widget. They may wait for an email or an message on their web site for long running operations. How would you arrange that the response to this particular message would get routed to only client abc? If the answer is you shouldn&#8217;t think that way, then what would a subscriber to that message type, as shown in your example, do with the client abc&#8217;s response? Imagine a password reset example where the result is a temporary password but the service consults or updates multiple systems as a result of the request.</p>
<p>You also use a shared message type library. As we have been studying WCF, we have focused mostly on the features that would help us allow service consumers and suppliers move independently. We have been looking at message versioning and loose coupling techniques. We have settled on the idea that a shared message library would make our message too brittle, once again forcing each consumer to sync up with each service update. What is your take on that?</p>
<p>Philip
</p></blockquote>
<p><u>Additional Resources</u></p>
<ul>
<li><a href="http://www.joelonsoftware.com/items/2007/01/26.html">Joel Spolsky&#8217;s posts about how they do asynchronous callbacks over the Web</a></li>
<li><a href="http://labs.biztalk.net/">Microsoft Biztalk Internet Service Bus for asynchronous callbacks over the Web</a></li>
<li><a href="http://www.udidahan.com/2007/03/23/podcast-autonomy-loose-coupling-chicken-egg/">Podcast on loose coupling</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/06/21/podcast-asynch-communication-and-the-user-experience/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			<dc:creator>Udi Dahan</dc:creator></item>
		<item>
		<title>[Podcast] Using Autonomous Components for SLAs in SOA</title>
		<link>https://udidahan.com/2007/06/02/podcast-using-autonomous-components-for-slas-in-soa/</link>
					<comments>https://udidahan.com/2007/06/02/podcast-using-autonomous-components-for-slas-in-soa/#respond</comments>
		
		
		<pubDate>Sun, 03 Jun 2007 05:07:36 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SCA & SDO]]></category>
		<category><![CDATA[SOA]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/06/02/podcast-using-autonomous-components-for-slas-in-soa/</guid>

					<description><![CDATA[In this podcast we answer questions about how to use autonomous components to unify disparate building blocks like servers, middleware, and databases in order to handle the technical complexity of complying with detailed service-level agreements. Reuse of business logic, database schemas, and messaging topics between autonomous components are discussed as well. Download via the Dr. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we answer questions about how to use autonomous components to unify disparate building blocks like servers, middleware, and databases in order to handle the technical complexity of complying with detailed service-level agreements. Reuse of business logic, database schemas, and messaging topics between autonomous components are discussed as well.</p>
<p><a href="http://www.ddj.com/dept/webservices/199800168">Download via the Dr. Dobbs&#8217; site</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070531ud01.mp3?podcast=070531ud01.mp3">here</a>.</p>
<p>And here&#8217;s this week&#8217;s question:</p>
<blockquote><p>
Hi Udi,</p>
<p>Thanks again for your continued assistance.  I was very much interested by your advice to consolidate each of the services related to each product family into a single service, but as autonomous components.</p>
<p>From your description of autonomous components from a prior podcast, it seems that they are much the same as services &#8211; in that they communicate only via loosely coupled messaging, and can have their own databases.  Would you say that the main difference between autonomous components is that different autonomous components within a service may in fact share business logic and databases?  If so, it would seem that combining these services into a single service with 3 autonomous components would be a matter of definition, rather than an architectural shift.  Any information you could provide to clarify this distinction would be fantastic.</p>
<p>Something else that&#8217;s been playing on my mind of late &#8211; is whether or not you would consider a topic as having to belong to a specific service.  That is, would you say it is bad practice to have multiple services publish on a common topic?  I suppose if we have multiple services publishing on a common topic, then they should be defined as autonomous components, belonging to a single larger service &#8211; in which case that common topic would belong to that new service.</p>
<p>As usual your advice is always extremely helpful.  Please keep those podcasts coming!</p>
<p>Best Regards,<br />
Bill
</p></blockquote>
<p><u>Additional References</u></p>
<ul>
<li><a href="http://www.udidahan.com/2007/04/30/podcast-message-schemas-between-multiple-publishers-and-subscribers/">Podcast on Message Schemas between multiple Publishers and Subscribers</a></li>
<li><a href="http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/">Podcast on Business and Autonomous Components in SOA </a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/06/02/podcast-using-autonomous-components-for-slas-in-soa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="15911054" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070531ud01.mp3?podcast=070531ud01.mp3"/>
<enclosure length="15911054" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070531ud01.mp3?podcast=070531ud01.mp3"/>
<enclosure length="15911054" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070531ud01.mp3?podcast=070531ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we answer questions about how to use autonomous components to unify disparate building blocks like servers, middleware, and databases in order to handle the technical complexity of complying with detailed service-level agreements. Reuse of business logic, database schemas, and messaging topics between autonomous components are discussed as well. Download via the Dr. [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we answer questions about how to use autonomous components to unify disparate building blocks like servers, middleware, and databases in order to handle the technical complexity of complying with detailed service-level agreements. Reuse of business logic, database schemas, and messaging topics between autonomous components are discussed as well. Download via the Dr. [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Autonomous Services, EDA, ESB, Podcast, Pub/Sub, SCA &amp; SDO, SOA</itunes:keywords></item>
		<item>
		<title>[Podcast] Handling Dependencies Between Subscribers in SOA</title>
		<link>https://udidahan.com/2007/05/31/podcast-handling-dependencies-between-subscribers-in-soa/</link>
					<comments>https://udidahan.com/2007/05/31/podcast-handling-dependencies-between-subscribers-in-soa/#respond</comments>
		
		
		<pubDate>Thu, 31 May 2007 20:59:28 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/05/31/podcast-handling-dependencies-between-subscribers-in-soa/</guid>

					<description><![CDATA[In this podcast we answer questions about how to solve dependencies between systems that subscribe to events in SOA. We&#8217;ll also get into the pitfalls of employing distributed transaction when reusing existing systems even behind service boundaries. Download via the Dr. Dobbs&#8217; site. Or download directly here. And the original question was: Udi: I have [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In this podcast we answer questions about how to solve dependencies between systems that subscribe to events in SOA. We&#8217;ll also get into the pitfalls of employing distributed transaction when reusing existing systems even behind service boundaries.</p>
<p><a href="http://ddj.com/dept/webservices/199703676">Download via the Dr. Dobbs&#8217; site</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070529ud01.mp3?podcast=070529ud01.mp3">here</a>.</p>
<p>And the original question was:</p>
<blockquote><p>
Udi:</p>
<p>I have a question regarding publishing events that relate to data changes. I found the article you wrote in the Arch Journal #8 very helpful. I think striving for autonomy is very important. The scenario I was thinking about is how can you ensure synchronization across subscribers of a particular event.</p>
<p>For example, System A publishes an event when customer information is updated. There are several systems that subscribe to this event. Two of the systems, System B and System C, need to be sync regarding customer information. System B uses operations from System C using the customer data. Using your example, System B has a process that runs for all &#8220;Preferred Customers&#8221;, and it uses processes on System C. However, System C may not have process the event to and may have a customer as preferred.</p>
<p>I have several thoughts, but would like to get your thoughts on this scenario. Are there any best practices or patterns?</p>
<p>Phil
</p></blockquote>
<p><u>Additional References:</u></p>
<ul>
<li><a href="http://msdn2.microsoft.com/en-us/arcjournal/bb245672">Autonomous Services and Enterprise Entity Aggregation</a> (Article in Microsoft Architecture Journal)</li>
<li><a href="http://www.udidahan.com/2006/09/05/podcast-autonomous-services-and-pubsub/">Podcast on Autonomous Services and Pub/Sub</a></li>
</ul>
<p>You can find more episodes like this in the <a href="http://www.udidahan.com/ask-udi/">Ask Udi archives</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/05/31/podcast-handling-dependencies-between-subscribers-in-soa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="11911190" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070529ud01.mp3?podcast=070529ud01.mp3"/>
<enclosure length="11911190" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070529ud01.mp3?podcast=070529ud01.mp3"/>
<enclosure length="11911190" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070529ud01.mp3?podcast=070529ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>In this podcast we answer questions about how to solve dependencies between systems that subscribe to events in SOA. We&amp;#8217;ll also get into the pitfalls of employing distributed transaction when reusing existing systems even behind service boundaries. Download via the Dr. Dobbs&amp;#8217; site. Or download directly here. And the original question was: Udi: I have [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>In this podcast we answer questions about how to solve dependencies between systems that subscribe to events in SOA. We&amp;#8217;ll also get into the pitfalls of employing distributed transaction when reusing existing systems even behind service boundaries. Download via the Dr. Dobbs&amp;#8217; site. Or download directly here. And the original question was: Udi: I have [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Autonomous Services, EDA, ESB, Podcast, Pub/Sub, SOA</itunes:keywords></item>
		<item>
		<title>[Podcast] How does Extract, Transform, Load fit with SOA?</title>
		<link>https://udidahan.com/2007/05/20/podcast-how-does-extract-transform-load-fit-with-soa/</link>
					<comments>https://udidahan.com/2007/05/20/podcast-how-does-extract-transform-load-fit-with-soa/#respond</comments>
		
		
		<pubDate>Sun, 20 May 2007 21:43:03 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[SOA]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/05/20/podcast-how-does-extract-transform-load-fit-with-soa/</guid>

					<description><![CDATA[This week&#8217;s question comes from Jayan, who asks: Hi Udi, I just went through your Blog which talks about not creating entity services, but instead creating a business service. I understood why you would want it to be a business service, although I am still struggling to fully define what a business service is. Currently [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week&#8217;s question comes from Jayan, who asks:</p>
<blockquote><p>
Hi Udi,</p>
<p>I just went through your Blog which talks about not creating entity services, but instead creating a business service. I understood why you would want it to be a business service, although I am still struggling to fully define what a business service is.</p>
<p>Currently what we have requested is to have a single service, extract, transform and load master data. From your explanations it seems like this is a business service and not just an entity one. What one of the sales guys from an SOA company is saying that this is very possible and would be easy to do.. What I wanted to get your perspective is if this is the right thing to do. What we requested is below:</p>
<p>1.	To create a business service that will extract, transform and load data (One service for user, one for customer and one for product?)<br />
2.	This service will then be called by the different applications we have (3 Java applications, 1 .Net Application and 1 Siebel Application as well as a host of VB/Excel Applications)<br />
3.	The service will be calling on different backend sources for data from SAP systems, Access DBs, Excel Files, Web Pages &#038; Oracle Systems</p>
<p>They say that creating this would produce a.) a reusable service and b.) cost savings. Although I am still apprehensive because it seems as you mentioned in your podcast, each system would have slightly different set of rules for the data entity (and btw you are right).. would this still matter? The thing we want to eliminate is the replication of extracting and loading, although each system would transform the data in its own specific way..</p>
<p>Appreciate any perspective that you might have.</p>
<p>Thanks,</p>
<p>Jayan
</p></blockquote>
<p>Get it via the Dr. Dobb&#8217;s site <a href="http://www.ddj.com/dept/webservices/199601565">here</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070516ud01.mp3?podcast=070516ud01.mp3">here</a>.</p>
<p><u>Additional References</u></p>
<p><a href="http://www.udidahan.com/2007/03/08/podcast-master-data-management-and-soa/">Podcast on Master Data Management and SOA</a><br />
<a href="http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/">Podcast on Business and Autonomous Components in SOA</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/05/20/podcast-how-does-extract-transform-load-fit-with-soa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="11430954" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070516ud01.mp3?podcast=070516ud01.mp3"/>
<enclosure length="11430954" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070516ud01.mp3?podcast=070516ud01.mp3"/>
<enclosure length="11430954" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070516ud01.mp3?podcast=070516ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week&amp;#8217;s question comes from Jayan, who asks: Hi Udi, I just went through your Blog which talks about not creating entity services, but instead creating a business service. I understood why you would want it to be a business service, although I am still struggling to fully define what a business service is. Currently [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week&amp;#8217;s question comes from Jayan, who asks: Hi Udi, I just went through your Blog which talks about not creating entity services, but instead creating a business service. I understood why you would want it to be a business service, although I am still struggling to fully define what a business service is. Currently [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, Autonomous Services, Databases, SOA</itunes:keywords></item>
		<item>
		<title>[Podcast] Message Schemas Between Multiple Publishers and Subscribers</title>
		<link>https://udidahan.com/2007/04/30/podcast-message-schemas-between-multiple-publishers-and-subscribers/</link>
					<comments>https://udidahan.com/2007/04/30/podcast-message-schemas-between-multiple-publishers-and-subscribers/#respond</comments>
		
		
		<pubDate>Tue, 01 May 2007 04:29:42 +0000</pubDate>
				<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Autonomous Services]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESB]]></category>
		<category><![CDATA[Pub/Sub]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/04/30/podcast-message-schemas-between-multiple-publishers-and-subscribers/</guid>

					<description><![CDATA[This week&#8217;s question comes from Bill who asks: Thanks again Udi for your informative response. I have been having more and more continued success leveraging service oriented design principals in my work. My client is thrilled with the result &#8211; systems that work and are agile! 🙂 Your advice over the last number of months [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week&#8217;s question comes from Bill who asks:</p>
<blockquote><p>
Thanks again Udi for your informative response.  I have been having more and more continued success leveraging service oriented design principals in my work.  My client is thrilled with the result &#8211; systems that work and are agile! <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" />  Your advice over the last number of months has been a big ingredient in that success.</p>
<p>As per usual, I have another question I was hoping I could trouble you with.  I have a service which needs to subscribe to a topic which is a parent topic in a topic hierarchy.</p>
<p>Say I have 3 different families of insurance products, each of which have a &#8220;Policy Written&#8221; event.  So we would have:</p>
<p>Product Family 1 Policy Written<br />
Product Family 2 Policy Written<br />
Product Family 3 Policy Written</p>
<p>These 3 messages have some information in common &#8211; such as Policy Number, Product Code, Date Written, etc.  I&#8217;d like to be able to add more products with their own unique &#8220;Policy Written&#8221; event, without altering the service subscribing to the &#8220;Policy Written&#8221; topics.  This means that the subscribing service would need to know about the &#8220;Policy Written&#8221; base type of message, without knowing about the specific sub types.  Assuming the messages are serialised using SOAP/XML, would you recommend achieving his using XML data type inheritance?  So each of the message sub types would inherit from a message base type?  Or would you recommend just having the subscribing service understand each message sub type, and update it as new sub types are added?   Or is there another solution you could offer?</p>
<p>I can see that having the base message type increases coupling between publishing services because each service that publishes a Policy Written event must adhere to the base message type schema.  But I can also see having the subscribing service understand all message sub types increases coupling between the subscribing service and the publishing services because adding a new insurance product requires modifying the subscribing service to understand the new message sub type.</p>
<p>Regards,<br />
Bill
</p></blockquote>
<p>Get it via the Dr. Dobb&#8217;s site <a href="http://ddj.com/dept/webservices/199202807">here</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070430ud01.mp3?podcast=070430ud01.mp3">here</a>.</p>
<p><u>Additional References:</u></p>
<p><a href="http://www.udidahan.com/2006/09/05/podcast-autonomous-services-and-pubsub/">Podcast on Autonomous Services and Pub/Sub </a><br />
<a href="http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/">Podcast on Business and Autonomous Components in SOA</a></p>
<p>Want more? Go to the <a href="/ask-udi/">“Ask Udi” archives</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/04/30/podcast-message-schemas-between-multiple-publishers-and-subscribers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure length="9510861" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070430ud01.mp3?podcast=070430ud01.mp3"/>
<enclosure length="9510861" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070430ud01.mp3?podcast=070430ud01.mp3"/>
<enclosure length="9510861" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070430ud01.mp3?podcast=070430ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week&amp;#8217;s question comes from Bill who asks: Thanks again Udi for your informative response. I have been having more and more continued success leveraging service oriented design principals in my work. My client is thrilled with the result &amp;#8211; systems that work and are agile! &#128578; Your advice over the last number of months [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week&amp;#8217;s question comes from Bill who asks: Thanks again Udi for your informative response. I have been having more and more continued success leveraging service oriented design principals in my work. My client is thrilled with the result &amp;#8211; systems that work and are agile! &#128578; Your advice over the last number of months [&amp;#8230;]</itunes:summary><itunes:keywords>Ask Udi Podcast, Autonomous Services, EDA, ESB, Pub/Sub, SOA, Web Services</itunes:keywords></item>
		<item>
		<title>[Podcast] How to structure .NET Solutions and Components</title>
		<link>https://udidahan.com/2007/04/18/podcast-how-to-structure-net-solutions-and-components/</link>
					<comments>https://udidahan.com/2007/04/18/podcast-how-to-structure-net-solutions-and-components/#comments</comments>
		
		
		<pubDate>Wed, 18 Apr 2007 20:41:14 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Ask Udi Podcast]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[The Team]]></category>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/04/18/podcast-how-to-structure-net-solutions-and-components/</guid>

					<description><![CDATA[This week&#8217;s question comes from Mike who asks: Hi Udi, I was wondering if you could help me out or point me in the right direction. I&#8217;ve been programming on the .Net framework for several years now and want to move towards an architecture role. Additionally, I have been reading up on WCF and related [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This week&#8217;s question comes from Mike who asks:</p>
<blockquote>
<p>
Hi Udi,</p>
<p>I was wondering if you could help me out or point me in the right direction.  I&#8217;ve been programming on the .Net framework for several years now and want to move towards an architecture role.  Additionally, I have been reading up on WCF and related .Net 3.0 technologies, but have more questions than answers.</p>
<p>1. Do you have guidelines/best-practices for how to structure a .Net solution and related assemblies?  Also, guidelines as to how to factor the various namespaces and what goes where would be helpful.</p>
<p>2. How should components be factored, i.e. one component to an assembly or multiple components to an assembly?  I&#8217;ve read several different articles that go back and forth, but never really got a straight answer.</p>
<p>3. How do components relate to services from an SOA perspective?</p>
<p>4. Does application scope/size impact the decision to use SOA? And,</p>
<p>5. Do you have any resources that I could use to learn more about SOA and .Net?</p>
<p>I appreciate the help and any answers that you can provide.</p>
<p>Mike
</p>
</blockquote>
<p>Get it via the Dr. Dobb&#8217;s site<a href="http://ddj.com/dept/webservices/199100693">here</a>.</p>
<p>Or download directly <a href="http://www.dobbsprojects.com/media/newengine/dynamp.php/070418ud01.mp3?podcast=070418ud01.mp3">here</a>.</p>
<p><u>Additional References</u></p>
<ul>
<li><a href="http://www.udidahan.com/2006/06/24/one-wrong-dll-3-months-gone/">On the importance of splitting up projects and DLLs </a></li>
<li><a href="http://www.martinfowler.com/articles/injection.html">Inversion of Control Containers and the Dependency Injection pattern&nbsp;</a></li>
</ul>
<p>Dependency Injection Tools:</p>
<ul>
<li>[.NET] <a href="http://www.springframework.net/">Spring Framework </a></li>
<li>[.NET] <a href="http://structuremap.sourceforge.net/Default.htm">StructureMap</a></li>
<li>[Java] <a href="http://www.springframework.org/">Spring Framework </a></li>
</ul>
<p>Podcasts:</p>
<ul>
<li><a href="http://www.udidahan.com/2006/09/05/podcast-autonomous-services-and-pubsub/">Podcast on Autonomous Services and Pub/Sub </a></li>
<li><a href="http://www.udidahan.com/2006/08/28/podcast-business-and-autonomous-components-in-soa/">Podcast on Business and Autonomous Components in SOA </a></li>
</ul>
<p>Want more? Go to the <a href="/ask-udi">&#8220;Ask Udi&#8221; archives</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://udidahan.com/2007/04/18/podcast-how-to-structure-net-solutions-and-components/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure length="18471057" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070418ud01.mp3?podcast=070418ud01.mp3"/>
<enclosure length="18471057" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070418ud01.mp3?podcast=070418ud01.mp3"/>
<enclosure length="18471057" type="audio/mp3" url="http://www.dobbsprojects.com/media/newengine/dynamp.php/070418ud01.mp3?podcast=070418ud01.mp3"/>

			<dc:creator>Udi Dahan</dc:creator><itunes:explicit>no</itunes:explicit><itunes:subtitle>This week&amp;#8217;s question comes from Mike who asks: Hi Udi, I was wondering if you could help me out or point me in the right direction. I&amp;#8217;ve been programming on the .Net framework for several years now and want to move towards an architecture role. Additionally, I have been reading up on WCF and related [&amp;#8230;]</itunes:subtitle><itunes:author>Udi Dahan</itunes:author><itunes:summary>This week&amp;#8217;s question comes from Mike who asks: Hi Udi, I was wondering if you could help me out or point me in the right direction. I&amp;#8217;ve been programming on the .Net framework for several years now and want to move towards an architecture role. Additionally, I have been reading up on WCF and related [&amp;#8230;]</itunes:summary><itunes:keywords>Architecture, Ask Udi Podcast, Development, The Team</itunes:keywords></item>
	</channel>
</rss>