{"id":315,"date":"2004-03-30T07:49:00","date_gmt":"2004-03-30T11:49:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=291"},"modified":"2004-03-30T07:49:00","modified_gmt":"2004-03-30T11:49:00","slug":"savas-on-itms","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2004\/03\/savas-on-itms\/","title":{"rendered":"Savas on ITMS"},"content":{"rendered":"<p><a href=\"http:\/\/savas.parastatidis.name\/2004\/03\/30\/9a170f65-24d8-44b3-b2b1-2e41320ad7d8.aspx\">Savas says<\/a>\nthat iTunes is doing a proprietary version of Web services.  I don&#8217;t think so.  He writes;<\/p>\n\n<blockquote>\nIf, however, they wanted to describe the structure of that information, how would they do it? They\u0092d probably use XML Schema.\n<\/blockquote>\n\n<p>Yep, agreed there.  I think RDF would be a better solution, but given they&#8217;re\nusing plain old XML, XML Schema would be the way to go.<\/p>\n\n<blockquote>\nAnd if they wanted to describe the message exchange patterns, the contract for the interactions with the store (e.g., &#8220;when the XML document with the order information for a song comes, the response will be the XML document with the song&#8221;)?\n<\/blockquote>\n\n<p>Hold on.  Why would they ever do that?  Why would they want to artificially\nrestrict the type of documents returned from an interaction?  That would mean\nthat if they wanted to insert a step between order submission and and song download,\nthat they&#8217;d have to change the interface and its description?  No thanks.  I would\nprefer that the client determine what to do based on the type of the document that\nactually arrives.  Let&#8217;s keep the perpetually-static stuff in the protocol, and\nlet everything else happen dynamically.<\/p>\n\n<blockquote>\nAnd if they wanted their service to be integrated with other applications without having to read Apple specifications on how to include the information in HTTP requests and how to read HTTP responses?\n<\/blockquote>\n\n<p>I don&#8217;t follow.  One need only look at the HTTP spec to determine how that&#8217;s done.\nSOAP buys you nothing in that case, AFAICT.  It buys you other things (better\nextensibility, richer intermediary model, etc..), but none of those seem relevant\nto ITMS at present.<\/p>","protected":false},"excerpt":{"rendered":"Savas says that iTunes is doing a proprietary version of Web services. I don&#8217;t think so. He writes; If, however, they wanted to describe the structure of that information, how would they do it? They\u0092d probably use XML Schema. Yep, agreed there. I think RDF would be a better solution, but given they&#8217;re using plain [&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,40],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/315","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=315"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}