<?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: Saga implementation patterns &#8211; Controller</title>
	<atom:link href="http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Fri, 17 May 2013 09:02:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Scott Banwart&#039;s Blog &#8250; Distributed Weekly 199</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5689</link>
		<dc:creator>Scott Banwart&#039;s Blog &#8250; Distributed Weekly 199</dc:creator>
		<pubDate>Fri, 22 Mar 2013 09:00:18 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5689</guid>
		<description>[...] Saga implementation patterns – Controller [...]</description>
		<content:encoded><![CDATA[<p>[...] Saga implementation patterns – Controller [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saga implementation patterns &#8211; variations &#124; Jimmy Bogard&#039;s Blog</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5681</link>
		<dc:creator>Saga implementation patterns &#8211; variations &#124; Jimmy Bogard&#039;s Blog</dc:creator>
		<pubDate>Thu, 21 Mar 2013 02:13:38 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5681</guid>
		<description>[...] Command-oriented (request/response) in the Controller pattern [...]</description>
		<content:encoded><![CDATA[<p>[...] Command-oriented (request/response) in the Controller pattern [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5672</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Mon, 18 Mar 2013 16:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5672</guid>
		<description>Gotcha. That makes a lot of sense Jimmy. Cheers</description>
		<content:encoded><![CDATA[<p>Gotcha. That makes a lot of sense Jimmy. Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbogard</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5671</link>
		<dc:creator>jbogard</dc:creator>
		<pubDate>Mon, 18 Mar 2013 16:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5671</guid>
		<description>This is the model I prefer for coordinating workflows inside a bounded context. Makes things much more explicit and obvious.</description>
		<content:encoded><![CDATA[<p>This is the model I prefer for coordinating workflows inside a bounded context. Makes things much more explicit and obvious.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5670</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Mon, 18 Mar 2013 15:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5670</guid>
		<description>I was meaning a business workflow, as in a use case of the system which spans multiple services.


I read the article again and can see what you mean now. I wasn&#039;t used to seeing sagas used like this when - Udi and others always seem to be talking about pub/sub. I&#039;m sure this has its place though.</description>
		<content:encoded><![CDATA[<p>I was meaning a business workflow, as in a use case of the system which spans multiple services.</p>
<p>I read the article again and can see what you mean now. I wasn&#8217;t used to seeing sagas used like this when &#8211; Udi and others always seem to be talking about pub/sub. I&#8217;m sure this has its place though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbogard</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5669</link>
		<dc:creator>jbogard</dc:creator>
		<pubDate>Mon, 18 Mar 2013 14:38:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5669</guid>
		<description>I&#039;m not sure what the difference is - you could implement a workflow inside an NServiceBus saga. A saga could live inside each one, yes. But I might still have something orchestrating the whole affair.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure what the difference is &#8211; you could implement a workflow inside an NServiceBus saga. A saga could live inside each one, yes. But I might still have something orchestrating the whole affair.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5668</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Mon, 18 Mar 2013 09:44:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5668</guid>
		<description>Is that really a saga? It looks more like a workflow because it touches multiples services (payments, shipping, fraud). From what I know, which is not a lot tbf, a saga would live inside one of those.


If actions need to occur in a certain order, then a message is put back on the queue until it can be processed - i.e. the other actions have completed and left the system in the required state.


Genuine questions.</description>
		<content:encoded><![CDATA[<p>Is that really a saga? It looks more like a workflow because it touches multiples services (payments, shipping, fraud). From what I know, which is not a lot tbf, a saga would live inside one of those.</p>
<p>If actions need to occur in a certain order, then a message is put back on the queue until it can be processed &#8211; i.e. the other actions have completed and left the system in the required state.</p>
<p>Genuine questions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbogard</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5665</link>
		<dc:creator>jbogard</dc:creator>
		<pubDate>Fri, 15 Mar 2013 22:29:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5665</guid>
		<description>You&#039;re right - there are a few different ways to model this.


I might have the saga send a bunch of commands and wait for replies, or I could have the saga publish a message and wait for events on the other side.


But it&#039;s not impossible for a saga to observe a process it doesn&#039;t initiate. Imagine our grillers. They don&#039;t initiate a saga, but there&#039;s a clear interaction between the grilling and building of a sandwich, usually by two different people. It&#039;s the interaction between the two that signifies a &quot;done&quot; sandwich.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right &#8211; there are a few different ways to model this.</p>
<p>I might have the saga send a bunch of commands and wait for replies, or I could have the saga publish a message and wait for events on the other side.</p>
<p>But it&#8217;s not impossible for a saga to observe a process it doesn&#8217;t initiate. Imagine our grillers. They don&#8217;t initiate a saga, but there&#8217;s a clear interaction between the grilling and building of a sandwich, usually by two different people. It&#8217;s the interaction between the two that signifies a &#8220;done&#8221; sandwich.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbogard</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5664</link>
		<dc:creator>jbogard</dc:creator>
		<pubDate>Fri, 15 Mar 2013 18:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5664</guid>
		<description>It could be, but it&#039;s really the subsequent messages that make it a controller/observer.


In our McDonald&#039;s example, we could have the initial &quot;PlaceOrder&quot; command begin the saga, or the &quot;OrderAccepted&quot; event do it instead. Either way, the lifecycle is either dictated by requests/responses or an events all around.</description>
		<content:encoded><![CDATA[<p>It could be, but it&#8217;s really the subsequent messages that make it a controller/observer.</p>
<p>In our McDonald&#8217;s example, we could have the initial &#8220;PlaceOrder&#8221; command begin the saga, or the &#8220;OrderAccepted&#8221; event do it instead. Either way, the lifecycle is either dictated by requests/responses or an events all around.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phil Cleveland</title>
		<link>http://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/#comment-5663</link>
		<dc:creator>Phil Cleveland</dc:creator>
		<pubDate>Fri, 15 Mar 2013 17:03:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/jimmybogard/?p=747#comment-5663</guid>
		<description>How is the Saga initiated?  Is the Saga itself a Command Handler?  Or is there some abstraction (e.g. SagaManager), which is a Command Handler signed up to the command bus?  Or am I missing some piece completely?  Thanks</description>
		<content:encoded><![CDATA[<p>How is the Saga initiated?  Is the Saga itself a Command Handler?  Or is there some abstraction (e.g. SagaManager), which is a Command Handler signed up to the command bus?  Or am I missing some piece completely?  Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>
