Thursday, March 05, 2009

Astoria Team Preannounces Forthcoming ADO.NET Data Services 1.5 CTP 1

Update 3/5/2009: Andrew Conrad’s “VT20, Building Data Service Applications Part 2: Applications for the Real World” session at VS Live! San Francisco provided more details about Astoria v1.5 and Windows Azure/SDS. Andy provides a link to his slide decks and source code for two Astoria sessions in his VSlive Presentations and demos post of 3/4/2009. Here’s a shortcut.

Mike Flasko’s Announcing ADO.NET Data Services v1.5 CTP1 post of 3/1/2009 reports:

ADO.NET Data Services v1.5 CTP1 is a tech preview of the next release of ADO.NET Data Services.  This release (v1.5) will target the .NET Framework 3.5 SP1 & Silverlight 2 platforms and provide new client and server side features for data service developers. …

V1.5 (this release) = A standalone web release which includes a superset of the functionality shipped in V1. … Since this is a standalone release, it will NOT be an in-place update of the v1 assemblies (System.Data.Services.*.dll) in the .NET Framework 3.5 SP1.

It sounds like it’s ready but Mike’s post is missing the download details. He writes:

We aren't yet ready to announce a release date, but we are in the close down phase of the feature set for CTP1, so we are hoping to have more to say here in the not too distant future :). [Emphasis added.]

I’m betting that it will release in conjunction with the new SQL Data Service (SDS) features to be announced at MIX 09 that Dave Robinson says will “knock your socks off.” See my A Mid-Course Correction for SQL Data Services post of 2/24/2009 for details.

Here are the enhancement and features that Mike says are planned for CTP1:

    • Data Binding: The data services client library for the .NET Framework 3.5 SP1 and Silverlight2 has been extended to support two-way data binding for WPF and Silverlight based applications.  
    • Row Count: One scenario we heard a ton of feedback on after shipping V1 of ADO.NET Data Services in the .NET Framework 3.5SP1 is the ability for the a client of a data service to determine the total number of entities in a set without having to retrieve them all.  To address this need, we have extended the data services addressing scheme to allow a client to obtain this type of information without having to download all the entities in a set.
    • Feed Customization (aka "Web Friendly Feeds"): A common ask we have received is to provide the ability to customize how entities are mapped into the various elements of an AtomPub feed.  This feature does just that by providing a data service author declarative control over how the data service runtime maps the properties of an entity (e.g. a Customer, Order, etc) to the elements of a feed.
    • Server Driven Paging: This one is best described by example.  If you had a data service that exposes photos, you likely want to limit the total number of photos a single request to the service can retrieve because the total collection of photos may be very large.  This feature allows a service author to set per collection limits on the total number of entities returned for each request.  In addition to limiting the number of photos returned per request, the server provides the client a "next link" which is simply a URI specifying how to continue retrieving the rest of the entities in the collection not returned by the first request.  For those familiar with AtomPub, this feature adds support for AtomPub <next ..> elements to the data service runtime.   For CTP1 we'll include server side support for this feature only.  Client library support will likely come in a future CTP.
    • Enhanced BLOB Support: This feature enhances the BLOB support provided in V1 to enable data services to stream arbitrarily large BLOBs, store binary content separate from its metadata, easily defer the loading of BLOB content when its metadata is requested, etc.  For CTP1 we'll include server side support for this feature only.  Client library support will likely come in a future CTP.
    • New "Data Service Provider" Interface for Custom Provider Writers: As the data services runtime has evolved, so has the number of ways people want to plug data into the data service framework.  In V1, two methods (Entity Framework and arbitrary .NET classes) were supported to enable a data service to interact with various diverse data sources.  To address another class of environments and data sources we have introduced a way to write a "custom" provider for those cases when the previous two provider models don't meet your needs.   
    • Bug Fixes: This release builds on our existing (v1) code base and will incorporate all fixes we have made to this point.

Row count, server-driven paging, and enhanced BLOB support all support v1.5 being directed to support a more relational SDS version. But there’s no mention of Astoria v1.5 on the Codename “Astoria” – SDS incubation project page that says:

This incubation project focuses on aligning SDS and ADO.NET Data Services. With this alignment SDS will support AtomPub and JSON formats. It will also provide support for established set of conventions for constructing URLs to point to resources. We are also extending ADO.NET Data Services to provide access to the flexible data stored in SDS.

I have a suspicion that FathomDB’s announcement at TechCrunch’s "Whose Cloud is It Anyway?" roundtable of a virtual managed hosting service for "standard relational databases" running on Amazon Web Services' Elatic Compute Cloud, or EC2, service had something to do with the timing of the announcement. See James Urquhart’s Microsoft and FathomDB target 'relational' clouds post of 2/28/2009 for more details.

Update 3/2/2009 1:45 PM PST: In The Cloud is the New DotCom (Video Highlights) post of 3/1/2009, Erick Schonfeld writes:

On Friday, during our cloud computing event, Whose Cloud Is It Anyway?, Charles River Ventures partner George Zachary noted, “The cloud is the new dotcom.” He was one of the judges for the demo startups, and for good or for bad, he might be right. Cloud computing as a term is broad enough to encompass most internet startups and already is in danger of being latched onto as the next catch-all category. Yet there is also obviously something there. Amazon, Salesforce, Google, Microsoft, and even Facebook all want to become the cloud platform of choice for startups and developers to build their Web apps on.

Erick includes links to four video highlights from the roundtable:

  1. Salesforce CEO Marc Benioff argues that “we are on the threshold of fundamentally a new paradigm of computing.”
  2. Amazon CTO Werner Vogels explains why Amazon is in the cloud computing business in the first place, and says that overall for cloud computing in general: “This is still Day One.”
  3. Google’s Vic Gundotra takes exception to the idea that enterprise apps mimicking consumer apps is anything new.
  4. Ning CEO Gina Bianchini talks about the importance of video in the cloud and FriendFeed co-founder Paul Buchheit talks about how consumers don’t care where all the data and applications are stored, but that applications on different cloud platforms nevertheless have to be able to seamlessly interact with each other.

Jason Kincaid’s Y Combinator’s FathomDB Takes the Hassel Out of Managing Your Database post of 2/27/2009 includes a brief description and a link to the demo at the TechCrunch roundtable.