<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: WS-* does not imply strict typing</title>
	<link>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/</link>
	<description>A blog about programming in .NET and Java</description>
	<pubDate>Thu, 20 Nov 2008 11:57:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: Daan</title>
		<link>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1116</link>
		<pubDate>Tue, 08 May 2007 07:14:22 +0000</pubDate>
		<guid>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1116</guid>
					<description>Hi Arjen,

If you want your SOAP web services to be used by the world, you need to know WSDL, XML Schema, WS-*.  And you are never sure if other SOAP web service clients work with your SOAP stack, because everyone interprets the standards a bit different. The WS-* standards are overwhelming and confusing. Joe Average does not know that you do not need WS-* to do SOAP. In the normal world, standards are mandatory. There is too much that you need to know before you can get started.

REST makes more use of the advantages of the HTTP protocol (caching, scalability), while in SOAP you have to do this yourself. REST looks a lot simpler. There are not a lot of rules and when there are rules, they are not as confusing. 
You posted originally: 'Only five operations, what’s that all about?'
That is the simplicity of REST :-) This is why I think REST appeals more to Joe Average.

If large companies make interfaces available to 'the public', I think in the future this will happen more in the REST way, instead of in SOAP. Because REST will likely be used more by 'the public'.

This will not happen for the ESB's (at least I think ;-) ) for the reasons in my first comment.

To have a fun read: http://wanderingbarque.com/nonintersecting/2006/11/15/the-s-stands-for-simple/ :-)</description>
		<content:encoded><![CDATA[<p>Hi Arjen,</p>
<p>If you want your SOAP web services to be used by the world, you need to know WSDL, XML Schema, WS-<em>.  And you are never sure if other SOAP web service clients work with your SOAP stack, because everyone interprets the standards a bit different. The WS-</em> standards are overwhelming and confusing. Joe Average does not know that you do not need WS-* to do SOAP. In the normal world, standards are mandatory. There is too much that you need to know before you can get started.</p>
<p>REST makes more use of the advantages of the HTTP protocol (caching, scalability), while in SOAP you have to do this yourself. REST looks a lot simpler. There are not a lot of rules and when there are rules, they are not as confusing.<br />
You posted originally: &#8216;Only five operations, what’s that all about?&#8217;<br />
That is the simplicity of REST <img src='http://blog.springsource.com/arjen/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  This is why I think REST appeals more to Joe Average.</p>
<p>If large companies make interfaces available to &#8216;the public&#8217;, I think in the future this will happen more in the REST way, instead of in SOAP. Because REST will likely be used more by &#8216;the public&#8217;.</p>
<p>This will not happen for the ESB&#8217;s (at least I think <img src='http://blog.springsource.com/arjen/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) for the reasons in my first comment.</p>
<p>To have a fun read: <a href='http://wanderingbarque.com/nonintersecting/2006/11/15/the-s-stands-for-simple/' rel='nofollow'>http://wanderingbarque.com/nonintersecting/2006/11/15/the-s-stands-for-simple/</a> <img src='http://blog.springsource.com/arjen/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Arjen Poutsma</title>
		<link>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1115</link>
		<pubDate>Mon, 07 May 2007 10:46:47 +0000</pubDate>
		<guid>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1115</guid>
					<description>@Daan,

I fail to see what is so hard about SOAP itself. It's just a bit of XML, wrapped in a body and envelope. If you have your abstractions right, you don't even care whether you're doing SOAP or Plain Old XML (POX). WS-* is what makes the SOAP space so hard. But luckily, the WS-* specs are optional, so you don't have to use them.

In that respect, I find REST much harder, because you have to know a lot about the HTTP space to use it (Caching &amp; ETags, GET vs. PUT vs POST, etc). Before you know it, you have put a non-safe operation under a GET, and Google changes the state of your service by indexing it.

As for the last paragraph in my blog: I think it's actually a quote from Stefan Tilkov, the author of the quoted post. It was meant as a joke. :)</description>
		<content:encoded><![CDATA[<p>@Daan,</p>
<p>I fail to see what is so hard about SOAP itself. It&#8217;s just a bit of XML, wrapped in a body and envelope. If you have your abstractions right, you don&#8217;t even care whether you&#8217;re doing SOAP or Plain Old XML (POX). WS-* is what makes the SOAP space so hard. But luckily, the WS-* specs are optional, so you don&#8217;t have to use them.</p>
<p>In that respect, I find REST much harder, because you have to know a lot about the HTTP space to use it (Caching &amp; ETags, GET vs. PUT vs POST, etc). Before you know it, you have put a non-safe operation under a GET, and Google changes the state of your service by indexing it.</p>
<p>As for the last paragraph in my blog: I think it&#8217;s actually a quote from Stefan Tilkov, the author of the quoted post. It was meant as a joke. <img src='http://blog.springsource.com/arjen/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Daan</title>
		<link>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1114</link>
		<pubDate>Mon, 07 May 2007 07:28:37 +0000</pubDate>
		<guid>http://blog.springsource.com/arjen/archives/2007/05/06/ws-does-not-imply-strict-typing/#comment-1114</guid>
					<description>Uh, I can name two examples that does not follow your 'cool' and 'money' descriptors:

Amazon (money making giant) does REST.
Google (icon of coolness) does SOAP.

See: http://www.xmlhack.com/read.php?item=1615

I the point your making, but big companies are also going the REST way. Not for connecting business systems, but for the information systems on the outside. If you want to make an API available for the critical mass, do it with REST. It is simple and fast to develop with.

SOAP is not simple, and it will not be used by the average programmer. SOAP does have a standards body (WS-*), it looks more mature, it is widely advocated to business people and will therefore be used by (large) companies.

So: SOAP for the inside communication and B2B, REST for outside communication and B2C.</description>
		<content:encoded><![CDATA[<p>Uh, I can name two examples that does not follow your &#8216;cool&#8217; and &#8216;money&#8217; descriptors:</p>
<p>Amazon (money making giant) does REST.<br />
Google (icon of coolness) does SOAP.</p>
<p>See: <a href='http://www.xmlhack.com/read.php?item=1615' rel='nofollow'>http://www.xmlhack.com/read.php?item=1615</a></p>
<p>I the point your making, but big companies are also going the REST way. Not for connecting business systems, but for the information systems on the outside. If you want to make an API available for the critical mass, do it with REST. It is simple and fast to develop with.</p>
<p>SOAP is not simple, and it will not be used by the average programmer. SOAP does have a standards body (WS-*), it looks more mature, it is widely advocated to business people and will therefore be used by (large) companies.</p>
<p>So: SOAP for the inside communication and B2B, REST for outside communication and B2C.</p>
]]></content:encoded>
				</item>
</channel>
</rss>
