<?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: Can Indigo be my bus?</title>
	<atom:link href="http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/</link>
	<description>Enterprise Development Expert &#38; SOA Specialist</description>
	<lastBuildDate>Thu, 11 Mar 2010 11:59:32 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: &#187; Testing services the hard way with WCF</title>
		<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/comment-page-1/#comment-1768</link>
		<dc:creator>&#187; Testing services the hard way with WCF</dc:creator>
		<pubDate>Thu, 17 May 2007 11:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/288#comment-1768</guid>
		<description>[...] using this message-based design, your service implementations tend to look like [...]</description>
		<content:encoded><![CDATA[<p>[...] using this message-based design, your service implementations tend to look like [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Service-Enabled Workflows with WF and WCF</title>
		<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/comment-page-1/#comment-1698</link>
		<dc:creator>&#187; Service-Enabled Workflows with WF and WCF</dc:creator>
		<pubDate>Sat, 12 May 2007 15:05:10 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/288#comment-1698</guid>
		<description>[...] I’ve looked over the example Guy put up in his blog on how to interact with external services from a workflow, and tried it out using asynchronous APIs with WCF. This is done quite simply by having our service accept an object as a parameter that it can call methods on (which has availability issues, but whatever). The object that we pass in is quite simply a reference to our own service. Anyway, I haven’t been able to get the SendActivity in WF to work with it. Bummer. I guess I’m &#8220;stuck&#8221; doing things the &#8220;old fashioned&#8221; way. [...]</description>
		<content:encoded><![CDATA[<p>[...] I’ve looked over the example Guy put up in his blog on how to interact with external services from a workflow, and tried it out using asynchronous APIs with WCF. This is done quite simply by having our service accept an object as a parameter that it can call methods on (which has availability issues, but whatever). The object that we pass in is quite simply a reference to our own service. Anyway, I haven’t been able to get the SendActivity in WF to work with it. Bummer. I guess I’m &#8220;stuck&#8221; doing things the &#8220;old fashioned&#8221; way. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Multi-core CPU utilization with the Bus API</title>
		<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/comment-page-1/#comment-1687</link>
		<dc:creator>&#187; Multi-core CPU utilization with the Bus API</dc:creator>
		<pubDate>Fri, 11 May 2007 22:59:53 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/288#comment-1687</guid>
		<description>[...] I base my designs around the Bus API, all my logic is both thread and process neutral. The implementation of the bus could be such that [...]</description>
		<content:encoded><![CDATA[<p>[...] I base my designs around the Bus API, all my logic is both thread and process neutral. The implementation of the bus could be such that [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Udi Dahan - The Software Simplist</title>
		<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/comment-page-1/#comment-324</link>
		<dc:creator>Udi Dahan - The Software Simplist</dc:creator>
		<pubDate>Sat, 03 Jun 2006 03:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/288#comment-324</guid>
		<description>John,

One kind of message flow I often use between a client and an autonomous service would be similar to this (if we assum reliable messaging):

client: SubmitNewOrderMessage
service: saves orer details, kicks off long running workflow, and sends back the SubmitNewOrderMessage with a bit of metadata, OrderReceived. As the workflow progresses, more messages are sent.

In the example you give about warehouses, I definitely don&#039;t see each warehouse as a service. The autonomous service may be your OrderFulfillmentService. Internally, it could communicate with all the different warehouses, find out which is the best candidate for fulfillment according to some complex rules, and eventually passing on the message to that warehouse. There are so many ways to handle communications within a service that spans multiple machines and domains, a bus might not be best suited. But, the boundary is important here - that&#039;s how you know where the bus goes.
</description>
		<content:encoded><![CDATA[<p>John,</p>
<p>One kind of message flow I often use between a client and an autonomous service would be similar to this (if we assum reliable messaging):</p>
<p>client: SubmitNewOrderMessage<br />
service: saves orer details, kicks off long running workflow, and sends back the SubmitNewOrderMessage with a bit of metadata, OrderReceived. As the workflow progresses, more messages are sent.</p>
<p>In the example you give about warehouses, I definitely don&#8217;t see each warehouse as a service. The autonomous service may be your OrderFulfillmentService. Internally, it could communicate with all the different warehouses, find out which is the best candidate for fulfillment according to some complex rules, and eventually passing on the message to that warehouse. There are so many ways to handle communications within a service that spans multiple machines and domains, a bus might not be best suited. But, the boundary is important here &#8211; that&#8217;s how you know where the bus goes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Wood</title>
		<link>http://www.udidahan.com/2006/06/02/can-indigo-be-my-bus/comment-page-1/#comment-323</link>
		<dc:creator>John Wood</dc:creator>
		<pubDate>Sat, 03 Jun 2006 00:57:37 +0000</pubDate>
		<guid isPermaLink="false">http://wp_630.weblogs.us/archives/288#comment-323</guid>
		<description>I do agree that Indigo is, like most Microsoft technologies, a bit too general purpose and makes many simple operations a whole lot more complex as a result.

I have a few questions about some points you make though.

Firstly, would you mind furnishing us with a concrete example of your message flow pattern, in a realworld application. An order system for example.

&gt;&gt; An autonomous service &quot;published&quot; that schema &lt;&lt;
I&#039;m not sure I agree with that statement. Many of my services *share* schema. If I have an order form that sends an order message, there could be many different services that handle that message - different warehouses for example. I would probably have an order router service that makes that determination based on the content of the order, but the schema of the order is probably the same going into the order router as it would be going into any of the other order handling services. I personally do wire up the destination of the messages in config, but it&#039;s still explicit for every message sender.</description>
		<content:encoded><![CDATA[<p>I do agree that Indigo is, like most Microsoft technologies, a bit too general purpose and makes many simple operations a whole lot more complex as a result.</p>
<p>I have a few questions about some points you make though.</p>
<p>Firstly, would you mind furnishing us with a concrete example of your message flow pattern, in a realworld application. An order system for example.</p>
<p>&gt;&gt; An autonomous service &#8220;published&#8221; that schema &lt;&lt;<br />
I&#8217;m not sure I agree with that statement. Many of my services *share* schema. If I have an order form that sends an order message, there could be many different services that handle that message &#8211; different warehouses for example. I would probably have an order router service that makes that determination based on the content of the order, but the schema of the order is probably the same going into the order router as it would be going into any of the other order handling services. I personally do wire up the destination of the messages in config, but it&#8217;s still explicit for every message sender.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
