WCF REST - Adnan Masood

Download Report

Transcript WCF REST - Adnan Masood

HOW TO BUILD A SIMPLE REST
BASED SERVICE IN WCF
Adnan Masood
www.AdnanMasood.com
ABOUT ME
AKA.
•
•
•
•
•
•
•
•
SHAMELESS SELF PROMOTION
Sr. Software Engineer / Tech Lead for Green Dot Corp. (Financial
Institution)
Design and Develop Connected Systems
Involved with SoCal Dev community, co-founded San Gabriel Valley
.NET Developers Group. Published author and speaker.
MS. Computer Science, MCPD (Enterprise Developer), MCT,
MCSD.NET
Doctoral Student - Areas of Interest: Machine learning, Bayesian
Inference, Data Mining, Collaborative Filtering, Recommender
Systems.
Contact at [email protected]
Read my Blog at www.AdnanMasood.com
Doing a session in IASA 2008 in San Francisco on Aspect Oriented
Programming; for details visit http://www.iasaconnections.com
WHAT IS REST?
• REST is a term coined by Roy
Fielding in his Ph.D dissertation [1] to
describe an architecture style of
networked systems.
[1] http://www.ebuilt.com/fielding/pubs/dissertation/top.htm
WCF SUPPORT TO REST

WebHttpBinding: Sends information directly
over HTTP or HTTPS—no SOAP envelope is
created. This binding is new with the .NET
Framework 3.5 version of WCF, and it’s the right
choice for RESTful communication and other
situations where SOAP isn’t required. The
binding offers three options for representing
content: text-based XML encoding, JavaScript
Object Notation (JSON) encoding, and opaque
binary encoding.
Examples
• http://example.com/users/
http://example.com/users/{user} (one for each user)
http://example.com/findUserForm
http://example.com/locations/
http://example.com/locations/{location} (one for
each location)
http://example.com/findLocationForm
REST VS. SOAP
– Enhanced Caching
– Invocation vs. Resource
– Bloat vs. Simplicity
– Proxy Servers
– Web evolution (semantic Web)
– Generic Uri based interface via
UriTemplates (versus custom SOAP
interface)
– Interoperability
REFERENCES
• HTTP Programming with WCF and the .NET Framework 3.5 Justin Smith
http://msdn.microsoft.com/msdnmag/issues/08/01/WCFinOrcas/d
efault.aspx
• What's New for WCF in Visual Studio 2008 – Juval Lowy
http://msdn.microsoft.com/msdnmag/issues/08/02/Foundations/d
efault.aspx
• RESTful Web Services By Leonard Richardson, Sam Ruby
http://www.amazon.com/RESTful-Web-Services-LeonardRichardson/dp/0596529260
• Mix 2007 Talk by Don Box and Steve Maine “DEV03 Navigating the Programmable Web”
http://sessions.visitmix.com/default.asp?event=1011&session=20
12&pid=DEV03&disc=&id=1512&year=2007&search=DEV03
REFERENCES
•
Paul Prescod has written several excellent articles on REST:
– Second Generation Web Services
• http://www.xml.com/pub/a/2002/02/06/rest.html
– REST and the Real World
• http://www.xml.com/pub/a/2002/02/20/rest.html
– SOAP, REST and Interoperability
• http://www.prescod.net/rest/standardization.html
– Evaluating XML for Protocol Control Data
• http://www.prescod.net/xml/envelopes/
• Wikipedia Entry on REST
• http://en.wikipedia.org/wiki/Representational_State_Transfer
• Publishing RSS and ATOM Feeds using WCF 3.5 Syndication Libraries
• http://www.codeproject.com/KB/WCF/WCF35RSSATOM.aspx
• Exploring WCF 3.5 Tools - WcfSvcHost and WcfTestClient
• http://www.codeproject.com/KB/WCF/WCF35Utils.aspx
• Web Service Studio
• http://www.codeplex.com/WebserviceStudio
• JSON
• http://en.wikipedia.org/wiki/JSON
CONCLUDING REMARKS
REST is a “new” paradigm for .NET Developers;
a new way to think about programming web
services but it’s not really new since we have
been using it for a long time over the web.
 Any Questions / Comments … feel free to contact
[email protected]
 Visit www.AdnanMasood.com
