Saturday, March 01, 2008

Atom and AtomPub Support Extended to Windows Live Photos and Application Based Storage

Updated 3/1/2008: Two MIX08 Astoria sessions added.
Updated 3/8/2008: Links to MIX08 presentations and comments based on information from MIX08 added.

The David Treadwell on New and Updated Windows Live Platform Services post of February 27, 2008 to the Windows Live Dev News blog includes an "Atom Publishing Protocol (AtomPub) as the future direction" topic. Under it Dave says:

Microsoft is making a large investment in unifying our developer platform protocols for services on the open, standards-based Atom format (RFC 4287) and the Atom Publishing Protocol (RFC 5023). At MIX we are enabling several new Live services with AtomPub endpoints which enable any HTTP-aware application to easily consume Atom feeds of photos and for unstructured application storage (see below for more details). Or you can use any Atom-aware public tools or libraries, such as .NET WCF Syndication to read or write these cloud service-based feeds. [Emphasis added.]

In addition, these same protocols and the same services are now ADO.NET Data Services (formerly known as “ Project Astoria”) compatible. This means we now support LINQ queries from .NET code directly against our service endpoints, leveraging a large amount of existing knowledge and tooling shared with on-premise SQL deployments.

The "Application Based Storage" topic includes this description:

Application Based storage is an experimental API which allows application developers to store a small amount of state/configuration data in the Windows Live data centers on behalf of a user. This API has an AtomPub service end point so developers will be able to call this using ADO.NET data services or other AtomPub compatible tools. The real value kicks in here if an application was to have hundreds of thousands of users as the storage is offloaded to Windows Live infrastructure. [Emphasis added.] 

The service and documentation will be available next week.

David Treadwell is Microsoft's Corporate Vice President, Live Platform Services, which include "unified identity and directory, data synchronization, transport and presence, among others." He's also the Microsoft representative to

(Thanks to Mary Jo Foley for the heads up on this post.)

Impact on the Astoria Client Library and LINQ to REST

This announcement indicates that LINQ to REST will turn into LINQ to Atom or the like and apply to a wider range of services than just Astoria. Stay tuned for more details from MIX 08.

Update 3/8/2008: Extension of Atom/AtomPub formats to the Windows Live Photo API, Application-Based Storage, and ultimately to SQL Server Data Services caused Microsoft to rechristen ADO.NET Data Services as the ADO.NET Data Services Framework. The Astoria client translates LINQ query expressions and method call syntax to Atom's HTTP GET query URIs. Invoking DataContext.SaveChanges() generates AtomPub messages and invokes HTTP POST (insert), PUT (update) or DELETE methods.

Standardization on Atom and AtomPub marks the demise of Microsoft's late and unlamented Web3S (Web Structured, Schema’d & Searchable), a proprietary format targeting Windows Live services. Like Sam Ruby, my take was that Web3S didn't support the Web, Schemas or Search and wasn't Structured. The announcement marks a significant milestone in data portability

Hopefully, the Project Astoria team will announce a version of LiveLabs' hosted ADO.NET Data Services that's compatible with the new ADO.NET Data Services CTP, which is expected to release during MIX 08.

Dare Obasanjo seconds the motion to adopt Atom and AtomPub for the Windows Live Photo API in his Windows Live Platform News: Microsoft Standardizes on AtomPub for Web Services and Other Stories post of February 28, 2008:

Moving the API to AtomPub is one of the consequences of the decision to standardize on AtomPub for Web services provided by Windows Live. Although I was part of the original decision to expose the API using WebDAV, I like the fact that all of our APIs will utilize a standard protocol and can take advantage of the breadth of Atom and AtomPub libraries that exist on various platforms.

Update 2/29/2008: In his New Windows Live Services will be compatible with Astoria post of February 29, 2008, Andy Conrad verifies that the current (presumably updated) ADO.NET Data Services client library will work with the newly announced Windows Live services.

According to Andy, Pablo Castro will deliver the following presentation on the subject:

RESTful Data Services with the ADO.NET Data Services Framework

Wednesday, March 5 4:30 PM - 5:45 PM, Lando 4204
Speaker(s): Pablo Castro
Audience(s): Technical
Session Type: Breakout

Learn how to use ADO.NET Data Services Framework to easily create and consume REST data services on the web. This session will cover the main concepts of the ADO.NET Data Services Framework (aka Project "Astoria"), show how to use it, and discuss how to use it with Microsoft's broader vision of a common interface for Windows Live and 3rd party services.

The MIX08 folks plan to have video segments of talks available 24 to 48 hours after the presentation.

Update 3/1/2008: Mike Flasko noted two additional Astoria-related presentations:

Building RESTful Real World Applications with the ADO.NET Data Services Framework

Friday, March 7 11:45 AM - 1:00 PM, Delfino 4101A
Speaker(s): Mike Flasko
Audience(s): Business, Technical
Session Type: Breakout

Come hear from developers creating real-world applications and user-interface controls on top of the ADO.NET Data Services Framework (aka Project "Astoria"). Learn best practices for building RESTful applications and components.

Accessing Windows Live Services via AtomPub

Friday, March 7 8:30 AM - 9:45 AM, Delfino 4105
Speaker(s): Pablo Castro
Audience(s): Technical
Session Type: Breakout

Come learn how Microsoft is moving towards a unified approach for accessing online services based on AtomPub. We cover how all Windows Live services can be accessed using AtomPub as well as how integrated Microsoft Visual Studio support including ADO.NET Data Services Framework (aka Project "Astoria") allows anyone to easily develop, deploy, and access online services using AtomPub.

Note: Moved from LINQ and Entity Framework Posts for 2/25/2008+ on 2/29/2008 due to length and updates.


Pablo Castro said...

Quick clarification: I'll be doing two sessions at Mix. The one you mentioned, "RESTful Data Services with the ADO.NET Data Services Framework", will focus on Astoria itself (runtime, tools, etc.); there is another session called "Accessing Windows Live Services with AtomPub" that will be dedicated to discuss AtomPub support in Windows Live services (and others), the Astoria support for those services and related items. While I'm at this, we'll also have a separate Astoria session focused on scenarios that Mike Flasko will deliver.

--rj said...



Updated based on post from Mike's blog and data from Mix sessions list.