Announcing ADO.NET Data Services v1.5 CTP1

It's been a little while since we've written about the future direction of data services, so this post is intended to layout our thinking towards our next release.  The release described below isn't yet available, but should be in the coming months, so stay tuned :).  The rest of this post will discuss the specifics of the release being announced and what to expect in terms of features in CTP1.

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. 

Why is v1.5 in the name?

V1 = The release of the ADO.NET Data Services runtime and client libraries included in the .NET Framework 3.5 SP1 and Silverlight 2

V1.5 (this release) = A standalone web release which includes a superset of the functionality shipped in V1.

How does this release relate to ADO.NET Data Services as shipped in the .NET Framework 3.5 SP1?  

This release (v1.5 CTP1) is a standalone release and represents our in progress work towards the next version of the ADO.NET Data Service technology we shipped in the .NET Framework 3.5 SP1.  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.  Instead, this release will coexist with v1, allowing you the choice of building applications against either release.  Like v1, this release also targets the .NET Framework 3.5 SP1 so we can quickly iterate on a feature set which makes it easier to use data services in cloud services (e.g. Windows Azure Table Storage, etc) and to address the needs of web-focused applications which iterate on a relatively short cycle. 

How does this release relate to Silverlight 2?

This release (v1.5 CTP1) will include an updated client library for consuming data services from Silverlight 2.  The additional features included are described in the feature list below.  

How does this release relate to the next release of the .NET Framework (ie. .NET Framework 4.0)?

As noted above, ADO.NET Data Services v1.5 will initially target the .NET Framework 3.5 SP1 and Silverlight 2 platforms and will likely be released prior to the .NET Framework 4.0 platform.  A future version of this standalone release (v1.5) will be created to support the .NET Framework 4.0 platform. 

When will v1.5 CTP1 ship?

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 :).

What's coming in CTP1?

ADO.NET Data Services v1.5 CTP1 will include the following enhancements and features:

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.

We've already discussed some of the features above in our transparent design process notes on this blog (example: here and here).  This CTP release represents our take at addressing these areas, so when the release becomes available, please give these features a spin and let us know what you think.

As we get closer to having the CTP1 bits ready to make available on the download center, we'll post additional documentation, samples, etc. as "getting started" material for the features.

-Mike Flasko

ADO.NET Data Services Program Manager

Comments

  • Anonymous
    March 01, 2009
    Congratulations; this is big news and very exciting. Great post.
  • Anonymous
    March 01, 2009
    URL : http://blogs.msdn.com/astoriateam/archive/2009/... Mike Flasko announced today the availablility
  • Anonymous
    March 01, 2009
    Mike Flasko, Program Manager ADO.NET Data Services рассказал о предстоящем выпус
  • Anonymous
    March 01, 2009
    HI MikeIs this functionality the one presented on PDC as Alexandria Project ?
  • Anonymous
    March 02, 2009
    Does the "two-way" data binding for Silverlight mean that we will no longer have to explicitly call AddObject, UpdateObject, DeleteObject when a proxy object is modified?...Please say yes :)
  • Anonymous
    March 02, 2009
    Mike Flasko announced over the weekend on The Project Astoria Team Blog that the timeframe for the ADO.NET Data Services v1.5 CTP1 to be released “should be in the coming months”. So what are they adding Details were not too specific as you might have
  • Anonymous
    March 02, 2009
    Thank you for submitting this cool story - Trackback from DotNetShoutout
  • Anonymous
    March 02, 2009
    Mike Flasko announced over the weekend on The Project Astoria Team Blog that the timeframe for the ADO
  • Anonymous
    March 02, 2009
    Though not explicitly mentioned, does this release have anything to do with the incubation project for accessing SDS:http://www.microsoft.com/azure/SDSAstoria.mspxI would really like to see full support for SDS.
  • Anonymous
    March 02, 2009
    What about offline/sync support?
  • Anonymous
    March 02, 2009
    Ontem foi anunciado que o CTP1 do ADO.NET Data Services v1.5 (antes conhecido como Astoria) está a caminho!
  • Anonymous
    March 02, 2009
    Yesterday we announced that we will be releasing an update to ADO.NET Data Services that we are calling
  • Anonymous
    March 02, 2009
    DotNetBurner.com - news and articles about .net DotNetBurner
  • Anonymous
    March 02, 2009
    >>What about offline/sync support?we should have an update on where we are with Sync/Offline support posted in the near future.  This release (ADO.NET Data Services v.15) represents v.next of the production version of data services while "Astoria Offline" is still more in the exploration stage.  Given this, we wanted to keep our communication of the two releases mostly seperated...-Mike
  • Anonymous
    March 02, 2009
    Seit letztem Jahr arbeiten wir an einem Projekt, welches die ADO.NET Data Services (aka Astoria) einsetzt, um auf die Daten einer Microsoft SQL 2008 Datenbank zuzugreifen. Der Einsatz der Technologie hat gezeigt, das die Theorie zu REST + SQL Server DB
  • Anonymous
    March 03, 2009
    Great news, Mike.Any chance to get support for aggregate functions? e.g. I want to get total sales ( Sum(SalesOrder.Amount) ) for a particular customer.
  • Anonymous
    March 03, 2009
    will support for DateTimeOffset be included in V1.5?
  • Anonymous
    March 05, 2009
    先日ですが、ADO.NET Data Services v1.5 CTP1のアナウンスがありました。 http://blogs.msdn.com/astoriateam/archive/2009/03/01/announcing-ado-net-data-services-v1-5-ctp1.aspx
  • Anonymous
    March 06, 2009
    In case you haven't seen this... here it is, check it out http://blogs.msdn.com/astoriateam/archive/2009/03/01/announcing-ado-net-data-services-v1-5-ctp1.aspx
  • Anonymous
    March 06, 2009
    ADO.Net Data Services Offline (“Astoria” Offline) – Alpha Preview While only a week ago, the Astoria
  • Anonymous
    March 07, 2009
    > Any chance to get support for aggregate >>functions? e.g. I want to get total sales ( Sum >(SalesOrder.Amount) ) for a particular customer[mike flasko] this currently isnt in our initial plan for 1.5, but is something that gets asked for a fair amount, so we'll keep this on our radar.  For now you can use a service operation to expose a custom function.   >Does the "two-way" data binding for Silverlight >>mean that we will no longer have to explicitly call >>AddObject, UpdateObject, DeleteObject when a >>proxy object is modified?[mike flasko] yes, that is the goal.  It allows you to work with ObservableCollections and then we map actions on the collection to actions on a DataServiceContext.  Our mapping of collection actions to context call is configurable if you dont like our default choices :) > will 1.5 support datetimeoffset[mike flasko] we are considering it, but at this point it is currently not in scope for the release.  I'd be interested in hearing  more about your scenarios (please do send us a note via this blog)
  • Anonymous
    March 07, 2009
    In October of last year we started to talk publicly about an exploration project we called &#8220;Astoria
  • Anonymous
    March 07, 2009
    Can you give an example of the two-way data binding.Helps to know more about these features
  • Anonymous
    March 07, 2009
    We announced two releases this week, kind of usual but it worked out this way. The first one is the first
  • Anonymous
    March 08, 2009
    Comme annonc&#233; mais non montr&#233; aux Techdays 2009 car la version n'&#233;tait malheureusement
  • Anonymous
    March 08, 2009
    Como de esto me va a tocar probar alguna cosa, os cuento que ya tenemos disponible la primera versión
  • Anonymous
    March 09, 2009
    Will EF Navigation Properties on Derived types (not present on the base type) be supported in ADO.NET Data Services V1.5?
  • Anonymous
    March 09, 2009
    Last Week Mike Flasko from the ADO.NET Data Services (Astoria) Team blogged about what’s coming in V1.5
  • Anonymous
    March 09, 2009
    Now that you are offering a 1.5 out-of-band release, should we expect additional improvements (2.0?) in the 10.4 time or is that kind of discussion to early?
  • Anonymous
    March 10, 2009
    Es Sábado en la noche y estoy aún en Seattle organizando mis cosas y haciendo investigación sobre toda
  • Anonymous
    March 11, 2009
    >>Will EF Navigation Properties on Derived types >>>(not present on the base type) be supported in >>>ADO.NET Data Services V1.5?[mike flasko] I'm not sure yet if this support will make it into the release.  I'd be very interested to hear from anyone that would like to see this added.   >>Now that you are offering a 1.5 out-of-band >>>release, should we expect additional >>>improvements (2.0?) in the 10.4 time or is that >>>kind of discussion to early?[mike flasko] we're still working out those plans.  So, yes, its a bit early for those discussions
  • Anonymous
    March 12, 2009
    Mike, I would love to see navigation properties supported on derived types in 1.5. I could really leverage this in an upcoming service that will  use the 1.5 release.Would really like joins and projections in the 2.0 release, when ever that is.
  • Anonymous
    March 13, 2009
    The ADO.NET Data Services team has announced that ADO.NET Data Services 1.5 is will be made available
  • Anonymous
    March 13, 2009
    Will EF Navigation Properties on Derived types (not present on the base type) be supported in >ADO.NET Data Services V1.5? [mike flasko] I'm not sure yet if this support will >make it into the release.  I'd be very interested to >hear from anyone that would like to see this added.We're using EF schemas with entity inheritance in our projects. Without support ADO.NET DS is totally useless for us. :(
  • Anonymous
    March 14, 2009
    Very nice. This will further reduce any non-value added 'baggage' a developer must do to just make data services work (in general - cross technology) as that is how we are measured by the domain stakeholders.
  • Anonymous
    March 17, 2009
    Two weeks ago we announced the ADO.NET Data Services v1.5 release.&#160; Today we're very happy to say
  • Anonymous
    March 17, 2009
    You've been kicked (a good thing) - Trackback from DotNetKicks.com
  • Anonymous
    March 18, 2009
    Денис Холод уже написал , что на MIX был представлен ряд обновлений для Azure . Что еще было представлено
  • Anonymous
    March 19, 2009
    Сейчас в Лас-Вегасе проходит ежегодная конференция MIX&#39;09 . На ней представлены новые релизы продуктов
  • Anonymous
    March 28, 2009
    Any samples showing these new features ?(I'm interested in the parts that effect Silverlight)Also - does this all work with Silverlight 3, or just 2 ?Thanks
  • Anonymous
    April 06, 2009
    How can we handle PUT and DELETE ?
  • Anonymous
    April 15, 2009
    I have three seperate tables loaded into my silverlight 2.0 c# program, using ADO.Table A is loaded first.Table B is loaded Second.Table C is loaded Third.I am using the exact logic for updating, inserting and deleteing that is found in the Silverlight 2 ADO Documentation.If I update Table C, everything works.If I update table A or B I get the tracking error.If I switch the order, loading table B last, which makes it the most current table,  the updating works just fine.Then, if I try to update table C, I get the tracking error.How do I establish the tracking, in the code, so I can update any or all three of the tables?Thank You
  • Anonymous
    April 23, 2009
    Mike - any word on if you guys will be able to aim for navigation properties supported on derived types in 1.5? Having this sooner rather than later could be a big plus toward projecting complex EF models across the web.
  • Anonymous
    May 03, 2009
    ApparentlySQLDataServices(SDS)wasn
  • Anonymous
    May 05, 2009
    Are there any plans for the generated .net client to have better support for service operations?
  • Anonymous
    June 03, 2009
    In SQL 2008 we are using the DateTimeOffset type.  Initially I built out our EF model using DateTimeOffset only to find out that it doesn't work correctly.  How should this be represented since Data Services doesn't support it?  Do I need to change the EF model to a standard DateTime, and if so will the conversion work correctly when writing to SQL?Thanks for your help.-Damien
  • Anonymous
    July 02, 2009
    Same with the TIME data type - any chance of it being supported in 1.5?
  • Anonymous
    July 02, 2009
    we likely will not get new data type support in for 1.5. We will track it for future though.
  • Anonymous
    July 23, 2009
    Apparently derived navigation properties didn't make it into the 1.5 release? Any timeline on this? Not having it causes big issues for us.
  • Anonymous
    July 23, 2009
    Correction: They didn't make it into the CTP1 release. Any hints about the next release?