<?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: Hypertext is the Transaction Engine</title>
	<atom:link href="http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/feed" rel="self" type="application/rss+xml" />
	<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 18:56:31 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Bill Burke</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-50379</link>
		<dc:creator>Bill Burke</dc:creator>
		<pubDate>Fri, 15 Jan 2010 00:39:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-50379</guid>
		<description>Subbu - You&#039;ve used some of these &quot;classical&quot; distributed technologies to build some of these facades.  You&#039;re happy with how they work and used?  I&#039;m not...  I think REST really has the potential to shine in this space.</description>
		<content:encoded><![CDATA[<p>Subbu &#8211; You&#8217;ve used some of these &#8220;classical&#8221; distributed technologies to build some of these facades.  You&#8217;re happy with how they work and used?  I&#8217;m not&#8230;  I think REST really has the potential to shine in this space.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: subbu</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-50273</link>
		<dc:creator>subbu</dc:creator>
		<pubDate>Wed, 13 Jan 2010 18:21:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-50273</guid>
		<description>Bill - for cases that involve coordination between several servers, I think it is better to designate some resource one of those servers (or a new one) act as a facade between those other servers. Then that resource is free to use an appropriate technology to coordinate the unit of work (the technology may be classical 2PC or some sophisticated engine). That way you get the best of both worlds - clients and servers use HTTP for what it is good for and the facade and the rest of the servers use whatever transaction/coordination engine.

By the way, use of one-time tokens/URIs is a one of the fundamental and recurring patterns that I used to the book. Once we accept the notion that one resource can have several URIs, and that those URIs may be ephemeral opens up lots of new avenues open up. This idea is not new - it is very commonly used for security (hint: nonce).</description>
		<content:encoded><![CDATA[<p>Bill &#8211; for cases that involve coordination between several servers, I think it is better to designate some resource one of those servers (or a new one) act as a facade between those other servers. Then that resource is free to use an appropriate technology to coordinate the unit of work (the technology may be classical 2PC or some sophisticated engine). That way you get the best of both worlds &#8211; clients and servers use HTTP for what it is good for and the facade and the rest of the servers use whatever transaction/coordination engine.</p>
<p>By the way, use of one-time tokens/URIs is a one of the fundamental and recurring patterns that I used to the book. Once we accept the notion that one resource can have several URIs, and that those URIs may be ephemeral opens up lots of new avenues open up. This idea is not new &#8211; it is very commonly used for security (hint: nonce).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Burke</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-50251</link>
		<dc:creator>Bill Burke</dc:creator>
		<pubDate>Wed, 13 Jan 2010 13:51:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-50251</guid>
		<description>Subbu, when you have one client dealing with one service, I believe you can hide the fact that a transaction is occurring (whether this be an acid or compensating tx isn&#039;t important, IMO).  On the other hand, if a client is coordinating work between different services, the client has to be aware that coordination is happening especially if the client is coordinating totally disparate, isolated, standalone services/resources.  Think of a client integrating between a Purchase Order, Inventory, and Billing system.  All standalone and unaware of one another.

Coordination itself can become non-trivial especially when you factor in long running (days, weeks) interactions, crashes, and recovery.  They become even more complicated when you have to guarantee that certain interactions will happen.  This is why I believe there is a place for generic middleware services that handle coordination in the RESTful world.  (And why REST-* was created by us (rest-star.org)).  BTW, I outlined my ideas and directions here:

http://bill.burkecentral.com/2009/09/21/credit-cards-transactions-and-rest/    

I think links and other RESTful properties can hide a lot of the implementation details and give a lot of flexibility to both the application developer and generic service providers (like a TM or workflowmanager).  For example, Mike Amundsen introduced me to the token idea for a problem I had with acknowledgement within REST-* messaging.  It worked beautifully to hide implementation details and make the overall service much simpler.

BTW, we need more engineers like you and Mike rather than the priests and acolytes that permeate the REST community.  I&#039;m really looking forward to your book.</description>
		<content:encoded><![CDATA[<p>Subbu, when you have one client dealing with one service, I believe you can hide the fact that a transaction is occurring (whether this be an acid or compensating tx isn&#8217;t important, IMO).  On the other hand, if a client is coordinating work between different services, the client has to be aware that coordination is happening especially if the client is coordinating totally disparate, isolated, standalone services/resources.  Think of a client integrating between a Purchase Order, Inventory, and Billing system.  All standalone and unaware of one another.</p>
<p>Coordination itself can become non-trivial especially when you factor in long running (days, weeks) interactions, crashes, and recovery.  They become even more complicated when you have to guarantee that certain interactions will happen.  This is why I believe there is a place for generic middleware services that handle coordination in the RESTful world.  (And why REST-* was created by us (rest-star.org)).  BTW, I outlined my ideas and directions here:</p>
<p><a href="http://bill.burkecentral.com/2009/09/21/credit-cards-transactions-and-rest/" rel="nofollow">http://bill.burkecentral.com/2009/09/21/credit-cards-transactions-and-rest/</a>    </p>
<p>I think links and other RESTful properties can hide a lot of the implementation details and give a lot of flexibility to both the application developer and generic service providers (like a TM or workflowmanager).  For example, Mike Amundsen introduced me to the token idea for a problem I had with acknowledgement within REST-* messaging.  It worked beautifully to hide implementation details and make the overall service much simpler.</p>
<p>BTW, we need more engineers like you and Mike rather than the priests and acolytes that permeate the REST community.  I&#8217;m really looking forward to your book.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Williams - What are links</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49724</link>
		<dc:creator>Peter Williams - What are links</dc:creator>
		<pubDate>Thu, 07 Jan 2010 05:56:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49724</guid>
		<description>[...] To make the issues a bit clearer let me use and example lifted from the article that got me thinking about this most recently.1 [...]</description>
		<content:encoded><![CDATA[<p>[...] To make the issues a bit clearer let me use and example lifted from the article that got me thinking about this most recently.1 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: subbu</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49670</link>
		<dc:creator>subbu</dc:creator>
		<pubDate>Wed, 06 Jan 2010 16:40:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49670</guid>
		<description>Thanks for pointing out to your post.</description>
		<content:encoded><![CDATA[<p>Thanks for pointing out to your post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Silveira</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49655</link>
		<dc:creator>Guilherme Silveira</dc:creator>
		<pubDate>Wed, 06 Jan 2010 12:49:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49655</guid>
		<description>Hello Subbu!

Nice (and short) description! I believe it goes along with what I mentioned on &quot;transaction do not exist in a restful world&quot;.... its a matter of thinking about your semantics and hypermedia instead of abstract transactions concepts: http://guilhermesilveira.wordpress.com/2009/12/17/transactions-do-not-exist-in-a-restfulie-world

Nice post...

Guilherme</description>
		<content:encoded><![CDATA[<p>Hello Subbu!</p>
<p>Nice (and short) description! I believe it goes along with what I mentioned on &#8220;transaction do not exist in a restful world&#8221;&#8230;. its a matter of thinking about your semantics and hypermedia instead of abstract transactions concepts: <a href="http://guilhermesilveira.wordpress.com/2009/12/17/transactions-do-not-exist-in-a-restfulie-world" rel="nofollow">http://guilhermesilveira.wordpress.com/2009/12/17/transactions-do-not-exist-in-a-restfulie-world</a></p>
<p>Nice post&#8230;</p>
<p>Guilherme</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Amundsen</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49639</link>
		<dc:creator>Mike Amundsen</dc:creator>
		<pubDate>Wed, 06 Jan 2010 08:29:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49639</guid>
		<description>&quot; Essentially the link represents the state of the transaction in an opaque manner, and may contain identifiers, security tokens and other validators.&quot;

no disagreement here as i&#039;ve used the same approach in my example.</description>
		<content:encoded><![CDATA[<p>&#8221; Essentially the link represents the state of the transaction in an opaque manner, and may contain identifiers, security tokens and other validators.&#8221;</p>
<p>no disagreement here as i&#8217;ve used the same approach in my example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: subbu</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49638</link>
		<dc:creator>subbu</dc:creator>
		<pubDate>Wed, 06 Jan 2010 08:16:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49638</guid>
		<description>The fact that there is a transaction is an implementation detail in itself. Essentially the link represents the state of the transaction in an opaque manner, and may contain identifiers, security tokens and other validators.</description>
		<content:encoded><![CDATA[<p>The fact that there is a transaction is an implementation detail in itself. Essentially the link represents the state of the transaction in an opaque manner, and may contain identifiers, security tokens and other validators.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Amundsen</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49635</link>
		<dc:creator>Mike Amundsen</dc:creator>
		<pubDate>Wed, 06 Jan 2010 08:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49635</guid>
		<description>i understand the clarification, now. 

so what data regarding transactions might you encode in a link that should not be leaked to the client?</description>
		<content:encoded><![CDATA[<p>i understand the clarification, now. </p>
<p>so what data regarding transactions might you encode in a link that should not be leaked to the client?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Subbu Allamaraju</title>
		<link>http://www.subbu.org/blog/2010/01/hypertext-is-the-transaction-engine/comment-page-1#comment-49634</link>
		<dc:creator>Subbu Allamaraju</dc:creator>
		<pubDate>Wed, 06 Jan 2010 07:42:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.subbu.org/?p=1095#comment-49634</guid>
		<description>Clarified the text.</description>
		<content:encoded><![CDATA[<p>Clarified the text.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

