RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5

RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5

by Jon Flanders
RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5

RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5

by Jon Flanders

eBook

$23.99  $31.99 Save 25% Current price is $23.99, Original price is $31.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

RESTful .NET is the first book that teaches Windows developers to build RESTful web services using the latest Microsoft tools. Written by Windows Communication Foundation (WFC) expert Jon Flanders, this hands-on tutorial demonstrates how you can use WCF and other components of the .NET 3.5 Framework to build, deploy and use REST-based web services in a variety of application scenarios.

RESTful architecture offers a simpler approach to building web services than SOAP, SOA, and the cumbersome WS- stack. And WCF has proven to be a flexible technology for building distributed systems not necessarily tied to WS- standards. RESTful .NET provides you with a complete guide to the WCF REST programming model for building web services consumed either by machines or humans. You'll learn how to:

  • Program Read-Only (GET) services
  • Program READ/WRITE services
  • Host REST services
  • Program REST feeds
  • Program AJAX REST clients
  • Secure REST endpoints
  • Use workflow to deliver REST services
  • Consume RESTful XML services using WCF
  • Work with HTTP
  • Work with ADO.NET Data Services (Astoria)

RESTful .NET introduces you to the ideas of REST and RESTful architecture, and includes a detailed discussion of how the Web/REST model plugs into the WCF architecture. If you develop with .NET, it's time to jump on the RESTful bandwagon. This book explains how.

"While REST is simple, WCF is not. To really understand and exploit this part of WCF requires a knowledgeable and experienced guide. I don't know anybody who's better suited for this role than Jon Flanders. ...Jon is first-rate at explaining complicated things. This book is the best introduction I've seen to creating and using these services with WCF."--David Chappell, Chappell & Associates


Product Details

ISBN-13: 9780596554330
Publisher: O'Reilly Media, Incorporated
Publication date: 11/21/2008
Sold by: Barnes & Noble
Format: eBook
Pages: 310
File size: 8 MB

About the Author

Although Jon Flanders spent the first few years of his professional life as an attorney, he quickly found chasing bits more interesting than chasing ambulances. After working with ASP and COM, he made the move to .NET. Jon is most at home spelunking, trying to figure out exactly how .NET (specifically ASP.NET and Visual Studio .NET) works. Deducing the details and disseminating that information to other developers is his passion.

Table of Contents

Foreword ix

Preface xi

1 REST Basics 1

Architecture of the World Wide Web 1

SOAP 4

REST 5

Resources and URIs 5

Uniform Interface 7

Resource Representations 9

Implementing a Simple RESTful Service Example 11

Resources 11

URIs and Uniform Interface 11

Representations 12

Interaction 13

Wrap-Up 14

Processes 16

Summary 16

2 WCF RESTful Programming Model 19

Isn't WCF All About SOAP? 19

Channels and Dispatching 19

HTTP Programming with WCF 3.0 22

Web Programming in WCF 3.5 27

WebHttpBinding 30

WebHttpBehavior 30

WebServiceHost 31

WebOperationContext 31

WebGetAttribute 32

UriTemplate 33

UriTemplate Literal Values 42

UriTemplate Special Values 43

UriTemplate QueryString 43

Summary 44

3 Programming Read-Only Services 47

Using WebGetAttribute and UriTemplate 47

Data Formats 49

Message 50

DataContract 52

XmlSerializer 55

Hybrid Approach 57

Summary 58

4 Programming Read/Write Services 59

POST, PUT, and DELETE 59

Using WebInvokeAttribute 60

Resources 60

URIs and Uniform Interface 60

Representations 61

Implementation 61

Summary 71

5 Hosting WCF RESTful Services 73

WCF REST Hosting Isn't a Special Case 73

Self-Hosting 74

Configuring, Opening, and Closing a ServiceHost 74

Base Addresses 79

ServiceHost Versus WebServiceHost 80

Custom ServiceHost 84

Hosting in IIS 86

ASP.NET Compatibility 92

Multiple Hostnames 95

Removing the .svc File Extension 96

Custom ServiceHostFactory 98

Hosting Wrap-Up 99

Summary 99

6 Programming Feeds 101

Building a Feed with WCF 101

SyndicationItem 105

Formatters 107

Exposing a Feed on a Live URI 110

Feed Validation 111

Adding Links to a Feed115

Summary 117

7 Programming Ajax and Silverlight Clients 119

WCF Web Services and Ajax 120

JSON 123

JSON-Enabling a Service Endpoint 127

ASP.NET Ajax 132

Silverlight 1.0 141

Silverlight 2.0 142

Parsing XML in Silverlight 2.0 144

Parsing JSON in Silverlight 2.0 151

Consuming Feeds in Silverlight 2.0 152

Cross-Domain Security in Silverlight 2.0 154

Returning JSON and XML Conditionally with a Single Method 154

Summary 157

8 Securing REST Endpoints 159

Authenticating: Self-Hosted Endpoints 159

Setting Endpoint Security: WebHttpBinding.Security's Mode Property 161

Setting Authentication Requirements: WebHttpBinding's Transport Property 165

Authenticating: Managed Hosting Endpoints 169

Authorizing Endpoints 170

Authorization with Impersonation 170

Role-Based Authorization 171

Summary 174

9 Using Workflow to Deliver REST Services 175

Consuming REST Services from WF 175

The SendActivity Instance 176

The ReceiveActivity Instance 181

Stateless Workflow Services 182

Stateful Workflow Services 189

Summary 193

10 Consuming RESTful XML Services Using WCF 195

Defining the Client 195

Generating the Contract 197

Creating the Resource Representations 199

Creating the ServiceContract 207

Using the Service 209

Client Extensibility 214

Summary 216

11 Working with HTTP 217

Programming HTTP with WCF 217

IncomingWebRequestContext 219

OutgoingWebResponseContext 220

OutgoingWebRequestContext 222

IncomingWebResponseContext 223

Context Wrap-Up 223

Status Codes 224

201 - Created 227

404 - Not Found 229

Conditional GET 231

LastModified 232

ETags 236

Caching 239

Output Caching 239

HttpContext.Cache 241

Content-Type 242

Summary 243

A WCF 3.5 SP1 245

B ADO.NET Data Services 257

C ADO.NET Entity Framework Walkthrough 273

Index 279

From the B&N Reads Blog

Customer Reviews