{"id":1291,"date":"2006-02-20T11:50:00","date_gmt":"2006-02-20T15:50:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2006\/02\/20\/why-all-the-ws-interop-problems\/"},"modified":"2006-02-20T11:50:00","modified_gmt":"2006-02-20T15:50:00","slug":"why-all-the-ws-interop-problems","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2006\/02\/why-all-the-ws-interop-problems\/","title":{"rendered":"Why all the WS Interop problems?"},"content":{"rendered":"<img decoding=\"async\" src=\"\/images\/puzzle.jpg\" \/>\n\n<p>If you&#8217;d have asked me six or seven years ago &#8211; when this whole Web\nservices things was kicking off &#8211; how things were likely to go with\nthem, I would have said &#8211; and indeed, have said many times since &#8211; that\nthey would fail to see widespread use on the Internet, as their\narchitecture is only suitable for use under a\n<a href=\"http:\/\/www.oreillynet.com\/pub\/wlg\/1681?wlg=yes\">single adminstrator<\/a>,\ni.e. behind a firewall.  But if you&#8217;d asked me if I would have thought\nthat there&#8217;d be\n<a href=\"http:\/\/www.windley.com\/archives\/2005\/03\/nelson_minar_at.shtml\">this<\/a>\n<a href=\"http:\/\/groups.yahoo.com\/group\/soapbuilders\/message\/10627\">much<\/a>\n<a href=\"http:\/\/groups.yahoo.com\/group\/soapbuilders\/message\/10563\">trouble<\/a>\nwith basic interoperability of foundational specifications, I\nwould have said, no, I wouldn&#8217;t expect that.  I mean, despite the\narchitectural shortcomings, the job of developing interoperable\nspecifications, while obviously difficult, wouldn&#8217;t be any <em>more<\/em>\ndifficult because of these shortcomings&#8230; would it?<\/p>\n\n<p>I&#8217;ve given this a fair bit of thought recently and concluded that yes,\nthose differences <em>are<\/em> important.  What I don&#8217;t know though, is whether\nthey&#8217;re important enough to cause the aforementioned WS interop problems.\nBut here&#8217;s my working theory on why Web services interop is harder; you\ncan decide for yourself how significant they are.<\/p>\n\n<p>What I think this boils down to is that interoperability testing of Web\nbased services (not Web services), like any Web deployment, benefits from\nnetwork effects not available with Web services, primarily due to the use\nof the\n<a href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/rest_arch_style.htm#sec_5_1_5\">uniform interface<\/a>.\nSo if we&#8217;re testing out Web based services, and I write a test client, then\nthat client can be used &#8211; as-is &#8211; to test <em>all<\/em> services.  You simply\ndon&#8217;t get this with Web services, at least past the point where you get the\nequivalent of the &#8220;unknown operation&#8221; fault.  As a result, there&#8217;s a whole\nlot more testing going on, which should intuitively mean better interop.<\/p>\n\n<p>Or at least that&#8217;s the theory.  What do you think?<\/p>\n\n<p><em>Update<\/em>; based on\n<a href=\"http:\/\/patricklogan.blogspot.com\/2006\/02\/dont-make-me-think.html\">some<\/a>\n<a href=\"http:\/\/www.1060.org\/blogxter\/entry?publicid=3AF543F66872BED84AE6F21471730EB5\">comments<\/a>\nby others, I guess I should qualify this as stating that I understand that\nthere are concrete reasons why bugs exist today.  But what I&#8217;m talking about\nabove is the meta question of why these bugs continue to persist, despite\nplenty of time passing in which they could have been resolved (modulo the\nvendor-interest comment by Steve &amp; Patrick, which I don&#8217;t buy because\nthere&#8217;s so much activity in SOAP extensions that lock-in at the SOAP level\nis unnecessary and moreover, shrinks the market by scaring potential\ncustomers away).<\/p>\n\n<p>Tags:\n<a href=\"http:\/\/del.icio.us\/tag\/soap\">soap<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/rest\">rest<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/web\">web<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/soa\">soa<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/networkeffects\">networkeffects<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/testing\">testing<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/interoperability\">interoperability<\/a>,\n<a href=\"http:\/\/del.icio.us\/tag\/webservices\">webservices<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"If you&#8217;d have asked me six or seven years ago &#8211; when this whole Web services things was kicking off &#8211; how things were likely to go with them, I would have said &#8211; and indeed, have said many times since &#8211; that they would fail to see widespread use on the Internet, as their [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-1291","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=1291"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1291\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1291"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}