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
Chapter 1 REST Basics
Architecture of the World Wide Web
Implementing a Simple RESTful Service Example
Chapter 2 WCF RESTful Programming Model
Isn’t WCF All About SOAP?
Channels and Dispatching
HTTP Programming with WCF 3.0
Web Programming in WCF 3.5
Chapter 3 Programming Read-Only Services
Using WebGetAttribute and UriTemplate
Chapter 4 Programming Read/Write Services
POST, PUT, and DELETE
Chapter 5 Hosting WCF RESTful Services
WCF REST Hosting Isn’t a Special Case
Hosting in IIS
Chapter 6 Programming Feeds
Building a Feed with WCF
Exposing a Feed on a Live URI
Adding Links to a Feed
Chapter 7 Programming Ajax and Silverlight Clients
WCF Web Services and Ajax
Returning JSON and XML Conditionally with a Single Method
Chapter 8 Securing REST Endpoints
Authenticating: Self-Hosted Endpoints
Authenticating: Managed Hosting Endpoints
Chapter 9 Using Workflow to Deliver REST Services
Consuming REST Services from WF
The SendActivity Instance
The ReceiveActivity Instance
Stateless Workflow Services
Stateful Workflow Services
Chapter 10 Consuming RESTful XML Services Using WCF
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.
The animal on the cover of RESTful .NET is an electric catfish (Siluriformes malapteruridae). Located mainly in tropical Africa and the Nile River, the generally nocturnal catfish can produce an electric shock of up to 350 volts, which it uses to stun or kill its enemies (the shock is not fatal to humans).
Often seen in large display tanks at aquariums, the electric catfish has thick lips and a cylinder-shaped, pinkish-brown body with several dark spots. The fish's electric organ-used to generate shocks-extends the length of its body, and, when lit, helps the fish see through its murky surroundings.
In the normal course of its waking hours, the fish acts aggressively against other fish and even against others of its own kind. Each successive shock its electric organ produces, however, weakens the fish, which then must rest in order to "recharge" its electricity, thus rendering it temporarily vulnerable to predators. The fish is also vulnerable for another reason: its body has no scales or bony plates, making the fish relatively defenseless against hot aquarium tanks or sharp rocks.
The cover image is from Dover's Animals. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSansMonoCondensed.
This is a well written and very thorough book about REST, what it is, how it works and how to use it in a .Net environment. It starts at a fairly basic level on this subject and covers every aspect of this technology in detail.
The Preface of this book indicates that the book is for .Net Developers who are familiar with REST and WCF and recommends other books as prerequisites for those not already familiar with these. Certainly it is true that someone completely unfamiliar with these areas would find the book difficult to follow. The book does review the basics of REST pretty well, and it is clear about the purpose and use of WCF for those who, though familiar with it, might be "rusty" or not well versed.
I have been a software developer for over 30 years, and have been working in .Net since about 2004. I have written WCF services and I have been to a few lectures on REST and "played with" RESTful interfaces from time to time, but I would not consider myself an expert on either of these subjects. I did not find this book to be an "easy read" by any means; it is a highly technical book. But I did find it to be very clearly written and well organized. The author, Jon Flanders, is obviously extremely well qualified to cover the subject and does everything possible to explain each aspect of the technologies covered; including descriptions of what each feature is for, what it is not suited for, and how to use it.
After reviewing the basics and explaining the programming models, the book eases into the subject of writing RESTful services by covering Read-Only services, which may well be as much as some programmers need to know about it. But this is not a book for every programmer who wants to write a RESTful service. Instead, it is for programmers who want to know all about REST in .NET so that they can not only make informed decisions about how and where to use it (and where not to use it), but also implement it properly and securely in their projects.
Once Read-Only services have been described, the author goes into Read/Write services, Ajax Services and how to use it with Silverlight. There is also a complete chapter on programming Feeds. It then describes how to secure and consume services.
In short, I found this to be a high quality, comprehensive book and reference on the subject of writing RESTful services in .NET. It gives comprehensive, accurate coverage and is a good reference. In spite of this, it gives a competent introduction to the subject for those who don't need or want to be pampered about it. It is practical, useful and descriptive in contrast to the standard documentation about REST that is found online, which I personally find very difficult to work with. I found the book to be helpful and descriptive, with just the right amount of detail. It covered quite a bit more than I need for my current project, but I like this in a book. I'm sure I'll refer back to it as needed on future projects.
Bottom Line Yes, I would recommend this to a friend
RESTful.net does a great job explaining why REST is a breeze with WCF 3.5. It starts out by first explaining why REST was difficult with WCF 3.0, a common complaint by many .NET REST fans, but then it goes on to show what specific changes in WCF 3.5 now make it a piece of cake.
The book explains exactly what REST is and continually provides insight into how it is different from SOAP and why those differences are both important and advantageous. Every conceivable use case of how to use WCF 3.5 with REST is then covered in enough detail to make it easy to quickly start a new REST based services project. It covers services, clients, security, AJAX, Silverlight, WPF, and even Windows Workflow.
Overall I would highly recommend this book for anyone interested in taking the power and flexibility of WCF and combining it with the open and easy to use REST based service architecture.
Bottom Line Yes, I would recommend this to a friend