Henrik Frystyk Nielsen Principal Architect FT55 Do You Speak REST What is REST Why REST How does NET support REST How do I get started Constrained Interactions Resource are identified by URIs ID: 134079
Download Presentation The PPT/PDF document "Developing REST Applications with the .N..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Developing REST Applications with the .NET Framework
Henrik Frystyk Nielsen, Principal Architect
FT55Slide2
Do You Speak REST?
What is REST?Why REST?
How does .NET support REST?
How do I get started?Slide3
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
hiddenSlide4
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 doingSlide5
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 relationshipsSlide6
Open Data Protocol (OData)
A RESTful protocol for data sharingIt 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 nameSlide7
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 hardwareSlide8
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 applicationWCF Core Services
Full flexibility for building operation-centric services with industry standard interop, as well as channel and host plug-ability.WCF Workflow ServicesLong running, durable operations or where the specification and enforcement of operation sequencing is importantSlide9
Windows Communication Foundation
Channel Model
Formats
(Atom, JSON, XML,…)
Transports
(HTTP, TCP, …)
Protocols
(SOAP, HTTP, Open Data Protocol,…)
Service Model
Data Contract
Service Contract
Service Behavior
Programming Model
Core Services
Web HTTP Services
Data Services
RIA Services
Workflow ServicesSlide10
DEMO
ServiceOperation style HTTP/REST services
Web
HTTP ServicesSlide11
DEMO
Exposing RESTful
data models
Data ServicesSlide12
DEMO
Rich end-to-end Silverlight apps
RIA ServicesSlide13
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 applicationSlide14
DEMO
Mixing HTTP, Data & RIA Services
>>FUTURESlide15
DEMO
New generation HTTP API
Http Client
>>FUTURESlide16
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 announcementsSlide17
Catch These Presentations
ID
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
FT12
ADO.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 ServiceSlide18
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation forms online at
MicrosoftPDC.comSlide19
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/learn
Built by Developers for Developers….Slide20Slide21