Review: RESTful Java Patterns and Best Practices
Join the DZone community and get the full member experience.Join For Free
Some days ago this book was in my letter box. It is available since four months and I really looked forward to get it. Thanks Packt Publishing for giving me this copy.
The convergence of social networking, cloud computing, and the era of mobile applications has created a generation of emerging technologies that allow different networked devices to communicate with each other over the Internet with REST. REST has the benefits of being stateless; easing scalability, visibility, and reliability; and being platform and language agnostic.
This book is a practical, hands-on guide that provides you with clear and pragmatic information to take advantage of the real power of RESTful services and gives you a good foundation for using them in your applications. By comparing APIs from platforms such as Facebook, Twitter, GitHub and PayPal, the book teaches a range of exciting capabilities with RESTful services and explores the infinite possibilities by using the diverse building blocks and tips covered in various chapters.
By the end of the book, you will be able to successfully use the concepts explained to design and implement applications based on best practices for RESTful services.
Paperback: 131 pages
Publisher: Packt Publishing - ebooks Account (September 19, 2014)
Bhakti Mehta (@bhakti_mehta) is the author of Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON, Packt Publishing, published in 2013. She has more than 13 years of experience in architecting, designing, and implementing software solutions on top of Java EE and other related technologies. She is passionate about open source software development and has been one of the founding members of GlassFish Open Source Application Server.
Bhakti has a Bachelor's degree in Computer Engineering and a Master's degree in Computer Science. Her areas of research include architecting solutions for resiliency, scalability, reliability, and performance with respect to server-side technologies, web services, and cloud applications.
Chapter 1, REST - Where it Begins, starts with basic concepts of REST, like how to design RESTful services and best practices around designing REST resources.
Chapter 2, Resource Design discusses different request and response patterns. It covers topics such as content negotiation, resource versioning and response codes.
Chapter 3, Security and Traceability, covers advanced details in security and traceability around the REST API. It includes topics such as access control, authentication using OAuth, excpetion handling, auditing and validation patterns.
Chapter 4, Designing for Performance, covers the design principles needed for performance. It discusses the caching principles, asynchronous and long running jobs in REST, and how to use partial updates using PATCH.
Chapter 5, Advanced Design Principles, covers advanced topics such as rate limiting, response pagination, and internationalization and localization principles with detailed samples. It covers extensibility, HATEOAS, and topics such as testing and documenting REST services.
Chapter 6, Emerging Standards and the Future of REST, covers real-time APIs using WebHooks, WebSockets, PuSH, and Server send services, and compares and contrasts them in various areas. Additionally, this chapter covers case studies demonstrating how the emerging technologies such as WebSockets and WebHooks are being used in real-time applications. It also outlines the role of REST with micro services.
Appendix, covers different REST API from GitHub, Twitter, and Facebook, and how they tie into the principles discussed in the former chapters.
Analysis of Content
The book starts with beginners friendly introduction to the basic concepts of REST. This first chapter also covers lots of general best practices and tips for REST beginners.
It is clearly written and can easily be understood by non-natives. After reading the beginners chapter the reader is well prepared for the subsequent chapters.
Most of its chapters are written in a brief and pithy way whereas the reader doesn't miss any information. Solely the "HATEOAS" chapter is too short and unlike the other ones, it doesn't contain code examples.
Nevertheless the comparisons of best practices are great. The reader gets a overview of different proven approaches and is able to apply the best one in the respective situation.
Conclusion and Recommendation
Unlike described the book is not an advanced one. Most of these elementary topics should also be well understood by non advanced REST developers. The book is great for getting started on a higher level than the Hello World one and it is a very good reference book offering lots of memorable tips. If I didn't get this from Packt, I would have bought it on my own.
A good book for everyone who wants to get a brief overview of common REST practices and an ideal reference book.
Opinions expressed by DZone contributors are their own.