{"id":1265,"date":"2006-02-05T22:26:00","date_gmt":"2006-02-06T02:26:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/2006\/02\/05\/rest-vs-soa-the-lego-analogy\/"},"modified":"2006-02-05T22:26:00","modified_gmt":"2006-02-06T02:26:00","slug":"rest-vs-soa-the-lego-analogy","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2006\/02\/rest-vs-soa-the-lego-analogy\/","title":{"rendered":"REST vs SOA; the Lego analogy"},"content":{"rendered":"<p>I started writing this before\n<a href=\"http:\/\/schneider.blogspot.com\/archives\/2006_01_29_schneider_archive.html#113872155419415124\">Jeff&#8217;s hilarious Lego piece<\/a>\n(that must have been fun to put together 8-), but if anything, it just\nre-emphasized the need for me to write this, because Jeff makes the same\nmistake that most of the rest of the industry is making; believing that\nthe SOAP processing model is the analogue of the Lego brick.<\/p>\n\n<p>For an apples-to-apples comparison of SOA and Lego, one needs to\nrealize that the analogue of the Lego brick is actually the\n<em>WSDL document that describes the service<\/em>.  Lego works as it\ndoes because each brick exposes the same\n<a href=\"http:\/\/www.multicon.de\/fun\/legofaq.html#a13\">application interface<\/a>,\nnot just because each brick is made from the same plastic (which makes a better\nSOAP analogue, IMO).<\/p>\n\n<p>Just check out his example of a non-recombinant system\n<a href=\"http:\/\/schneider.blogspot.com\/uploaded_images\/Recombinant-754930.JPG\">here<\/a>;\nit&#8217;s not recombinant because it&#8217;s topped off with a piece which exposes a different\n&#8220;WSDL&#8221; than other &#8220;services&#8221;.<\/p>\n\n<p>Jeff says a lot of valuable things in his piece that resonate with me, including;<\/p>\n\n<blockquote>\nThe fundamental notion is that the true uses of the functions\/data will not be known until after the system is put into production.\n<\/blockquote>\n\n<blockquote>\nThe future of software is about the creation and utilization of building blocks. It is about letting our users play with their Lego&#8217;s.\n<\/blockquote>\n\n<p>(modulo the fact that the plural of Lego is\n<a href=\"http:\/\/www.multicon.de\/fun\/legofaq.html#a7\">not &#8220;Legos&#8221;<\/a> 8-)<\/p>\n\n<p>&#8230; it&#8217;s just unfortunate that they all resonate with me from a\n<em>Web\/REST POV<\/em>, not from an SOA POV.<\/p>","protected":false},"excerpt":{"rendered":"I started writing this before Jeff&#8217;s hilarious Lego piece (that must have been fun to put together 8-), but if anything, it just re-emphasized the need for me to write this, because Jeff makes the same mistake that most of the rest of the industry is making; believing that the SOAP processing model is the [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[22,26],"class_list":["post-1265","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-rest","tag-soap"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1265","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=1265"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1265\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1265"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}