{"id":357,"date":"2004-05-02T10:35:00","date_gmt":"2004-05-02T14:35:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=389"},"modified":"2004-05-02T10:35:00","modified_gmt":"2004-05-02T14:35:00","slug":"matt-garland-on-processthis","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2004\/05\/matt-garland-on-processthis\/","title":{"rendered":"Matt Garland on &#34;processThis&#34;"},"content":{"rendered":"<p><a href=\"http:\/\/jim.webber.name\/2004\/05\/01\/b49a0af1-3159-4a99-9a7a-56e65b31985b.aspx\">Via Jim Webber<\/a>,\na pointer to\n<a href=\"http:\/\/www.geekaboo.net\/blog\/archives\/2004\/04\/26\/6\">Matt Garland&#8217;s thoughts on &#8220;processThis&#8221;<\/a>.<\/p>\n\n<p>Jim comments, saying this is &#8220;how Web Services should be&#8221;.  But I don&#8217;t\nthink Matt&#8217;s example is a good one, because it doesn&#8217;t use processThis\nsemantics as we&#8217;ve discussed them to mean.<\/p>\n\n<p>Matt writes;<\/p>\n\n<blockquote>\nI want to find some light reading for my upcoming vacation. I send a message to BookMonger, Inc. requesting books on Web Services. Let&#8217;s say that is a TopicSearch message. BookMonger returns me a TopicSearchResult message with some titles, descriptions, prices, etc.\n<\/blockquote>\n\n<p>If you do queries that way, then you&#8217;re no longer using processThis semantics,\nbecause there is an expectation that submitting a particular document type will\nresult in a response which represents the results of that submission.  That goes\nbeyond the meaning of processThis, where a result of &#8220;Ok&#8221; would suffice as a\nresponse, indicating that the document was successfully processed.  There is\nactually no way to obtain query results as response messages using only\nprocessThis; you need additional semantics.<\/p>\n\n<p>This is where GET comes in.  Just as processThis\/POST provides uniform data\n<em>submission<\/em> semantics, GET provides a uniform data <em>request<\/em>\nsemantic.<\/p>\n\n<p>You certainly could build a system with an architecture like the one\nthat Jim&#8217;s talking about.  I just think that the Web provides additional\nconstraints on top which would yield a superior system.  In particular,\nthe Web would improve upon this approach by simplifying coordination\n(uniform submission <em>and<\/em> request semantics), providing an application\nmodel (hypermedia), improving visibility (one already-deployed shared\nabstraction, not an unbounded number of still-to-be-deployed ones), and\nsimplicity, primarily via the application model.<\/p>","protected":false},"excerpt":{"rendered":"Via Jim Webber, a pointer to Matt Garland&#8217;s thoughts on &#8220;processThis&#8221;. Jim comments, saying this is &#8220;how Web Services should be&#8221;. But I don&#8217;t think Matt&#8217;s example is a good one, because it doesn&#8217;t use processThis semantics as we&#8217;ve discussed them to mean. Matt writes; I want to find some light reading for my upcoming [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-357","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/357","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=357"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/357\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=357"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}