The “data programmability” team at Microsoft is responsible for the various technologies developers use in applications to access and manipulate data. One of the topics we have been looking at lately is how “new” internet applications use data in the web environment. Project codename “Astoria” reflects our current thinking on the topic. Instead of telling “what we are going to build”, we decided to make the bits and infrastructure public for the development community to look at and give us feedback.
Today we are making a very early experimental release of Project Codename “Astoria”. This Community Tech Preview (CTP) release has a dual nature; we are shipping both CTP bits you can download, install and run on your own systems; we are also making available an experimental online service that we hope will help better understand the requirements and use cases of data interfaces in the web.
So, what does it do?
Astoria exposes “data services” that enable applications to access and manipulate data over regular HTTP connections, using URIs to identify pieces of information within the data service, and simple payload formats such as XML and JSON to represent the data exchanged between the client and the server.
What is it useful for?
There are a number of scenarios that we think are interesting for this technology. Most of the scenarios are related to the way new web applications are built.
This separation is even stronger in rich internet applications built on technologies such as Silverlight and Flash. The code that is delivered to the client when a user hits the web application is pre-compiled and it contains no data at all other than any hardcoded information. Again, these applications talk back to their servers to retrieve data, manipulate it and push changes back into the service for storage.
Astoria data services are designed to address this space. They present data in a uniform way that can be consumed by any client that can connect over HTTP and parse XML or JSON. The uniform URI and payload format patterns mean that user-interface widgets can be built so they work against any particular shape of data (“schema” if you will) that is exposed through the service.
Where is it?
The main site is here: http://astoria.mslivelabs.com
This document introduces the concepts and motivations for Astoria.
You can also see and interact with several sample data-sets that are already available on the experimental online service. Click on the “Online Service” link in the link bar.
Looking forward to hearing your feedback.