MIX08 Video Presentation - ADO.NET Data Services Framework with Mike Flasko
by David Hayden, Florida C# Developer
ADO.NET Data Services is really cool, so I decided to watch another MIX08 Video with Mike Flasko: RESTful real world applications using the ADO.NET Data Services Framework.
This is the 5th MIX08 Video Presentation I have watched over the past couple of days. Here are the other 4 MIX08 Videos:
If you watched Pablo Castro's MIX08 Presentation, you will see that a lot of the same information on ADO.NET Data Services ( used to be called Project Astoria ) is presented, but it is always good to watch even similar content being delivered by different speakers in the off-chance you will get a few other nuggets of information. Mike gave a quick overview of ADO.NET Data Services, but then wanted to dive into some of the real world challenges and how to solve them:
- Leverage existing knowledge when Using ADO.NET Data Services
- Minimize Network Traffic and Maintain Expressive Service Contract
- Provide Secure Data Access
- Manage Concurrent Operations
- Access Data via Stored Procedures or Data Not In A Database
The key here is that the ADO.NET Data Services Team has done a lot of good work on making ADO.NET Data Services easily consumable given what we know about accessing data from a database today. There are libraries that allow you to access the data services in the normal class style approach for .NET, Javascript via JSON, and even Silverlight:
After we see the ADO.NET Data Services Framework Beta 1 in a few weeks, they will eventually ship a ASP.NET Data Source Control for the ADO.NET Data Service, called DataServiceDataSource in the MIX08 Presentation. Mike even showed some concept controls from ComponentOne using WPF to ADO.NET Data Services.
As I mentioned in Pablo's presentation of ADO.NET Data Services Framework, there are concepts on Lazy-Loading and Eager Loading in ADO.NET Data Services just like with an O/R Mapper that help with minimizing data and network roundtrips when querying data, etc.
The thing about security is that the ADO.NET Data Services Team didn't re-invent the wheel, but instead expect the environment to secure access to the service. For a website, you might use forms authentication to securely access to the servce, and then use Access Rules and Rights to secure certains entities within the model. For finer grain security you have the ability to create QueryInterceptors. Get to know QueryInterceptors :)
As I mentioned with Pablo Castro's presentation, ADO.NET Data Services does not need to work with a database, but instead works with IQueryable and IUpdatable Interfaces. This is why, for example, you can create your own in-memory datasources and make them accessible via IEnumerable.AsQueryable() as well as use LINQ To SQL for read-only scenarios without having to use the ADO.NET Entity Framework.
During the presentation, they showed off a rich web-client application that uses ADO.NET Data Services as well as an offline scenario the ADO.NET Data Services Team is thinking about that stores data locally and then syncs with the datastore at a later time.
This is going to be really cool stuff.
MIX08 Information
Author: David Hayden, http://www.davidhayden.com/