.NET Framework V3.5+ &  RESTful  web services Mike Taulty Developer & Platform Group Microsoft Ltd [email_address] http://www.mtaulty.com
Agenda Windows Communication Foundation V3.5 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? Resources Res 1 Res 2 Res 3 Res 4 HTTP Request URL VERB Payload HTTP Response Status GET POST PUT DELETE XML JSON Payload XML JSON
RESTful? RE presentational  S tate  T ransfer 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?  Extension to the provider model Conceptual model Inheritance Relationships Composite Entities Abstractions Schema of the store SQL dialact of the store “ V3.0” Store .NET Provider V2.0 Conceptual Model .NET Provider (EntitySQL) ORM & LINQ Mapping
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
Resources http://www.asp.net (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
 

Time for a REST - .NET Framework v3.5 & RESTful Web Services

  • 1.
    .NET Framework V3.5+& RESTful web services Mike Taulty Developer & Platform Group Microsoft Ltd [email_address] http://www.mtaulty.com
  • 2.
    Agenda Windows CommunicationFoundation V3.5 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
  • 3.
  • 4.
    RESTful? Resources Res1 Res 2 Res 3 Res 4 HTTP Request URL VERB Payload HTTP Response Status GET POST PUT DELETE XML JSON Payload XML JSON
  • 5.
    RESTful? RE presentational S tate T ransfer 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
  • 6.
  • 7.
  • 8.
    WCF V3.5 andREST 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
  • 9.
    WCF V3.5 RESTand Syndication
  • 10.
  • 11.
    Data Services Builton 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
  • 12.
    data? what kindof 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* )
  • 13.
    entity framework? whohe? Extension to the provider model Conceptual model Inheritance Relationships Composite Entities Abstractions Schema of the store SQL dialact of the store “ V3.0” Store .NET Provider V2.0 Conceptual Model .NET Provider (EntitySQL) ORM & LINQ Mapping
  • 14.
  • 15.
    More Data ServicesCapabilities 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
  • 16.
  • 17.
    Resources http://www.asp.net (lookingfor “3.5 Extensions preview”) http://msdn.co.uk (looking for WCF V3.5 screencasts)
  • 18.
    MSDN in theUK Visit http://msdn.co.uk Newsletter Events Screencasts Blogs
  • 19.