.NET Framework V3.5+ & RESTful web services Mike Taulty Developer & Platform Group Microsoft Ltd Mike.Taulty@microsoft.com http://www.mtaulty.com
Agenda Windows Communication Foundation V3.5 ADO.NET Data Services Released Visual Studio 2008/.NET Framework V3.5 ADO.NET Data Services Preview – framework and tooling Latest is the December CTP, ships H1 2008 Has strong links to ADO.NET Entity Framework Both are part of ASP.NET 3.5 Extensions Preview
RESTful?
RESTful? XML JSON XML JSON Resources Res 1 URL VERB Res 2 GET Payload HTTP Request HTTP Response Status URL VERB GET POST PUT DELETE Payload XML JSON Payload XML JSON
RESTful? REpresentational State Transfer In a nutshell; Server-side resources identified by a URI Access is over HTTP, verb tied to action GET to read the value of a resource POST to create a new resource* PUT to update an existing resource* DELETE to delete a resource Returned data is “plain” – XML or JSON
RESTful?
WCF V3.5
WCF V3.5 and REST New capabilities around RESTful services webHttpBinding HTTP(S) protocol (not new in itself) URI based dispatch and parameter passing “Plain” XML/JSON serialisation New RSS/Atom publication capabilities
WCF V3.5 REST and Syndication
ADO.NET Data Services
Data Services Built on top of WCF V3.5 CRUD access to data over a RESTful interface Returns XML (ATOM format) or JSON Built-in URI-based query syntax selection, filtering, paging, sorting Client-side libraries for .NET and AJAX clients Desktop .NET and Silverlight .NET
data? what kind of data? Provide a type with public properties which are; IQueryable<T>, IEnumerable<T> Also get write access if your type implements; IUpdatable Works well with generated code from; ADO.NET Entity Framework (ObjectContext) LINQ to SQL (DataContext*)
entity framework? who he? “V3.0” Extension to the provider model Conceptual model Inheritance Relationships Composite Entities Abstractions Schema of the store SQL dialact of the store ORM & LINQ .NET Provider (EntitySQL) Conceptual Model Mapping Store .NET Provider V2.0
ADO.NET Data Services
More Data Services Capabilities Service Operations Expose more advanced functionality Query Interceptors Hook into requests for resources and run custom logic Update Interceptors Hook into modifications for resources and run custom logic
ADO.NET Data Services II
http://www.asp.net http://msdn.co.uk Resources (looking for “3.5 Extensions preview”) http://msdn.co.uk (looking for WCF V3.5 screencasts)
MSDN in the UK Visit http://msdn.co.uk Newsletter Events Screencasts Blogs