time for a rest - .net framework v3.5 & restful web services

19
.NET Framework V3.5+ & RESTful web services Mike Taulty Developer & Platform Group Microsoft Ltd [email protected] http://www.mtaulty.com

Upload: ukdpe

Post on 24-May-2015

3.290 views

Category:

Documents


1 download

DESCRIPTION

Building Services: .NET FX 3.5, SOAP, REST, and Beyond Most developers will be aware of various Microsoft technologies to help build SOAP services, the latest of which are WCF and WF in .NET FX 3.5, but there’s another world of services outside SOAP. Recently Microsoft has been very active in its support for, and use of, REST as a mechanism for implementing services. This event will cover recent and forthcoming technologies for building services with SOAP and REST, and we’ll explain REST for the uninitiated. Agenda: Session 1: The SOAP Story In this session we’ll do a lighting quick re-cap of what SOAP is, what specs surround it before looking at how far the SOAP programming model has come in Microsoft’s latest-and-greatest stack – Windows Communication Foundation (WCF) V3.5. We’ll talk about different approaches to building services and we’ll take a good look at the integration between WCF V3.5 and Windows Workflow Foundation (WF) V3.5 which opens up a whole new way of implementing services. Session 2: Time for a REST Web applications have evolved; using technologies like AJAX and Silverlight they have rich client-side code that wants to consume services, but they prefer JSON, “plain xml” and REST. In this session we’ll introduce REST for the uninitiated, and we’ll demonstrate some of the new and forthcoming technology that Microsoft has for working with REST: WCF 3.5, Web3S, Windows Live Data, and Codename “Astoria”. For more details and the original slidedeck visit http://www.microsoft.com/uk/msdn/events/new/Detail.aspx?id=316

TRANSCRIPT

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

.NET Framework V3.5+ & RESTful web servicesMike TaultyDeveloper & Platform GroupMicrosoft [email protected]://www.mtaulty.com

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

Agenda

Windows Communication Foundation V3.5ReleasedVisual Studio 2008/.NET Framework V3.5

ADO.NET Data ServicesPreview – framework and toolingLatest is the December CTP, ships H1 2008Has strong links to ADO.NET Entity Framework

– Both are part of ASP.NET 3.5 Extensions Preview

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

RESTful?

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

RESTful?

Resources

Res 1

Res 2

Res 3

Res 4

HTTP RequestURL

VERBPayload

HTTP ResponseStatus

GETPOSTPUT

DELETEXML JSON

Payload

XML JSON

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

RESTful?

REpresentational State TransferIn a nutshell;

Server-side resources identified by a URIAccess 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

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

RESTful?

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

WCF V3.5

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

WCF V3.5 and REST

New capabilities around RESTful serviceswebHttpBinding

– HTTP(S) protocol (not new in itself)– URI based dispatch and parameter passing– “Plain” XML/JSON serialisation

New RSS/Atom publication capabilities

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

WCF V3.5 REST and Syndication

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

ADO.NET Data Services

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

Data Services

Built on top of WCF V3.5CRUD access to data over a RESTful interface

Returns XML (ATOM format) or JSON

Built-in URI-based query syntaxselection, filtering, paging, sorting

Client-side libraries for .NET and AJAX clientsDesktop .NET and Silverlight .NET

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

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;

IUpdatableWorks well with generated code from;

ADO.NET Entity Framework (ObjectContext)LINQ to SQL (DataContext*)

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

entity framework? who he?

Extension to the provider modelConceptual model

InheritanceRelationshipsComposite Entities

AbstractionsSchema of the storeSQL dialact of the store

Store

.NET Provider

V2.0

Conceptual Model

.NET Provider(EntitySQL)

ORM & LINQ

“V3.0”

Map

ping

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

ADO.NET Data Services

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

More Data Services Capabilities

Service OperationsExpose more advanced functionality

Query InterceptorsHook into requests for resources and run custom logic

Update InterceptorsHook into modifications for resources and run custom logic

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

ADO.NET Data Services II

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

Resources

http://www.asp.net(looking for “3.5 Extensions preview”)

http://msdn.co.uk(looking for WCF V3.5 screencasts)

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

MSDN in the UK

Visit http://msdn.co.uk NewsletterEventsScreencastsBlogs

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

© 2007 Microsoft Ltd. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the

date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.