<?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: Fence sitting arguments</title>
	<atom:link href="http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/</link>
	<description>Celebrating the power of the Web</description>
	<lastBuildDate>Fri, 26 Aug 2011 20:00:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Mark Baker</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-287</link>
		<dc:creator>Mark Baker</dc:creator>
		<pubDate>Wed, 26 Sep 2007 16:32:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-287</guid>
		<description>Eric, I&#039;ve never argued that everything should be based on HTTP.  Also, when I argue that REST is superior for enterprise environments - and I&#039;m sure I&#039;ve said this to you several times - I am not arguing that existing systems be rewritten, only that they be wrapped with a RESTful Facade (not necessarily with HTTP even!).</description>
		<content:encoded><![CDATA[<p>Eric, I&#8217;ve never argued that everything should be based on HTTP.  Also, when I argue that REST is superior for enterprise environments &#8211; and I&#8217;m sure I&#8217;ve said this to you several times &#8211; I am not arguing that existing systems be rewritten, only that they be wrapped with a RESTful Facade (not necessarily with HTTP even!).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Newcmer</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-286</link>
		<dc:creator>Eric Newcmer</dc:creator>
		<pubDate>Wed, 26 Sep 2007 16:07:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-286</guid>
		<description>Geez will this never end!

It&#039;s absolutely true you can do everything using HTTP that you can do with other approaches, and vice versa.

What ends up creating these (in my view) unproductive discussions are the background assumptions.

RESTafarians assume everything is HTTP, or can be, if everyone would just agree.

Existing enterprise IT environments are not based on HTTP and do not follow the constraints of REST.

This is the real issue, and it won&#039;t go away simply by suggesting that everyone wake up and use HTTP for everything, since it&#039;s possible.

Web services, like them or not, were designed in large part for compatbility with existing systems.

One of the more interesting aspects of Web services is their &quot;multi-protocol&quot; capability but this is where the disconnect with the HTTP world also happens.

If you assume &quot;everything is or can be HTTP&quot; you get one set of arguments.  If you assume &quot;everything will be multi-protocol for the forseeable future&quot; you get another set of arguments, and as they say never the twain shall meet (whatever that means ;-)</description>
		<content:encoded><![CDATA[<p>Geez will this never end!</p>
<p>It&#8217;s absolutely true you can do everything using HTTP that you can do with other approaches, and vice versa.</p>
<p>What ends up creating these (in my view) unproductive discussions are the background assumptions.</p>
<p>RESTafarians assume everything is HTTP, or can be, if everyone would just agree.</p>
<p>Existing enterprise IT environments are not based on HTTP and do not follow the constraints of REST.</p>
<p>This is the real issue, and it won&#8217;t go away simply by suggesting that everyone wake up and use HTTP for everything, since it&#8217;s possible.</p>
<p>Web services, like them or not, were designed in large part for compatbility with existing systems.</p>
<p>One of the more interesting aspects of Web services is their &#8220;multi-protocol&#8221; capability but this is where the disconnect with the HTTP world also happens.</p>
<p>If you assume &#8220;everything is or can be HTTP&#8221; you get one set of arguments.  If you assume &#8220;everything will be multi-protocol for the forseeable future&#8221; you get another set of arguments, and as they say never the twain shall meet (whatever that means ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Baker</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-276</link>
		<dc:creator>Mark Baker</dc:creator>
		<pubDate>Wed, 26 Sep 2007 01:33:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-276</guid>
		<description>&quot;this is all done in Web Services already. We’ve got that agreement&quot;

Hang on a sec.  The agreement I was talking about was agreement on the data.  Outside of HTML - which I&#039;m happy to ignore for this discussion - I don&#039;t think either REST nor SOA have any answer to the data problem, except, as Benjamin notes, in the context of &quot;thousands of *ML&quot; organizations.

The agreement that Web services do provide, using my 4-point model above, is #1 and #2.  Agreed?</description>
		<content:encoded><![CDATA[<p>&#8220;this is all done in Web Services already. We’ve got that agreement&#8221;</p>
<p>Hang on a sec.  The agreement I was talking about was agreement on the data.  Outside of HTML &#8211; which I&#8217;m happy to ignore for this discussion &#8211; I don&#8217;t think either REST nor SOA have any answer to the data problem, except, as Benjamin notes, in the context of &#8220;thousands of *ML&#8221; organizations.</p>
<p>The agreement that Web services do provide, using my 4-point model above, is #1 and #2.  Agreed?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Benjamin Carlyle</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-285</link>
		<dc:creator>Benjamin Carlyle</dc:creator>
		<pubDate>Tue, 25 Sep 2007 21:18:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-285</guid>
		<description>&quot;REST enables intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.&quot; -- Fielding, 2000

REST without standard content types is not REST, just a step along the road to REST. The political process of defining these content types remains a vitally important hard problem, and no single standards body appears set up to solve the world&#039;s problems on this. On the other hand, there are thousands of *ML standards and mini-organisations in use around the world. A lack of central oversight certainly results in uneven quality, and that is something to be concerned about. Document-oriented SOA has the same problem in defining content types, but theoretically gains for one (Doc-SOA) are also gains for the other (REST).

In order to communicate, you have to agree. That&#039;s fundamental. REST is a better model than the null architectural style to achieve that agreement, and it is good to see many SOA advocates quietly absorbing REST principles one at a time.

Benjamin</description>
		<content:encoded><![CDATA[<p>&#8220;REST enables intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.&#8221; &#8212; Fielding, 2000</p>
<p>REST without standard content types is not REST, just a step along the road to REST. The political process of defining these content types remains a vitally important hard problem, and no single standards body appears set up to solve the world&#8217;s problems on this. On the other hand, there are thousands of *ML standards and mini-organisations in use around the world. A lack of central oversight certainly results in uneven quality, and that is something to be concerned about. Document-oriented SOA has the same problem in defining content types, but theoretically gains for one (Doc-SOA) are also gains for the other (REST).</p>
<p>In order to communicate, you have to agree. That&#8217;s fundamental. REST is a better model than the null architectural style to achieve that agreement, and it is good to see many SOA advocates quietly absorbing REST principles one at a time.</p>
<p>Benjamin</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Little</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-284</link>
		<dc:creator>Mark Little</dc:creator>
		<pubDate>Fri, 21 Sep 2007 13:38:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-284</guid>
		<description>&quot;But I claim that it’s just as critical to doing anything with SOA/WS. Do you disagree?&quot;

I agree and thought I&#039;d been saying so all along. That was my point though: this is all done in Web Services already. We&#039;ve got that agreement.

Are we arguing at cross purposes? Or are we violently agreeing ;-)?</description>
		<content:encoded><![CDATA[<p>&#8220;But I claim that it’s just as critical to doing anything with SOA/WS. Do you disagree?&#8221;</p>
<p>I agree and thought I&#8217;d been saying so all along. That was my point though: this is all done in Web Services already. We&#8217;ve got that agreement.</p>
<p>Are we arguing at cross purposes? Or are we violently agreeing ;-)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Baker</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-283</link>
		<dc:creator>Mark Baker</dc:creator>
		<pubDate>Fri, 21 Sep 2007 12:51:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-283</guid>
		<description>I hear you, I really do, but I&#039;m trying to have a conversation about the &quot;agreement on the data format/payload&quot;.

I agree with you 100% that it&#039;s critical to doing anything with REST.  But I claim that it&#039;s just as critical to doing anything with SOA/WS.  Do you disagree?  If not, then perhaps you can answer my question in my comment above.</description>
		<content:encoded><![CDATA[<p>I hear you, I really do, but I&#8217;m trying to have a conversation about the &#8220;agreement on the data format/payload&#8221;.</p>
<p>I agree with you 100% that it&#8217;s critical to doing anything with REST.  But I claim that it&#8217;s just as critical to doing anything with SOA/WS.  Do you disagree?  If not, then perhaps you can answer my question in my comment above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Little</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-282</link>
		<dc:creator>Mark Little</dc:creator>
		<pubDate>Fri, 21 Sep 2007 09:54:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-282</guid>
		<description>I think we are comparing apples-to-apples. If you check what I said on the subject (and have said so several times): this is not a technological problem, it&#039;s a political problem. I&#039;ve done transactions on REST before, back in 1999/2000. You and I first met as a direct result of that back then ;-)

My point, and one of the reasons I&#039;m sat on this crowded fence, is that the agreement on the data format/payload is critical to doing anything with REST that compares with the levels of interoperability we&#039;ve seen so far with WS-* between an arbitrary number of heterogeneous implementations.

So maybe to simplify this discussion: I don&#039;t disagree with you that this can be done (and never have). I disagree with you that it&#039;s easy to do, because it isn&#039;t due to political factors. Try it: I have been involved with standards (not just Web Services) since 1990 and can say with some confidence that it&#039;s darn hard to get people to agree to the levels we have managed with WS-*. I don&#039;t see that happening around REST.</description>
		<content:encoded><![CDATA[<p>I think we are comparing apples-to-apples. If you check what I said on the subject (and have said so several times): this is not a technological problem, it&#8217;s a political problem. I&#8217;ve done transactions on REST before, back in 1999/2000. You and I first met as a direct result of that back then ;-)</p>
<p>My point, and one of the reasons I&#8217;m sat on this crowded fence, is that the agreement on the data format/payload is critical to doing anything with REST that compares with the levels of interoperability we&#8217;ve seen so far with WS-* between an arbitrary number of heterogeneous implementations.</p>
<p>So maybe to simplify this discussion: I don&#8217;t disagree with you that this can be done (and never have). I disagree with you that it&#8217;s easy to do, because it isn&#8217;t due to political factors. Try it: I have been involved with standards (not just Web Services) since 1990 and can say with some confidence that it&#8217;s darn hard to get people to agree to the levels we have managed with WS-*. I don&#8217;t see that happening around REST.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Burke</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-281</link>
		<dc:creator>Bill Burke</dc:creator>
		<pubDate>Fri, 21 Sep 2007 03:43:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-281</guid>
		<description>Mark B, you&#039;ll always win on the 1, 3, and 4 argument.  Envelope definition is where REST falls over.  A distributed transaction requires a protocol and payload definition.  I don&#039;t believe you can always redefine away a DTX requirement.  MarkL is saying that if you have more than one service you are coordinating, cross-cutting  concerns like DTX need to be standardized or your coordinator has a huge integration mess.  Sure, that might mean big bucks for JBoss ESB, but sucks for the user.</description>
		<content:encoded><![CDATA[<p>Mark B, you&#8217;ll always win on the 1, 3, and 4 argument.  Envelope definition is where REST falls over.  A distributed transaction requires a protocol and payload definition.  I don&#8217;t believe you can always redefine away a DTX requirement.  MarkL is saying that if you have more than one service you are coordinating, cross-cutting  concerns like DTX need to be standardized or your coordinator has a huge integration mess.  Sure, that might mean big bucks for JBoss ESB, but sucks for the user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Baker</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-280</link>
		<dc:creator>Mark Baker</dc:creator>
		<pubDate>Thu, 20 Sep 2007 15:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-280</guid>
		<description>I believed I did address your data oriented concern, but perhaps you didn&#039;t recognize I was doing so 8-)

Ok, let&#039;s break it down.

In order for two independently developed and deployed applications to interoperate, they need to agree on standardized versions of the following things;

1. transport - how bits are moved from one box to another over a network
2. message envelope - the more interesting outer packaging for the message
3. interface - the methods and modifiers (headers) that go in the envelope
4. data - the data payload that goes in the envelope

Ok so far?

When somebody sets up a Web server on the Internet to publish some data, which of those items are they using a standardized solution for?  Let&#039;s assume the data is in a proprietary format (which rules out #4 of course).

Now what if somebody else sets up a SOAP server on the Internet to make that same information available.  What&#039;s your answer now?

I&#039;m trying to make sure we&#039;re doing an apples-to-apples comparison, which IMO we haven&#039;t been doing since Web services began.  I agree that the data problem is hard, but I believe it&#039;s the same problem whether you&#039;re using the Web or Web services, so we can ignore it when comparing the two.</description>
		<content:encoded><![CDATA[<p>I believed I did address your data oriented concern, but perhaps you didn&#8217;t recognize I was doing so 8-)</p>
<p>Ok, let&#8217;s break it down.</p>
<p>In order for two independently developed and deployed applications to interoperate, they need to agree on standardized versions of the following things;</p>
<p>1. transport &#8211; how bits are moved from one box to another over a network<br />
2. message envelope &#8211; the more interesting outer packaging for the message<br />
3. interface &#8211; the methods and modifiers (headers) that go in the envelope<br />
4. data &#8211; the data payload that goes in the envelope</p>
<p>Ok so far?</p>
<p>When somebody sets up a Web server on the Internet to publish some data, which of those items are they using a standardized solution for?  Let&#8217;s assume the data is in a proprietary format (which rules out #4 of course).</p>
<p>Now what if somebody else sets up a SOAP server on the Internet to make that same information available.  What&#8217;s your answer now?</p>
<p>I&#8217;m trying to make sure we&#8217;re doing an apples-to-apples comparison, which IMO we haven&#8217;t been doing since Web services began.  I agree that the data problem is hard, but I believe it&#8217;s the same problem whether you&#8217;re using the Web or Web services, so we can ignore it when comparing the two.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Burke</title>
		<link>http://www.markbaker.ca/blog/2007/09/fence-sitting-arguments/comment-page-1/#comment-279</link>
		<dc:creator>Bill Burke</dc:creator>
		<pubDate>Thu, 20 Sep 2007 12:26:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.markbaker.ca/blog/2007/09/20/fence-sitting-arguments/#comment-279</guid>
		<description>I&#039;m a huge REST noob, but what I like about REST and REST over HTTP in particular is that the client framework, protocol, and server framework are all separately defined.  They are not tightly coupled with one another.  If you&#039;re using a client side REST framework, your server does not need to use the same framework, or even a framework at all.

As for the &quot;low level&quot; argument, I think Mark&#039;s real point is in contextual data like TX, security, etc...  The real point of my blog was to figure out a way to redefine the problem to avoid the need for this type of contextual data at all.  I just really can&#039;t get away from security though, can&#039;t figure out a way to redefine the problem there....any links/pointers would be appreciated.</description>
		<content:encoded><![CDATA[<p>I&#8217;m a huge REST noob, but what I like about REST and REST over HTTP in particular is that the client framework, protocol, and server framework are all separately defined.  They are not tightly coupled with one another.  If you&#8217;re using a client side REST framework, your server does not need to use the same framework, or even a framework at all.</p>
<p>As for the &#8220;low level&#8221; argument, I think Mark&#8217;s real point is in contextual data like TX, security, etc&#8230;  The real point of my blog was to figure out a way to redefine the problem to avoid the need for this type of contextual data at all.  I just really can&#8217;t get away from security though, can&#8217;t figure out a way to redefine the problem there&#8230;.any links/pointers would be appreciated.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

