Microsoft Astoria for Web Data Services

John Musser
May. 01 2007, 01:33AM EDT

At Mix 07, even though the Ray Ozzie keynote along with the Silverlight and Expression product announcements got the lion's share of the buzz yesterday, the more interesting news from a pure API perspective came from Pablo Castro, ADO.NET Technical Lead, who later in the day presented a Microsoft project codenamed "Astoria". What is it? Alex Barnett, who used to be part of this team, describes it well when he says "Astoria is also the codename for an incubation project started some months ago attempting to answer the following questions: if you could provide a dead-simple way of programming against a relational data store that resides on the internet, what should the programming model look like? Could it be simpler than SOAP-based data access programming?"

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. From the official announcement:

"The Microsoft Codename "Astoria" project is an incubation effort at Microsoft focused on exploring how various emerging world-wide-web technologies and concepts can be combined with the Microsoft Data Platform to provide a first-class infrastructure for building the next wave of internet applications.

The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within corporate networks and across the internet. 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. The payload format for the data exchanged with the service can be controlled by the client and all options are simple, open formats such as plan XML and JSON. The use of web-friendly technologies make it ideal as a data back-end for AJAX-style applications, Rich Interactive Applications and other applications that need to operate against data that is across the web.

The first Astoria CTP is a dual release, making Astoria available in the form of downloadable bits that can be used to build data services that are entirely contained within a single computer or network and as an experimental online service that you can use to create online stores that are hosted by Microsoft and are accessible over the internet."

In this model, database entities become resources that support filter, sort, navigate, and paging, all via a standard URI syntax. Results can be returned in plain old XML, JSON, and RDF. It's nicely general purpose with URLs like "/database/table[search criteria]/joined -table". For example, in the demo to get the orders for customers in London you'd ask something "/Customers[City eq 'London']/Orders".

If you go to astoria.mslivelabs.com you can get the details. As noted in the announcement it's really offered in two different models. The first one is a set of server-side technologies available as a download from Microsoft and the other is an online hosted service. The online version includes sample datasets you can use like the Microsoft Northwind demo database as well the Encarta encyclopedia. Coming soon will be the ability to create your own custom datasets hosted in the Astoria online service.

John Musser

Comments

Comments(19)

User HTML

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

I read Alex's deep dive analysis above (thanks for summarizing this Alex), but how is this any different from XQuery?

The link: http://astoria.mslivelabs.com/ is not working for me, so I can't see the demo. So I can see what applications are possible now, that weren't before. Since I can't see any fundamental differences between this and XQuery, it doesn't look like this technology opens any signifcantly new possibilities.

Correct me if I'm wrong, cause I'm very interested in this stuff.

[...] ProgrammableWeb.com » Blog Archive » Microsoft Astoria for Web Data Services The Microsoft Codename “Astoria” project is an incubation effort at Microsoft focused on exploring how various emerging world-wide-web technologies and concepts can be combined with the Microsoft Data Platform to provide a first-class infrastructure f (tags: blog.programmableweb.com 2007 Astoria webservices REST) [...]

[...] Interview with Pablo Castro on Astoria - Data Services for the Web I caught up with Pablo Castro, who announced Codename Astoria - Data Services for the Web earlier today at MIX07. Here's the video of our chat together. In the meantime, there have been a number of blog posts commenting on the Astoria announcement via TechMeme: John Musser at ProgrammableWeb.com: "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." Michael Coté of Redmonk: "If you’re interested in REST, SOA (hopefully, of the REST type), 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?" Danny Ayers: "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." Alex James: "Combine REST with a conceptual model and well you get Data 2.0.Astoria leverages REST + Entity Data Model to expose data to the web.Very cool." Posted: Apr 30 2007, 11:49 PM by alexbarnett | with no comments Filed under: Microsoft, Web 2.0, Data, REST, MIX07, Astoria [...]

This site seems like a great way to find like minded people in the blogging world
and build a community. Thanks for the resources you posted,
I'll take a closer look at them myself as well. If you ever have questions about the speaking industry don't hesitate to reach out.
Thanks!

I would like to get across my gratitude for your kind-heartedness for people that really want guidance on this particular question.
Your special dedication to getting the solution all over came to be especially
informative and have without exception encouraged ladies like me to reach their goals.
Your useful information means so much to me and far more to my office colleagues.
Best wishes; from everyone of us.