<?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: The Power of Later</title>
	<atom:link href="http://www.soabloke.com/2009/05/05/the-power-of-later/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.soabloke.com/2009/05/05/the-power-of-later/</link>
	<description>pushing soa up the slope (with a pointy stick)</description>
	<lastBuildDate>Wed, 04 Aug 2010 15:33:11 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: The Year of Living Asynchronously &#124; soabloke</title>
		<link>http://www.soabloke.com/2009/05/05/the-power-of-later/comment-page-1/#comment-634</link>
		<dc:creator>The Year of Living Asynchronously &#124; soabloke</dc:creator>
		<pubDate>Mon, 11 Jan 2010 11:32:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.soabloke.com/2009/05/05/the-power-of-later/#comment-634</guid>
		<description>[...] transports tie us to a regimen of synchronous request-reply with timeouts which creates very tight couplings between provider and consumer. Even though one-way MEPs were an [...]</description>
		<content:encoded><![CDATA[<p>[...] transports tie us to a regimen of synchronous request-reply with timeouts which creates very tight couplings between provider and consumer. Even though one-way MEPs were an [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saul Caganoff</title>
		<link>http://www.soabloke.com/2009/05/05/the-power-of-later/comment-page-1/#comment-573</link>
		<dc:creator>Saul Caganoff</dc:creator>
		<pubDate>Thu, 07 May 2009 23:42:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.soabloke.com/2009/05/05/the-power-of-later/#comment-573</guid>
		<description>Hi Jon and thanks for the question:

In the bigger picture, this post asks the question &quot;when do I know my business process is dead&quot;? The points you raise are around &quot;what do I do when my process is dead&quot;? The key issue I wanted to raise is that many people prematurely kill their process using timeouts, when it may not be dead in the first place. 

Once you kill a process then, yes you need to clean up. Distributed transactions (a la two-phase commit) is one textbook option, but I have never seen it work in practice for anything resembling a &quot;business process&quot;. Compensation is the more common approach. 

This is good fodder for another post I think.</description>
		<content:encoded><![CDATA[<p>Hi Jon and thanks for the question:</p>
<p>In the bigger picture, this post asks the question &#8220;when do I know my business process is dead&#8221;? The points you raise are around &#8220;what do I do when my process is dead&#8221;? The key issue I wanted to raise is that many people prematurely kill their process using timeouts, when it may not be dead in the first place. </p>
<p>Once you kill a process then, yes you need to clean up. Distributed transactions (a la two-phase commit) is one textbook option, but I have never seen it work in practice for anything resembling a &#8220;business process&#8221;. Compensation is the more common approach. </p>
<p>This is good fodder for another post I think.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Williams</title>
		<link>http://www.soabloke.com/2009/05/05/the-power-of-later/comment-page-1/#comment-572</link>
		<dc:creator>Jon Williams</dc:creator>
		<pubDate>Thu, 07 May 2009 07:08:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.soabloke.com/2009/05/05/the-power-of-later/#comment-572</guid>
		<description>Hi Saul,

Any comments on a few other dimensions to this: namely transactions, retries and compensation.

End to End transactions are very rare, although you do see some point to point ones. This effectively makes retries completely redundant (although everyone still seems to put them in for some reason).

Compensation seems to be the dominant approach in the organisations I&#039;ve seen, although it&#039;s often poorly implemented - and often manual. Done well it can be quite effective, however.

Compensation can be better where a synchronous user-time response is absolutely mandatory. i.e. you can&#039;t respond to the user asynchronously, as per Option 4.

However, it&#039;s not necessarily the best for BPM. A compensating service effectively adds another scenario, which increases the complexity of the process. Generally speaking the process is better at determining what should/shouldn&#039;t be rolled back for a particular case...

Jon</description>
		<content:encoded><![CDATA[<p>Hi Saul,</p>
<p>Any comments on a few other dimensions to this: namely transactions, retries and compensation.</p>
<p>End to End transactions are very rare, although you do see some point to point ones. This effectively makes retries completely redundant (although everyone still seems to put them in for some reason).</p>
<p>Compensation seems to be the dominant approach in the organisations I&#8217;ve seen, although it&#8217;s often poorly implemented &#8211; and often manual. Done well it can be quite effective, however.</p>
<p>Compensation can be better where a synchronous user-time response is absolutely mandatory. i.e. you can&#8217;t respond to the user asynchronously, as per Option 4.</p>
<p>However, it&#8217;s not necessarily the best for BPM. A compensating service effectively adds another scenario, which increases the complexity of the process. Generally speaking the process is better at determining what should/shouldn&#8217;t be rolled back for a particular case&#8230;</p>
<p>Jon</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saul Caganoff</title>
		<link>http://www.soabloke.com/2009/05/05/the-power-of-later/comment-page-1/#comment-569</link>
		<dc:creator>Saul Caganoff</dc:creator>
		<pubDate>Wed, 06 May 2009 05:45:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.soabloke.com/2009/05/05/the-power-of-later/#comment-569</guid>
		<description>Self-comment: apropos this topic is slide 18 out of Evan Weaver&#039;s QCon presentation &quot;&lt;a href=&quot;http://blog.evanweaver.com/articles/2009/03/13/qcon-presentation/&quot; rel=&quot;nofollow&quot;&gt;Improving Running Components at Twitter&lt;/a&gt;&quot;:

&quot;Message Queue purpose in a webapp: Move operations out of the synchronous request cycle. Amortize load over time&quot;</description>
		<content:encoded><![CDATA[<p>Self-comment: apropos this topic is slide 18 out of Evan Weaver&#8217;s QCon presentation &#8220;<a href="http://blog.evanweaver.com/articles/2009/03/13/qcon-presentation/" rel="nofollow">Improving Running Components at Twitter</a>&#8220;:</p>
<p>&#8220;Message Queue purpose in a webapp: Move operations out of the synchronous request cycle. Amortize load over time&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
