This book is aimed at novice developers who want to gain insights into building RESTful services and improve productivity, as well as for advanced developers who want to delve into more complicated topics.
REST Services are the glue that modern day web applications are built on. Often it is easy to get carried away and design a REST endpoint in any which way you want because the HTTP protocol makes that possible. But given the fact that APIs are becoming important and that clients expect high quality REST Endpoints that implement the correct RESTful style taking all the HTTP verbs into action, it is critical that you adhere to best practices. And this is where this book fits in perfectly.
The author, Bhakti Mehta is a founding member of GlassFish Open Source Application Server and all the experience is packed into the book with patterns and best practices in various areas of RESTful Services.
The first chapter gives a quick overall review so that you are on the same ground and then the later chapters deal into each important area of RESTful API design. The areas include:
Resource Design : This goes through URI patterns, Content Negotiation and one of my favourite topics i.e. API versioning
Security and Traceability : This talks about the current and emerging standards when it comes to securing your endpoint. I found this section a little bit hollow on implementation details.
Designing for Performance : This section talked about Caching, Partial Updates and designing APIs that in turn perform long-running jobs asynchronously.
Advanced Design Principles : This section covers pagination, i18n, rate limiting and touches upon the highest form of the Richardson Maturity Model i.e. HATEOAS
There are also examples of popular public REST APIs from Twitter, Facebook, Paypal and more – so that the reader can look and relate back to the contents of the book. In that way, the book is practical to the core.
Overall, I will be keeping this book handy whenever I need to look up a particular aspect of RESTful Design and this is a great book to go through once you have deployed a few RESTFul APIs in Production and are looking to give them an extra edge.
This is the right book if you need to implement RESTful code in your app! The book start with a quick introduction to the RESTful system, giving you an idea on how to setup the project and the best practices, but in the next chapters you go deeper to discover all the features of JAX-RS. The author will guide you on the implementation of a complete RESTful application and explains how to "consume" the resources not only with the browser (or curl), but with other platform, like mobile devices. The best chapter is the 3rd: Security and Traceability, the author give you a long list of hints and best practices to implement a secure RESTful system, with lot of code examples give you a clear idea about different implementations: SAML, OAuth and OpenID. What really miss in this book is a chapter about the testing of the RESful services, there is just a small section but I'd like to see (in future editions) more examples on that! Finally, you have some examples (remember to download the package from the publischer web site) to test all the code reported on the book.