<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Additional Logic Required For Service Autonomy</title>
	<atom:link href="http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Sat, 11 Feb 2012 15:16:10 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: The Fallacy Of ReUse</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-36167</link>
		<dc:creator>The Fallacy Of ReUse</dc:creator>
		<pubDate>Sun, 07 Jun 2009 08:40:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-36167</guid>
		<description>[...] Additional logic required for service autonomy [...]</description>
		<content:encoded><![CDATA[<p>[...] Additional logic required for service autonomy [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lost Notifications? No Problem.</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35836</link>
		<dc:creator>Lost Notifications? No Problem.</dc:creator>
		<pubDate>Sun, 07 Dec 2008 09:46:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35836</guid>
		<description>[...] Additional logic required for service autonomy [...]</description>
		<content:encoded><![CDATA[<p>[...] Additional logic required for service autonomy [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jack van Hoof</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35785</link>
		<dc:creator>Jack van Hoof</dc:creator>
		<pubDate>Tue, 28 Oct 2008 21:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35785</guid>
		<description>This article might be of interest:

http://soa-eda.blogspot.com/2006/11/how-eda-extends-soa-and-why-it-is.html</description>
		<content:encoded><![CDATA[<p>This article might be of interest:</p>
<p><a href="http://soa-eda.blogspot.com/2006/11/how-eda-extends-soa-and-why-it-is.html" rel="nofollow">http://soa-eda.blogspot.com/2006/11/how-eda-extends-soa-and-why-it-is.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Libor</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35783</link>
		<dc:creator>Libor</dc:creator>
		<pubDate>Tue, 28 Oct 2008 07:19:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35783</guid>
		<description>Maybe additional interesting question is what integration approach you would use if you need integrate more business services down to the stream line especially if some of those actions are &quot;loosely&quot; defined in request/response communication style. 

Imagine case where Sales let client order varies items. Upon order request confirmation is order data passes to Billing which creates invoice and returns it back to Sales. Billing also passes request to Shipping for packaging items. Sales collect all documents from Billing and Shipping and passes them on client -&gt; either all was confirmed or order was reject for some reason (i.e. out of stock items, user broke  credit line, etc.).

Main question is: Would you still use pub/sub in all those communications? If not why and when you would use it then.</description>
		<content:encoded><![CDATA[<p>Maybe additional interesting question is what integration approach you would use if you need integrate more business services down to the stream line especially if some of those actions are &#8220;loosely&#8221; defined in request/response communication style. </p>
<p>Imagine case where Sales let client order varies items. Upon order request confirmation is order data passes to Billing which creates invoice and returns it back to Sales. Billing also passes request to Shipping for packaging items. Sales collect all documents from Billing and Shipping and passes them on client -&gt; either all was confirmed or order was reject for some reason (i.e. out of stock items, user broke  credit line, etc.).</p>
<p>Main question is: Would you still use pub/sub in all those communications? If not why and when you would use it then.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Libor</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35782</link>
		<dc:creator>Libor</dc:creator>
		<pubDate>Tue, 28 Oct 2008 00:21:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35782</guid>
		<description>All depends on business needs I guess.

If I would get assignment as described above I would probably think first about replacing synchronous calls with async. once. MSQM/REST or similar helps nicely here.

Additionally I would think Merchandising and Sales need to &quot;know each other&quot;. What you will do if subscriber (i.e. Sales) misses some price update sent from publisher due its own downtime (this under assumption that price is published only when changed and not periodically even if not changed)? For this reason I would say there has to be some way Sales will ask Merchandising to ask for &quot;snapshot&quot; on possibly missed data or get up-to-date price data. And here we have basically request/response pattern. MSMQ/Rest would help again.   

Yes I need explicit configuration for both services to talk to each other. If I&#039;m on enterprise system I would not see any problem with it.

From article there is nothing which indicates you are planning to use published prices in another service.

Planning for use same data on multiple services seems to be a good reason for pub/sub. But if I originally use MSMQ for solution (i.e. async mode delivery) to connect &quot;M&quot; &amp; &quot;S&quot; services and now I have additional services which needs price notification I can just simply use &quot;Distribution list&quot; feature here (http://msdn.microsoft.com/en-us/library/ms704262(VS.85).aspx). And again I have to admit that explicit destination setup is needed. But is it really problem especially in case of enterprise solution if basically know all subscribers? BTW need for request/response pattern on snapshot remains still here.</description>
		<content:encoded><![CDATA[<p>All depends on business needs I guess.</p>
<p>If I would get assignment as described above I would probably think first about replacing synchronous calls with async. once. MSQM/REST or similar helps nicely here.</p>
<p>Additionally I would think Merchandising and Sales need to &#8220;know each other&#8221;. What you will do if subscriber (i.e. Sales) misses some price update sent from publisher due its own downtime (this under assumption that price is published only when changed and not periodically even if not changed)? For this reason I would say there has to be some way Sales will ask Merchandising to ask for &#8220;snapshot&#8221; on possibly missed data or get up-to-date price data. And here we have basically request/response pattern. MSMQ/Rest would help again.   </p>
<p>Yes I need explicit configuration for both services to talk to each other. If I&#8217;m on enterprise system I would not see any problem with it.</p>
<p>From article there is nothing which indicates you are planning to use published prices in another service.</p>
<p>Planning for use same data on multiple services seems to be a good reason for pub/sub. But if I originally use MSMQ for solution (i.e. async mode delivery) to connect &#8220;M&#8221; &amp; &#8220;S&#8221; services and now I have additional services which needs price notification I can just simply use &#8220;Distribution list&#8221; feature here (<a href="http://msdn.microsoft.com/en-us/library/ms704262(VS.85).aspx)" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms704262(VS.85).aspx)</a>. And again I have to admit that explicit destination setup is needed. But is it really problem especially in case of enterprise solution if basically know all subscribers? BTW need for request/response pattern on snapshot remains still here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: udidahan</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35781</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Mon, 27 Oct 2008 17:29:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35781</guid>
		<description>You&#039;re correct in saying that a one-way messaging, fire-and-forget call from Merchandising to Sales would not cause it to block.

On the other hand, how would Merchandising know that Sales needs its price information? This logical coupling is what pub/sub avoids, on top of the physical coupling that one-way messaging avoids.

Should an additional service want pricing and/or product information, it could just subscribe to those events, without requiring any changes to Merchandising.

Does that make things clearer?</description>
		<content:encoded><![CDATA[<p>You&#8217;re correct in saying that a one-way messaging, fire-and-forget call from Merchandising to Sales would not cause it to block.</p>
<p>On the other hand, how would Merchandising know that Sales needs its price information? This logical coupling is what pub/sub avoids, on top of the physical coupling that one-way messaging avoids.</p>
<p>Should an additional service want pricing and/or product information, it could just subscribe to those events, without requiring any changes to Merchandising.</p>
<p>Does that make things clearer?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Libor</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35780</link>
		<dc:creator>Libor</dc:creator>
		<pubDate>Sun, 26 Oct 2008 23:18:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35780</guid>
		<description>Udi,
thanks for clarification but I&#039;m still not clear about this. 

What is major benefit of pub/sub here compare for example with plain message queuing (e.g. MSMQ with persistence which addresses disconnected states quite well)?
 

Additionally I don&#039;t think asynchronous call automatically means RPC (i.e. I assume RPC is defined as blocking operation on caller side). I can send (as Merchandising via async. call) given price notification as easily as you do with pub/sub and don&#039;t need to block itself on response.</description>
		<content:encoded><![CDATA[<p>Udi,<br />
thanks for clarification but I&#8217;m still not clear about this. </p>
<p>What is major benefit of pub/sub here compare for example with plain message queuing (e.g. MSMQ with persistence which addresses disconnected states quite well)?</p>
<p>Additionally I don&#8217;t think asynchronous call automatically means RPC (i.e. I assume RPC is defined as blocking operation on caller side). I can send (as Merchandising via async. call) given price notification as easily as you do with pub/sub and don&#8217;t need to block itself on response.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: udidahan</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35778</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Sun, 26 Oct 2008 21:27:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35778</guid>
		<description>I see what you&#039;re saying. It is possible to avoid the blocking nature of RPC by switching it with full-duplex communications.

That still has the unfortunate effect that the end-to-end time it takes to process a call is dependent on the speed of who you&#039;re talking to. Pub/sub eliminates that as well.

But thanks for helping me focus on the actual benefit pub/sub brings over RPC and asynchronous calls.</description>
		<content:encoded><![CDATA[<p>I see what you&#8217;re saying. It is possible to avoid the blocking nature of RPC by switching it with full-duplex communications.</p>
<p>That still has the unfortunate effect that the end-to-end time it takes to process a call is dependent on the speed of who you&#8217;re talking to. Pub/sub eliminates that as well.</p>
<p>But thanks for helping me focus on the actual benefit pub/sub brings over RPC and asynchronous calls.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Libor</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35776</link>
		<dc:creator>Libor</dc:creator>
		<pubDate>Fri, 24 Oct 2008 22:23:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35776</guid>
		<description>Udi,
I meant this generally.

For example in first paragraph under section &quot;Pub/Sub Considered Helpful&quot; I might replace &quot;pub/sub&quot; with &quot;asynchronous call&quot;, &quot;published&quot; with &quot;send&quot; and &quot;publisher/subscriber&quot; with &quot;provider/consumer&quot;. Sentence with change remains still true.</description>
		<content:encoded><![CDATA[<p>Udi,<br />
I meant this generally.</p>
<p>For example in first paragraph under section &#8220;Pub/Sub Considered Helpful&#8221; I might replace &#8220;pub/sub&#8221; with &#8220;asynchronous call&#8221;, &#8220;published&#8221; with &#8220;send&#8221; and &#8220;publisher/subscriber&#8221; with &#8220;provider/consumer&#8221;. Sentence with change remains still true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: udidahan</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35774</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Thu, 23 Oct 2008 22:45:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35774</guid>
		<description>Libor,

Are you referring to how Sales gets pricing information from Merchandising?</description>
		<content:encoded><![CDATA[<p>Libor,</p>
<p>Are you referring to how Sales gets pricing information from Merchandising?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Libor</title>
		<link>http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/comment-page-1/#comment-35773</link>
		<dc:creator>Libor</dc:creator>
		<pubDate>Thu, 23 Oct 2008 14:15:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.udidahan.com/2008/10/22/additional-logic-required-for-service-autonomy/#comment-35773</guid>
		<description>Udi,
why you need pub/sub for this? Can&#039;t asynchronous communication will be sufficient?

Regards,
Libor</description>
		<content:encoded><![CDATA[<p>Udi,<br />
why you need pub/sub for this? Can&#8217;t asynchronous communication will be sufficient?</p>
<p>Regards,<br />
Libor</p>
]]></content:encoded>
	</item>
</channel>
</rss>

