{"id":551,"date":"2008-03-14T09:55:38","date_gmt":"2008-03-14T08:55:38","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/?p=551"},"modified":"2008-03-14T09:55:38","modified_gmt":"2008-03-14T08:55:38","slug":"qcon-day-two-and-rest-vs-ws","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/551-qcon-day-two-and-rest-vs-ws.html","title":{"rendered":"Qcon day two and REST vs WS-*"},"content":{"rendered":"<p>The second day here at Qcon London was more compelling than the first, from my point of view. There were several themes (I am just talking about what I personally attended). <\/p>\n<p>The first was Java&#8217;s mid-life crisis and the reform of the JCP, which I will make the subject of a separate post.<\/p>\n<p>The second was how the BBC runs its web site and its coming &#8220;tech refresh&#8221;, which was covered in a late &#8220;birds of a feather&#8221; session (which turned into a drink at the bar). I&#8217;ll come back to this later, after I&#8217;ve attended the BBC&#8217;s further session today.<\/p>\n<p>The third was REST. Stefan Tilkov led a track on SOA, REST and the Web. Now, the general theme of this (following on from the Fowler\/Webber session the day before on the <a href=\"http:\/\/www.itwriting.com\/blog\/?p=548\" target=\"_blank\">shortcomings of the Enterprise Bus<\/a>) is that SOAP and WSDL and WS-* have failed to deliver and that REST is fundamentally a better approach to designing distributed inter-application systems. What&#8217;s wrong with WS-*, SOAP and WSDL? Too many standards; too complex; too brittle; too incompatible; too few free and open source implementations; leaky abstractions; hijacked by middleware vendors who have an interest in keeping technology arcane and expensive.<\/p>\n<p>By contrast REST is being embraced for all sorts of reasons, ranging from purist arguments about the value of resource-based computing where everything has an URI, to pragmatic arguments along the lines of &#8220;it works, I can use it, I understand it.&#8221; However, if you poke at some of the solutions which are described as REST, it turns out that some are more RESTful than others &#8211; using HTTP as a transport for POX (plain old XML) is not necessarily REST.<\/p>\n<p>I&#8217;m still learning about this stuff; but I have no doubt of the value of REST. It fits particularly well with certain types of application. It is ideal for Internet mash-ups, for example. It is a natural fit with the Web. It builds on an infrastructure which is mature, proven and scalable.<\/p>\n<p>Still, I have some scepticism about the rush to REST. I recall the early days of SOAP, when it was still meant to be the &#8220;Simple Object Access Protocol&#8221;, and at the time some of the claims being made for SOAP were not dissimilar to those now being made for REST (and yes, I know you can use SOAP and REST together). Specifically, it was intended to be a simple, loosely-coupled alternative to the brittle, highly complex, tightly-coupled, arcane, vendor-hijacked technologies such as CORBA and DCOM.<\/p>\n<p>Someone yesterday &#8211; I think it was Jim Webber &#8211; remarked that middleware vendors are eyeing up REST; we can expect them to introduce products that will supposedly bring resilience, security, manageability, governance, scalability, and other good things; but which will also bring baggage that may sully the REST dream.<\/p>\n<p>We may be having this conversation again in ten years as we discuss what-comes-after-REST.<\/p>\n<p>Even if this is the case, I expect that Agile themes like YAGNI (You aren&#8217;t going to need it); appropriate planning and appropriate flexibility; communication and team dynamics; breaking hard problems into smaller, easier parts; testability; accountability &#8211; these will endure.<\/p>\n<div class=\"wlWriterSmartContent\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0e163b21-d861-404f-a973-dd7fd88c9aaf\" style=\"padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px\">Technorati tags: <a href=\"http:\/\/technorati.com\/tags\/REST\" rel=\"tag\">REST<\/a>, <a href=\"http:\/\/technorati.com\/tags\/qcon\" rel=\"tag\">qcon<\/a>, <a href=\"http:\/\/technorati.com\/tags\/agile\" rel=\"tag\">agile<\/a>, <a href=\"http:\/\/technorati.com\/tags\/SOAP\" rel=\"tag\">SOAP<\/a>, <a href=\"http:\/\/technorati.com\/tags\/WS-*\" rel=\"tag\">WS-*<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The second day here at Qcon London was more compelling than the first, from my point of view. There were several themes (I am just talking about what I personally attended). The first was Java&#8217;s mid-life crisis and the reform of the JCP, which I will make the subject of a separate post. The second &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/551-qcon-day-two-and-rest-vs-ws.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Qcon day two and REST vs WS-*<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-551","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=551"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/551\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}