{"id":194,"date":"2003-10-27T17:17:00","date_gmt":"2003-10-27T21:17:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=119"},"modified":"2003-10-27T17:17:00","modified_gmt":"2003-10-27T21:17:00","slug":"uniform-interface-recognition-101","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2003\/10\/uniform-interface-recognition-101\/","title":{"rendered":"Uniform Interface Recognition 101"},"content":{"rendered":"<p>I&#8217;m in the middle (or perhaps its the end) of a\n<a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-ws-desc\/2003Oct\/thread.html#137\">conversation<\/a> with\n<a href=\"http:\/\/www.staff.ncl.ac.uk\/savas.parastatidis\/index.html\">Savas Parastatidis<\/a>\nregarding a &#8220;radical&#8221; new form of Web service constraint.  Consider his plan to send along\nthis as a message;<\/p>\n\n<pre>\n&lt;orderForm1&gt;\n  &lt;carOrMotorcycle&gt;car&lt;\/carOrMotorcycle&gt;\n  &lt;colour&gt;blue&lt;\/colour&gt;\n  &lt;cc&gt;1800&lt;\/cc&gt;\n  &lt;model&gt;blabla&lt;\/model&gt;\n&lt;\/orderForm1&gt;\n<\/pre>\n\n<p>Sure, there&#8217;s no symbol visible that can be mapped to an operation,\nbut in order to understand what is being asked of a recipient of that message,\nsomething somewhere has to say what is being asked.  Otherwise it would\ninherit the semantics of any underlying application protocol that transferred it &#8211;\nconsider that it would mean different things to send it with HTTP PUT and POST\n&#8211; and therefore wouldn&#8217;t really be a message, just a piece of a message\n(representation anyone?).<\/p>\n\n<p>Based on what Savas explains he wants that message to mean though, what\nhe describes is semantically equivalent to HTTP POST, only without URI targetting,\nand with an implicit operation rather than an explicit one.\nI <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-ws-desc\/2003Oct\/0191.html\">claim<\/a>\nthat this is a better version of his message;<\/p>\n\n<pre>\nPOST some-uri HTTP\/1.1\nContent-Type: application\/order-form+xml\n&lt;orderForm1&gt;\n  &lt;carOrMotorcycle&gt;car&lt;carOrMotorcycle&gt;\n  &lt;colour&gt;blue&lt;colour&gt;\n  &lt;cc&gt;1800&lt;cc&gt;\n  &lt;model&gt;blabla&lt;model&gt;\n&lt;orderForm1&gt;\n<\/pre>\n\n<p>It&#8217;s pretty funny to see pieces of Web architecture being rediscovered by\nWeb services folks.  Once the enormity of the big picture of the Web hits home\nwith them, well &#8230; let&#8217;s just say that there&#8217;s a whole lot of walls on which\nI&#8217;d love to be a fly.<\/p>\n\n<p>P.S. <a href=\"http:\/\/www.dehora.net\/journal\/archives\/000310.html\">more uniform interface goodness from Bill<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"I&#8217;m in the middle (or perhaps its the end) of a conversation with Savas Parastatidis regarding a &#8220;radical&#8221; new form of Web service constraint. Consider his plan to send along this as a message; &lt;orderForm1&gt; &lt;carOrMotorcycle&gt;car&lt;\/carOrMotorcycle&gt; &lt;colour&gt;blue&lt;\/colour&gt; &lt;cc&gt;1800&lt;\/cc&gt; &lt;model&gt;blabla&lt;\/model&gt; &lt;\/orderForm1&gt; Sure, there&#8217;s no symbol visible that can be mapped to an operation, but in order [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/194","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=194"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}