<?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: No more workflow for nServiceBus &#8211; please welcome the Saga</title>
	<atom:link href="http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/</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: udidahan</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-37438</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Fri, 10 Sep 2010 13:42:59 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-37438</guid>
		<description>Maninder,

This comment format makes it a bit difficult to have a conversation, and others in the NServiceBus community would probably benefit from it as well. As such, I suggest we move this to the discussion group:

http://tech.groups.yahoo.com/group/nservicebus

Thanks.</description>
		<content:encoded><![CDATA[<p>Maninder,</p>
<p>This comment format makes it a bit difficult to have a conversation, and others in the NServiceBus community would probably benefit from it as well. As such, I suggest we move this to the discussion group:</p>
<p><a href="http://tech.groups.yahoo.com/group/nservicebus" rel="nofollow">http://tech.groups.yahoo.com/group/nservicebus</a></p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maninder Batth</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-37432</link>
		<dc:creator>Maninder Batth</dc:creator>
		<pubDate>Wed, 08 Sep 2010 18:14:32 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-37432</guid>
		<description>Udi,
Perhaps i was not able to put my question across in my last post.
I am confused how can repeatable read isolation level lead to a correct behavior in a saga under the scenario where the same saga is loaded across multiple machines? To my understanding, repeatable reads will produce same results within a single transaction. But across machines, with different transactions how can the saga ensure correct behavior?
One way to achieve this would be that saga subscribes to events across machines. Hence for example, if a particular saga is loaded in 2 different machines, then any events related to that saga would be multicast and consequently saga on different machines sync up their state.
Another implementation could be via optimistic concurrency. 
Hence,i am interested in your approach to tackle such issues?

Secondly, i think restricting saga to process steps that need to run sequential is bit restricting. Again if i understand saga correctly, it maintains process state in a long running transaction. If that definition is correct, then saga should be able to handle parallelism.</description>
		<content:encoded><![CDATA[<p>Udi,<br />
Perhaps i was not able to put my question across in my last post.<br />
I am confused how can repeatable read isolation level lead to a correct behavior in a saga under the scenario where the same saga is loaded across multiple machines? To my understanding, repeatable reads will produce same results within a single transaction. But across machines, with different transactions how can the saga ensure correct behavior?<br />
One way to achieve this would be that saga subscribes to events across machines. Hence for example, if a particular saga is loaded in 2 different machines, then any events related to that saga would be multicast and consequently saga on different machines sync up their state.<br />
Another implementation could be via optimistic concurrency.<br />
Hence,i am interested in your approach to tackle such issues?</p>
<p>Secondly, i think restricting saga to process steps that need to run sequential is bit restricting. Again if i understand saga correctly, it maintains process state in a long running transaction. If that definition is correct, then saga should be able to handle parallelism.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: udidahan</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-37429</link>
		<dc:creator>udidahan</dc:creator>
		<pubDate>Wed, 08 Sep 2010 11:56:55 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-37429</guid>
		<description>Maninder,

The transactional isolation level for saga endpoints can be set to whatever level you like - repeatable read is usually safe enough; read committed enables higher parallelism but may lead to incorrect behavior. 

Sagas aren&#039;t meant to be used for everything - they&#039;re primarily for the parts of processes that can&#039;t be parallelized. Standard message handlers are for the parts which can run fully in parallel. Sagas and handlers integrate with each other by sending messages to each other.</description>
		<content:encoded><![CDATA[<p>Maninder,</p>
<p>The transactional isolation level for saga endpoints can be set to whatever level you like &#8211; repeatable read is usually safe enough; read committed enables higher parallelism but may lead to incorrect behavior. </p>
<p>Sagas aren&#8217;t meant to be used for everything &#8211; they&#8217;re primarily for the parts of processes that can&#8217;t be parallelized. Standard message handlers are for the parts which can run fully in parallel. Sagas and handlers integrate with each other by sending messages to each other.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maninder Batth</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-37428</link>
		<dc:creator>Maninder Batth</dc:creator>
		<pubDate>Wed, 08 Sep 2010 00:37:01 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-37428</guid>
		<description>Udi,
I was wondering what are the techniques to ensure that saga produces correct result when the same saga could be loaded in multiple machines or processes and accessed concurrently? So far, optimistic locking seems to be the easiest way out. As i live in the java world, i was wondering what are the various techniques used in nservicebus? 
Also Is there a way in nservicebus&#039;s saga implementation to describe what activities can proceed in parallel vs a serial fashion and the locking model for those activities?</description>
		<content:encoded><![CDATA[<p>Udi,<br />
I was wondering what are the techniques to ensure that saga produces correct result when the same saga could be loaded in multiple machines or processes and accessed concurrently? So far, optimistic locking seems to be the easiest way out. As i live in the java world, i was wondering what are the various techniques used in nservicebus?<br />
Also Is there a way in nservicebus&#8217;s saga implementation to describe what activities can proceed in parallel vs a serial fashion and the locking model for those activities?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Workflows, service buses, sagas… - Vagif Abilov&#39;s blog on .NET</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-36374</link>
		<dc:creator>Workflows, service buses, sagas… - Vagif Abilov&#39;s blog on .NET</dc:creator>
		<pubDate>Wed, 08 Jul 2009 17:27:53 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-36374</guid>
		<description>[...] the system to use Workflow Foundation. Udi Dahan (a man behind NServiceBus) refers in his blog to Saga concept – a model to handle long-running transaction that was first described in 1987 in the article by [...]</description>
		<content:encoded><![CDATA[<p>[...] the system to use Workflow Foundation. Udi Dahan (a man behind NServiceBus) refers in his blog to Saga concept – a model to handle long-running transaction that was first described in 1987 in the article by [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Durable Messaging Is Not Enough</title>
		<link>http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/comment-page-1/#comment-13808</link>
		<dc:creator>Durable Messaging Is Not Enough</dc:creator>
		<pubDate>Wed, 09 Jan 2008 23:17:37 +0000</pubDate>
		<guid isPermaLink="false">http://udidahan.weblogs.us/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga/#comment-13808</guid>
		<description>[...] in general terms how it ties back into durable messaging and transaction - in essence describing a saga. Let&#8217;s do this in story [...]</description>
		<content:encoded><![CDATA[<p>[...] in general terms how it ties back into durable messaging and transaction &#8211; in essence describing a saga. Let&#8217;s do this in story [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

