<?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 : MIX07, Astoria</title><link>http://alexbarnett.net/blog/archive/tags/MIX07/Astoria/default.aspx</link><description>Tags: MIX07, Astoria</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Interview with Pablo Castro on Astoria - Data Services for the Web</title><link>http://alexbarnett.net/blog/archive/2007/04/30/interview-with-pablo-castro-on-astoria-data-services-for-the-web.aspx</link><pubDate>Tue, 01 May 2007 05:49:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:40020</guid><dc:creator>alexbarnett</dc:creator><slash:comments>7</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=40020</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/04/30/interview-with-pablo-castro-on-astoria-data-services-for-the-web.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I caught up with Pablo Castro, who announced Codename &lt;A class="" href="http://astoria.mslivelabs.com/" mce_href="http://astoria.mslivelabs.com"&gt;Astoria&lt;/A&gt; - Data Services for the Web &lt;A class="" href="http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx" mce_href="http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx"&gt;earlier today at MIX07&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here's the video of our chat together.&lt;/P&gt;
&lt;P&gt;
&lt;OBJECT height=350 width=425&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/s4J5cCjNmQ4"&gt;&lt;PARAM NAME="wmode" VALUE="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/s4J5cCjNmQ4" mce_src="http://www.youtube.com/v/s4J5cCjNmQ4" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/P&gt;
&lt;P&gt;In the meantime, there have been a number of blog posts commenting on the Astoria announcement &lt;A class="" href="http://www.techmeme.com/070430/p99#a070430p99" mce_href="http://www.techmeme.com/070430/p99#a070430p99"&gt;via TechMeme&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://blog.programmableweb.com/2007/05/01/microsoft-astoria-for-web-data-services/" mce_href="http://blog.programmableweb.com/2007/05/01/microsoft-astoria-for-web-data-services/"&gt;John Musser at ProgrammableWeb.com&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Although it’s an early experimental release, it’s quite an interesting approach using a very RESTful set of patterns and infrastructure for web data services."&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A class="" href="http://www.redmonk.com/cote/2007/04/30/microsofts-rest-moves-project-astoria/" mce_href="http://www.redmonk.com/cote/2007/04/30/microsofts-rest-moves-project-astoria/"&gt;Michael Coté of Redmonk&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"If you’re interested in REST, SOA (hopefully, of &lt;/EM&gt;&lt;A href="http://twitter.com/DannoHung/statuses/45018142"&gt;&lt;EM&gt;the REST type&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;), SaaS, or (though I shudder to type it) “the semantic web,” take a look at Astoria yourself. Like I said, it’s all at the “labs”/”project” stage now. But, that means there’s a chance to get in there and influence what the final release turns out to be. Does the interface and use model “work”? Do you like it?"&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A class="" href="http://dannyayers.com/2007/05/01/astoria--microsoft-approaches" mce_href="http://dannyayers.com/2007/05/01/astoria--microsoft-approaches"&gt;Danny Ayers&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"They've totally gone to town on URIs and HTTP access - very much leaning towards REST. What's exposed is proper web stuff. There's a fair bit of innovation there that looks useful, it'll be interesting to see what RESTafarian gurus make of it. So the insides will be good for MS-heads - great, anything that encourages building web-friendly services has to be a good thing."&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;A class="" href="http://www.base4.net/Blog.aspx?ID=392" mce_href="http://www.base4.net/Blog.aspx?ID=392"&gt;Alex James&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"&lt;FONT face=Tahoma&gt;Combine REST with a conceptual model and well you get &lt;/FONT&gt;&lt;/EM&gt;&lt;A href="http://www.base4.net/blog.aspx?Tag=Data2.0"&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;Data 2.0&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;.&lt;BR&gt;&lt;BR&gt;Astoria leverages &lt;B&gt;REST +&lt;/B&gt; &lt;B&gt;Entity Data Model&lt;/B&gt; to expose &lt;B&gt;data to the web&lt;/B&gt;.&lt;BR&gt;&lt;BR&gt;Very cool."&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=40020" width="1" height="1"&gt;</description><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/MIX07/default.aspx">MIX07</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category></item><item><title>Microsoft Codename "Astoria": Data Services for the Web</title><link>http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx</link><pubDate>Tue, 01 May 2007 01:28:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:40018</guid><dc:creator>alexbarnett</dc:creator><slash:comments>17</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=40018</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pablo Castro has &lt;A href="http://blogs.msdn.com/pablo/archive/2007/04/30/codename-astoria-data-services-for-the-web.aspx"&gt;announced a very cool project&lt;/A&gt;, Microsoft Codename "Astoria": Data Services for the Web.&lt;/P&gt;
&lt;P&gt;So, if:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;You build data-aware web applications (are there web devs that don't?)&lt;/P&gt;
&lt;P&gt;You are interested in data access over the web (data over the web &lt;EM&gt;is&lt;/EM&gt; what makes the web interesting)&lt;/P&gt;
&lt;P&gt;You have been asking: "What is the programming model for data&amp;nbsp;over web?" (I have)&lt;/P&gt;
&lt;P&gt;You want more that simple file storage in the sky - you want &lt;EM&gt;relational data&lt;/EM&gt; in the cloud you can program against - read and write (every developer I've spoken to wants this)&lt;/P&gt;
&lt;P&gt;You like REST ('nuff said)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Then...read on.&lt;/P&gt;
&lt;P&gt;Codename "Astoria" is&amp;nbsp;&lt;EM&gt;the&lt;/EM&gt; project I was working on before I left Microsoft. Astoria was probably the single hardest reason for me to leave as the momentum of the project was really picking up speed and the potential of Astoria was being grokked by a number of teams inside Microsoft. So to see Pablo's presentation today at MIX07 was nothing short of glorious.&lt;/P&gt;
&lt;P&gt;On to "What is Astoria?"&lt;/P&gt;
&lt;P&gt;Astoria is the cloudiest city in North America. Astoria is also the codename for an incubation project started some months ago attempting to answer the following questions: &lt;EM&gt;if you could provide a dead-simple way of programming against a relational data store that resides on the internet, what&amp;nbsp;should the programming model look like? Could it be simpler than SOAP-based data access programming?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;There are two parts (well, more -&amp;nbsp;but we'll start with two) to the Astoria story.&lt;/P&gt;
&lt;P&gt;The first part is the more traditional Microsoft CTP thing. What the downloadable bits allow you to do is to very rapidly&amp;nbsp;provide a&amp;nbsp;REST-based API - URLs- to an existing SQL Server database. That's right - REST to SQL in a jiffy! You download the bits for Visual Studio Orcas, do a couple of wizzy things and before you know it you have your data available through http. If you want, can then apply your own security model, constraints, etc. &lt;A href="http://astoria.mslivelabs.com/downloads.aspx"&gt;Downloads info and links here.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The second part is what I consider to be the coolest thing in data over web the&amp;nbsp;today. The Microsoft team&amp;nbsp;has deployed an online implementation&amp;nbsp;of&amp;nbsp;&lt;A href="http://astoria.mslivelabs.com/OnlineService.aspx"&gt;Astoria here&lt;/A&gt;, providing some sample read-only datasets for you to play with. There are plans to allow anyone to define their own data model and then have your data stored the same way as read-write, but it's not there today, and when that goes online it'll be for experimental use only, not the real-deal, yet.&lt;/P&gt;
&lt;P&gt;There are currently four datasets for you to play with:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$NorthwindButton", "", false, "", "./termsOfUseNorthwind.aspx?returnURL=Northwind", false, true))'&gt;&lt;EM&gt;Northwind Data Service&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR&gt;&lt;EM&gt;Northwind is a classic database example, so we had to make it part of the sample set for the Astoria online service. &lt;/EM&gt;
&lt;P&gt;&lt;A href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$AdventureWorksButton", "", false, "", "./termsOfUseAdventureWorks.aspx?returnURL=AdventureWorks", false, true))'&gt;&lt;EM&gt;AdventureWorks Data Service&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR&gt;&lt;EM&gt;AdventureWorks is the new sample database that comes with Microsoft SQL Server 2005 and has a rich schema and a lot of data. &lt;/EM&gt;
&lt;P&gt;&lt;A href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$EncartaButton", "", false, "", "./termsOfUseEncarta.aspx?returnURL=Encarta", false, true))'&gt;&lt;EM&gt;Encarta Data Service&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;BR&gt;&lt;EM&gt;The Microsoft® Encarta® team was nice enough to let us use a subset of their Encarta Encyclopedia article base and expose it as a data service. &lt;/EM&gt;
&lt;P&gt;&lt;A href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$TagSpaceButton", "", false, "", "./termsOfUseTagSpace.aspx?returnURL=TagSpace", false, true))'&gt;&lt;EM&gt;TagSpace Data Service&lt;/EM&gt;&lt;/A&gt;&lt;BR&gt;&lt;EM&gt;The folks at Microsoft TagSpace were also kind enough to let us borrow their data (without user information, of course); this data service exposes the Tags, Tagged Items, Bookmarks and the relationships between them.&lt;/EM&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Let's look at the &lt;A href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$TagSpaceButton", "", false, "", "./termsOfUseTagSpace.aspx?returnURL=TagSpace", false, true))'&gt;&lt;EM&gt;TagSpace Data Service&lt;/EM&gt;&lt;/A&gt;&amp;nbsp;as an example. Here's the entry point (data service root): &lt;A title=http://astoria.sandbox.live.com/tagspace/tagspace.rse href="http://astoria.sandbox.live.com/tagspace/tagspace.rse"&gt;http://astoria.sandbox.live.com/tagspace/tagspace.rse&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;What you see returned are the entities you can begin to browse though as an XML payload back (you can request JSON or simple RDF too): The&amp;nbsp;three entities: &lt;STRONG&gt;Tags&lt;/STRONG&gt;, &lt;STRONG&gt;TaggedItems &lt;/STRONG&gt;&lt;EM&gt;and &lt;/EM&gt;&lt;STRONG&gt;UserBookmarks.&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;A href="http://astoria.sandbox.live.com/#"&gt;&lt;FONT color=#ff0000&gt;-&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt; &amp;lt;DataService xml:base="&lt;B&gt;&lt;FONT color=#000000&gt;http://astoria.sandbox.live.com/tagspace/tagspace.rse&lt;/FONT&gt;&lt;/B&gt;"&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;A href="http://astoria.sandbox.live.com/#"&gt;&lt;FONT color=#ff0000&gt;-&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt; &amp;lt;TagSpaceEntities uri="&lt;B&gt;.&lt;/B&gt;"&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;Tags href="&lt;B&gt;&lt;FONT color=#000000&gt;Tags&lt;/FONT&gt;&lt;/B&gt;" /&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;TaggedItems href="&lt;B&gt;&lt;FONT color=#000000&gt;TaggedItems&lt;/FONT&gt;&lt;/B&gt;" /&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;UserBookmarks href="&lt;B&gt;&lt;FONT color=#000000&gt;UserBookmarks&lt;/FONT&gt;&lt;/B&gt;" /&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;/TagSpaceEntities&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;/DataService&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;So, let's look at the all the tags. Simple add "&lt;STRONG&gt;/tags&lt;/STRONG&gt;" to the end of the entry point URL: &lt;A title=http://astoria.sandbox.live.com/tagspace/tagspace.rse/tags href="http://astoria.sandbox.live.com/tagspace/tagspace.rse/tags"&gt;http://astoria.sandbox.live.com/tagspace/tagspace.rse/tags&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;One of the tags&amp;nbsp;listed in the XML playload returned is &lt;STRONG&gt;vista:&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://astoria.sandbox.live.com/#"&gt;&lt;FONT color=#ff0000&gt;-&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt; &amp;lt;Tag uri="&lt;B&gt;&lt;FONT color=#000000&gt;Tags[vista]&lt;/FONT&gt;&lt;/B&gt;"&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;TagName&amp;gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;vista&lt;/STRONG&gt;&lt;/FONT&gt;&amp;lt;/TagName&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;CreatedDate&amp;gt;11/6/2006 11:40:31 AM&amp;lt;/CreatedDate&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;TaggedItems href="&lt;B&gt;&lt;FONT color=#000000&gt;Tags[vista]/TaggedItems&lt;/FONT&gt;&lt;/B&gt;" /&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Now let's replace "&lt;STRONG&gt;/tags&lt;/STRONG&gt;" with "/&lt;FONT color=#000000&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;Tags[vista]/TaggedItems"&lt;/STRONG&gt; in the URL to get all the items tagged with 'vista': &lt;A title=http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems href="http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems"&gt;http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Now we see all the the items tagged 'vista'. In the payload back,&amp;nbsp;we see that&amp;nbsp;'TaggedItem' is another entity that is made up of a number of elements: the item ID (in this case '2'), the item title, the item description and the url to the item:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://astoria.sandbox.live.com/#"&gt;&lt;FONT color=#ff0000&gt;-&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#ff0000&gt; &amp;lt;TaggedItem uri="&lt;/FONT&gt;&lt;B&gt;TaggedItems[2]&lt;/B&gt;"&amp;gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;TaggedItemId&amp;gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/FONT&gt;&amp;lt;/TaggedItemId&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;Title&amp;gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;How do I change Windows Vista Media Center's Record folder...&lt;/FONT&gt;&lt;/STRONG&gt;&amp;lt;/Title&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;Description&amp;gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;Well, currently I installed Windows Vista Ultimate on my PC.&amp;nbsp; I have two harddrives, a 80gig, and a...&lt;/STRONG&gt;&lt;/FONT&gt;&amp;lt;/Description&amp;gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#ff0000&gt;&amp;lt;Uri&amp;gt;&lt;STRONG&gt;&lt;FONT color=#000000&gt;http://beta.communities.microsoft.com/Forums/thread.aspx?ThreadId=6abaf29f-81e0-4cbb-bcab-93541e49f0ea&amp;amp;MessageId=ddf043cb-903f-437a-9aa3-730c92398b37&lt;/FONT&gt;&lt;/STRONG&gt;&amp;lt;/Uri&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;FONT color=#000000&gt;Now I know the ID (the 'key')&amp;nbsp;of a specific item, I can ask just for that item back by replacing "/&lt;FONT color=#000000&gt;&lt;FONT color=#000000&gt;&lt;STRONG&gt;Tags[vista]/TaggedItems"&lt;/STRONG&gt; with &lt;B&gt;TaggedItems[2]" &lt;/B&gt;in the URL hitting &lt;/FONT&gt;&lt;/FONT&gt;the data service: &lt;A title=http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems[2] href="http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems[2]"&gt;http://astoria.sandbox.live.com/tagspace/tagspace.rse/Tags[vista]/TaggedItems[2]&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;The underlining technology that allows the data to be viewed at entities is the &lt;A class="" href="http://msdn2.microsoft.com/en-us/data/aa937723.aspx" mce_href="http://msdn2.microsoft.com/en-us/data/aa937723.aspx"&gt;ADO.NET Entity Framework&lt;/A&gt;, so the data model you are traversing is an &lt;A class="" href="http://msdn2.microsoft.com/en-us/library/aa697428(vs.80).aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa697428(vs.80).aspx"&gt;Entity Data Model&lt;/A&gt; (the EDM consists of the high-level constructs “entities” and “associations”). The cool thing is, as a consumer of the data for your app (or as a human navigating through the URLs), you don't need to anything installed, you just hit the URLS and off you go. The payload returns enough information for you to then start navigating the data model and the data itself and use&amp;nbsp;the data it for your apps. 
&lt;P&gt;The are a number of other very cool aspects to all this, and more detail is avaiable to read through in this .doc - &lt;A href="http://astoria.mslivelabs.com/UsingMicrosoftCodenameAstoria.doc"&gt;&lt;FONT color=#669966&gt;Using Microsoft Codename Astoria&lt;/FONT&gt;&lt;/A&gt;, but to summarise just a few point here: 
&lt;P&gt;The data service is reachable over regular HTTP requests, and standard HTTP verbs such as GET, POST, PUT and DELETE are used to perform operations against the service. 
&lt;P&gt;The URL-based query syntax supports a number of operators. Examples: 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;B&gt;eq&lt;/B&gt; 
&lt;P&gt;Equal 
&lt;P&gt;/Customers[City eq 'London'] 
&lt;P&gt;&lt;B&gt;ne&lt;/B&gt; 
&lt;P&gt;Not equal 
&lt;P&gt;/Customers[City ne 'London'] 
&lt;P&gt;&lt;B&gt;gt&lt;/B&gt; 
&lt;P&gt;Greater than 
&lt;P&gt;/Orders[OrderDate gt '1998-5-1'] 
&lt;P&gt;&lt;B&gt;gteq&lt;/B&gt; 
&lt;P&gt;Greater than or equal 
&lt;P&gt;/Orders[Freight gteq 800] 
&lt;P&gt;&lt;B&gt;lt&lt;/B&gt; 
&lt;P&gt;Less than 
&lt;P&gt;/Orders[Freight lt 1] 
&lt;P&gt;&lt;B&gt;lteq&lt;/B&gt; 
&lt;P&gt;Less than or equal 
&lt;P&gt;/Orders[OrderDate lteq '1999-5-4']&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;There are plenty more operators too. You can also create new entities using HTTP POST request and delete entites using HTTP DELETE against the URLs and manage associations between entities through URIs. 
&lt;P&gt;Powerful stuff, but to&amp;nbsp;point out here: the team is &lt;A class="" href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1430&amp;amp;SiteID=1" mce_href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1430&amp;amp;SiteID=1"&gt;looking for&lt;/A&gt; &lt;A class="" href="http://blogs.msdn.com/adonet/archive/2007/04/30/project-codename-astoria-announced-at-mix-07.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2007/04/30/project-codename-astoria-announced-at-mix-07.aspx"&gt;feedback&lt;/A&gt;. It's actually pretty unusual to have a project reveal so much at&amp;nbsp;this early stage of a&amp;nbsp;technology's development, but the team was itching to get feedback as early as possible in the design process. 
&lt;P&gt;If you are at MIX07, Pablo is repeating his session on Wedesday May 2, 11:30 AM - 12:45 PM, Lando 4201. 
&lt;P&gt;Can't wait for the team to update the service so we can start hosting our own data up there too...&lt;/P&gt;
&lt;P&gt;--&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt; - 11:19pm&lt;/P&gt;
&lt;P&gt;I caught up with Pablo and video'd our chat together. Also, blog reactions so far have been positive. &lt;A class="" href="http://alexbarnett.net/blog/archive/2007/04/30/interview-with-pablo-castro-on-astoria-data-services-for-the-web.aspx" mce_href="http://alexbarnett.net/blog/archive/2007/04/30/interview-with-pablo-castro-on-astoria-data-services-for-the-web.aspx"&gt;New post here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=40018" width="1" height="1"&gt;</description><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/MIX07/default.aspx">MIX07</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category></item></channel></rss>