<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://alexbarnett.net/blog/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Alex Barnett blog : Data, Web, ROA</title><link>http://alexbarnett.net/blog/archive/tags/Data/Web/ROA/default.aspx</link><description>Tags: Data, Web, ROA</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>How ADO.NET Data Services came to be (formerly known as Project Astoria)</title><link>http://alexbarnett.net/blog/archive/2008/08/20/how-ado-net-data-services-came-to-be-formerly-known-as-project-astoria.aspx</link><pubDate>Thu, 21 Aug 2008 02:16:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:42218</guid><dc:creator>alexbarnett</dc:creator><slash:comments>3</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=42218</wfw:comment><comments>http://alexbarnett.net/blog/archive/2008/08/20/how-ado-net-data-services-came-to-be-formerly-known-as-project-astoria.aspx#comments</comments><description>&lt;p&gt;Pablo Castro has &lt;a href="http://blogs.msdn.com/pablo/archive/2008/08/20/timeline-of-project-astoria.aspx" mce_href="http://blogs.msdn.com/pablo/archive/2008/08/20/timeline-of-project-astoria.aspx"&gt;recounted some of his timelined memories&lt;/a&gt; about how "Project Astoria" evolved from a lunch time conversation to bits in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx"&gt;.NET 3.5 SP1 and Visual Studio 2008 SP1&lt;/a&gt; now known as &lt;a href="http://msdn.microsoft.com/en-us/data/bb931106.aspx" mce_href="http://msdn.microsoft.com/en-us/data/bb931106.aspx"&gt;ADO.NET Data Services Framework&lt;/a&gt;). Nice write up.&lt;/p&gt;  &lt;p&gt;Three memories of my own to add to the story: &lt;/p&gt;  &lt;p&gt;1. I was reading up on the whole REST thing in the summer of 2006 - its origins, philosophy and design patterns. I knew there was something interesting going on and some potential dots to join, but I wasn't sure which dots...So I collated and circulated a bunch of research / links to the team, &lt;a href="http://blogs.msdn.com/alexbarn/archive/2006/07/21/674395.aspx" mce_href="http://blogs.msdn.com/alexbarn/archive/2006/07/21/674395.aspx"&gt;then blogged the links&lt;/a&gt; (I liked &lt;a href="http://naeblis.cx/rtomayko/2004/12/12/rest-to-my-wife" mce_href="http://naeblis.cx/rtomayko/2004/12/12/rest-to-my-wife"&gt;How I explained REST to my wife&lt;/a&gt;. More recently see &lt;a href="http://www.25hoursaday.com/weblog/2008/08/17/ExplainingRESTToDamienKatz.aspx" mce_href="http://www.25hoursaday.com/weblog/2008/08/17/ExplainingRESTToDamienKatz.aspx"&gt;Explaining REST to Damien Katz&lt;/a&gt;). I got a few proverbial (and some literal) blank stares as I shared my enthusiasm for REST, asking how we could apply the ideas to the various projects we were working on. It was Pablo, and (as Pablo attests) Britt Johnston (now a PUM for SQL Business) who were able to develop the initial conceptual leaps into something more concrete like &lt;a href="http://www.eweek.com/c/a/Windows/What-Is-Bill-Gates-Thinking/" mce_href="http://www.eweek.com/c/a/Windows/What-Is-Bill-Gates-Thinking/"&gt;a Think Week Paper&lt;/a&gt; and a prototype demo. &lt;/p&gt;  &lt;p&gt;2. When it came to brainstorming the code name, the team agreed on a&amp;nbsp; "cloud" theme. A number of proposals were floated around along with their rationales, including "cumulus" and "cirrus". We were then advised that city and town code names were legal-safe. So there we were, struggling to agree on some city or town name we all liked (or at least not hate nor be confused by..."how about &lt;a href="http://www.amusingfacts.com/cgi-bin/surf/surf_pass.cgi?template=weird.html&amp;amp;cfile=nameless.html" mce_href="http://www.amusingfacts.com/cgi-bin/surf/surf_pass.cgi?template=weird.html&amp;amp;cfile=nameless.html"&gt;Nameless&lt;/a&gt;?"...), and then &lt;a href="http://blogs.msdn.com/data/archive/2006/12/05/data-access-api-of-the-day-part-i.aspx" mce_href="http://blogs.msdn.com/data/archive/2006/12/05/data-access-api-of-the-day-part-i.aspx"&gt;Mike Pizzo's&lt;/a&gt; proposal came in: "Astoria - hey, it's the cloudiest city in the USA!" (&lt;a href="http://www.farmersalmanac.com/weather_chatter/2006/10/06/the-10-worst-weather-cities/" mce_href="http://www.farmersalmanac.com/weather_chatter/2006/10/06/the-10-worst-weather-cities/"&gt;at least it was in 2006&lt;/a&gt;). Sold.&lt;/p&gt;  &lt;p&gt;3. I think my favorite memory of all is the reaction &lt;a href="http://flakenstein.net/" mce_href="http://flakenstein.net/"&gt;Gary Flake&lt;/a&gt; provided (of Microsoft's &lt;a href="http://livelabs.com" mce_href="http://livelabs.com"&gt;Live Labs&lt;/a&gt;) to the prototype Pablo demo'd at one of the pitch meetings: "As God himself would have designed it!" Dr Flake exclaimed..."Cool", I thought to myself - "but does that mean no REST for the wicked?"&lt;/p&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=42218" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/.NET/default.aspx">.NET</category><category domain="http://alexbarnett.net/blog/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://alexbarnett.net/blog/archive/tags/APIs/default.aspx">APIs</category><category domain="http://alexbarnett.net/blog/archive/tags/Astoria/default.aspx">Astoria</category><category domain="http://alexbarnett.net/blog/archive/tags/Data/default.aspx">Data</category><category domain="http://alexbarnett.net/blog/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://alexbarnett.net/blog/archive/tags/platforms/default.aspx">platforms</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/ROA/default.aspx">ROA</category><category domain="http://alexbarnett.net/blog/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://alexbarnett.net/blog/archive/tags/Web/default.aspx">Web</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category><category domain="http://alexbarnett.net/blog/archive/tags/WOA/default.aspx">WOA</category><category domain="http://alexbarnett.net/blog/archive/tags/XML/default.aspx">XML</category></item><item><title>Hyperdata, interoperable data web and other loosely related concepts</title><link>http://alexbarnett.net/blog/archive/2007/01/23/Hyperdata_2C00_-interoperable-data-web-and-other-loosely-related-concepts.aspx</link><pubDate>Wed, 24 Jan 2007 02:12:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:16626</guid><dc:creator>alexbarnett</dc:creator><slash:comments>1</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=16626</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/01/23/Hyperdata_2C00_-interoperable-data-web-and-other-loosely-related-concepts.aspx#comments</comments><description>&lt;p&gt;Apologies in advance. I&amp;#39;m attempting to&amp;nbsp;couple loosely related threads here...I have no conclusion.&lt;/p&gt;&lt;p&gt;Leigh Dobbs originally published &lt;a href="http://idealliance.org/proceedings/xtech05/papers/02-07-04/"&gt;Connecting Social Content Services using FOAF, RDF and REST&lt;/a&gt;&amp;nbsp;for XTech 2005, where he analysed a sample of eight APIs (including the usual suspects -&amp;nbsp;&lt;a href="http://del.icio.us"&gt;del.icio.us&lt;/a&gt;, &lt;a href="http://www.last.fm/"&gt;Last.fm&lt;/a&gt; and &lt;a href="http://upcoming.org/"&gt;Upcoming&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Dobbs&amp;nbsp;speculated&amp;nbsp;as to&amp;nbsp;why those services lacked &amp;#39;hypermedia&amp;#39; support.&lt;/p&gt;&lt;p&gt;Hypermedia: links and pointers&amp;nbsp;to other resouces that are included in a&amp;nbsp;service response to allow further discovery and interaction of those other resources. Or,&amp;nbsp;to paraphrase&amp;nbsp;Danny Ayers,&amp;nbsp;&amp;#39;Hypermedia&amp;nbsp;should be&amp;nbsp;hyperdata and &lt;a href="http://dannyayers.com/2007/01/04/hyperdata"&gt;Hyperdata&amp;nbsp;is&amp;nbsp;&amp;#39;the Semanitc Web&amp;#39;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Back &lt;a href="http://idealliance.org/proceedings/xtech05/papers/02-07-04/"&gt;to Dobbs&lt;/a&gt; (my bold):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;quot;Lack of linking can be attributed to three factors. Firstly, discussion of the REST style have, to date, been largely centred on correct use of HTTP rather than the additional benefits that acrue from use of hypermedia. &lt;strong&gt;Secondly, the RPC style that the majority of the services follow, promotes a view of the API as a series of method calls, rather than endpoints within an hypertext of data&lt;/strong&gt;. Thirdly, the use of API keys prohibits free publishing of links, as given URL is only suitable for use by a single application, the one to which the key was assigned.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Mike Dierken (a &amp;#39;Senior Troublemaker&amp;#39;) &lt;a href="http://korrespondence.blogspot.com/2007/01/social-content-services-and-rest.html"&gt;last week provided&lt;/a&gt;&amp;nbsp;another&amp;nbsp;reason why the desired&amp;nbsp;&amp;#39;hypermedia&amp;#39; (or &amp;#39;hyperdata&amp;#39;) support&amp;nbsp;might be&amp;nbsp;missing from those services analysed by Dobbs...again, my bold:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;quot;This review notes that nearly all services do not use hypermedia which I think is unfortunate but understandable. I&amp;#39;ve always had a problem resolving the desire to be flexible in allowing the internal data identifiers to be used in many situations and the desire to be trivally easy for clients to access other resources by simply using links - the mashup problem. One issue I have is that the server-side software that generates the representation might not know all the possible resources made available by sibling services. &lt;strong&gt;Think of a US postal zip-code - if you have a service that provides weather based on zip code, should that representation also be responsible for linking to all other services - either provided by your system or some other server - that could potentially take in a zip-code? My approach is to return both direct links to known resources (tagged appropriately) as well as the short-form of the identifier, the plain zip-code for example.&lt;/strong&gt; Microformats sort of do this, but it&amp;#39;s a style that isn&amp;#39;t well applied by data services.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I&amp;#39;ll give Danny the final word (for this post at least ;-) &lt;a href="http://dannyayers.com/2007/01/04/hyperdata"&gt;on Hyperdata&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;quot;I&amp;#39;m still convinced that working at the syntax/grammar level without any common data model/language (i.e. semantics) is fundamentally flawed when it comes to global interop. On the web interop starts with URIs for &lt;strike&gt;concepts &amp;amp;&lt;/strike&gt; resources and their relations, not angle brackets. [PS. reworded - amounts to the same, but sounds less abstract]&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;More &amp;lt;loosely&amp;gt; related reading:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="dc-title"&gt;&lt;a href="http://www.openlinksw.com/blog/~kidehen/?id=1122"&gt;Semantic Web &amp;amp; Data Integration&lt;/a&gt; by Kingsley Idehen&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="dc-title"&gt;&lt;a href="http://www.jasonkolb.com/weblog/2007/01/networkoriented.html"&gt;Network-Oriented Architecture&lt;/a&gt; and &lt;a href="http://www.jasonkolb.com/weblog/2007/01/index.html"&gt;Perfect Programming&lt;/a&gt; by Jason Kolb&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="dc-title"&gt;&lt;a href="http://www.base4.net/Blog.aspx?ID=284"&gt;Every webservice is an island&lt;/a&gt; and &lt;a href="http://www.base4.net/blog.aspx?ID=36"&gt;Understanding the Future of Data: Data 2.0&lt;/a&gt;&amp;nbsp;by Alex James (also see &lt;/span&gt;&lt;span class="dc-title"&gt;&lt;a href="http://dannyayers.com/2006/06/16/data-2"&gt;Data 2.0&lt;/a&gt;,&amp;nbsp;a response by Danny Ayers&amp;nbsp;to Alex James&amp;#39;&amp;nbsp;post)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=16626" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/Data/default.aspx">Data</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/ROA/default.aspx">ROA</category><category domain="http://alexbarnett.net/blog/archive/tags/semanticweb/default.aspx">semanticweb</category><category domain="http://alexbarnett.net/blog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://alexbarnett.net/blog/archive/tags/Web/default.aspx">Web</category></item></channel></rss>