21
Developing REST Applications with the .NET Framework Henrik Frystyk Nielsen, Principal Architect FT55

Web HTTP Services Data Services

Embed Size (px)

Citation preview

Page 1: Web HTTP Services Data Services

Developing REST Applications with the .NET FrameworkHenrik Frystyk Nielsen, Principal Architect

FT55

Page 2: Web HTTP Services Data Services

Do You Speak REST?

> What is REST?> Why REST?> How does .NET support REST? > How do I get started?

Page 3: Web HTTP Services Data Services

Constrained Interactions

> Resource are identified by URIs

> Resources are exposed in terms of state

> Resources can only interact through exchange of state

> Resource behavior is hidden

Page 4: Web HTTP Services Data Services

Guiding Principles or Straight Jacket?> Loose coupling

> Resources only see each other as state> Scalability

> State is often cacheable and can be moved around> Composability

> State + State = State> Deployment

> State can be rendered in many different ways> Reuse and Interop

> State is easy to consume> Observability

> State shows what the system is doing

Page 5: Web HTTP Services Data Services

Going Beyond Retrieval

> HTTP Vocabulary> GET – get state> PUT – create/replace state> POST – insert/modify/process state> DELETE – delete state> OPTIONS – metadata

> Atom and AtomPub> Collections and link relationships

Page 6: Web HTTP Services Data Services

Open Data Protocol (OData)

> A RESTful protocol for data sharing> It all started with Astoria, or “Data

Services”> A set of conventions on top of

AtomPub> Structured data, expanded hierarchies,

queries in URLs, batching> With many products following the

conventions, it was time for a name

Page 7: Web HTTP Services Data Services

From Browsing to App Model

> Move towards HTTP/REST across all tiers> Mash-ups, Cloud Services, User Interface> Computation and Business Logic> Databases and Files> Devices and hardware

Page 8: Web HTTP Services Data Services

Service alignment

> WCF WebHttp Services (WCF REST)> Building RESTful as well as Xml over HTTP services with

control over URI/format/protocol> WCF Data Services (ADO.Net Data Services)

> Exposing data models through a RESTful interface> WCF RIA Services (.NET RIA Services)

> Building end-to-end Silverlight application> WCF Core Services

> Full flexibility for building operation-centric services with industry standard interop, as well as channel and host plug-ability.

> WCF Workflow Services> Long running, durable operations or where the

specification and enforcement of operation sequencing is important

Page 9: Web HTTP Services Data Services

Windows Communication Foundation

Channel ModelFormats

(Atom, JSON, XML,…)

Transports(HTTP, TCP, …)

Protocols(SOAP, HTTP, Open Data Protocol,…)

Service Model

Data ContractService

ContractService Behavior

Programming Model

Core Services

Web HTTP

Services

Data Services

RIA Services

Workflow

Services

Page 10: Web HTTP Services Data Services

DEMO

ServiceOperation style HTTP/REST services

Web HTTP Services

Page 11: Web HTTP Services Data Services

DEMO

Exposing RESTful data models

Data Services

Page 12: Web HTTP Services Data Services

DEMO

Rich end-to-end Silverlight apps

RIA Services

Page 13: Web HTTP Services Data Services

Demo Recap…

> WCF WebHttp Services (WCF REST)> Building RESTful as well as Xml over HTTP

services with control over URI/format/protocol

> WCF Data Services (ADO.Net Data Services)> Exposing data models through a RESTful

interface> WCF RIA Services (.NET RIA

Services)> Building end-to-end Silverlight application

Page 14: Web HTTP Services Data Services

DEMO

Mixing HTTP, Data & RIA Services

>>FUTURE

Page 15: Web HTTP Services Data Services

DEMO

New generation HTTP API

Http Client

>>FUTURE

Page 16: Web HTTP Services Data Services

What’s Next?

> What is REST?> Architectural style for state-driven applications> Key is constrained interactions

> Why REST?> Interop between cloud, on-premise, cross-

domains> Move towards resource-based application

model> How do I get started?

> .NET 4.0 Beta 2 and Silverlight 4.0 Preview> http://blogs.msdn.com/endpoint

> Blogs and announcements

Page 17: Web HTTP Services Data Services

Catch These PresentationsID Title

CL06 Networking and Web Services in Silverlight

CL07 Mastering Microsoft .NET RIA Services

CL21 Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services

FT10 Evolving ADO.NET Entity Framework in .NET 4 and Beyond

FT12ADO.NET Data Services: What’s new with the RESTful data services framework

FT13 What’s New for Windows Communication Foundation 4

PR02 Overview of SharePoint 2010 Programmability

PR12 It's All About the Services: Developing Custom Applications for Microsoft SharePoint Server 2010 Using Microsoft ASP.NET, WCF, and REST

SVC19 REST Services Security Using the Microsoft .NET Access Control Service

Page 18: Web HTTP Services Data Services

YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation

forms online atMicrosoftPDC.com

Page 19: Web HTTP Services Data Services

Learn More On Channel 9

> Expand your PDC experience through Channel 9

> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses

channel9.msdn.com/learnBuilt by Developers for Developers….

Page 20: Web HTTP Services Data Services

© 2009 Microsoft Corporation. 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.

Page 21: Web HTTP Services Data Services