Friday, October 4, 2019

Top 5 Books to learn REST and RESTful WebServices for Java Programmers

The REST framework has now become the standard way to develop Web Services on the Internet. It's no more SOAP, who used to rule the world for the last two decades. The SOAP and XML went very well together in the past decade but it seems now REST and JSON have overtaken then and doing even better, thanks to the rise of JavaScript for both frontend and backend development. Since Java is also one of the most popular languages to develop backend services, there is a lot of demand for Java developers who know web services and can implement and expose existing SOAP-based services into REST style, light-weight web services.

This is an excellent opportunity for intermediate and experienced Java developers to learn a more job-oriented skill to keep themselves marketable and many Java developer has already started learning REST and RESTful web services in Java.

It's no surprise that I often receive requests via Facebook and email about some book recommendations on REST and RESTful web service development using Java. I have answered many of them personally in the past, and this post is just a recollection of those discussions and book recommendations.

In this article, I am going to share the top 5 books that will help you to learn REST concepts better and also teach you how to develop RESTful web services using Java Programming language using JAX-RS API, and it's popular implementations, like Jersey, Restlet, Apache CXF, etc.

Btw, If you like online courses, you can also combine these books with the REST API Design, Development and Management course from Udemy. It's an excellent course for anyone just started learning about REST and it's also very affordable, I bought in just $10.




5 Books to Learn REST and RESTful Web Services in Java

So, without wasting any more time, here is my list of 5 books, which has helped me to learn REST better and taught me how to develop RESTful web services in Java using JAX-RS API, and it's different implementations.


1. RESTful Web Services by Leonard Richardson

This is one of the books to learn about REST and RESTful web services irrespective of any programming language. This will teach you motivation behind REST, how REST works, and many fundamentals related to both web services and doing it in REST style. This book will also show you what to keep in mind while developing a RESTful API, like when to use PUT vs. POST methods, etc.

Top 5 Books to learn REST and RESTful WebServices for Java Programmers

Some of the things which you will learn in this book include:
  • Basics of essential web technologies, e.g. HTTP, URI, and XML.
  • Basics of Resource oriented architecture which forms the base of RESTful web services
  • It will also show you why a RESTful design is simpler and more scalable than equivalent SOAP design.
  • Most importantly, the book also includes several real-world examples of RESTful web services, like Amazon's Simple Storage Service and Atom publishing tool.
  • It will also teach you how to develop RESTful clients in different programming languages, like Java, Python, and Ruby using popular frameworks like Restlet for Java, Django for Python, and Ruby on Rails. 
In short, one of the essential books a Java web developer should read. This will build your fundamentals if you are entirely new and correct many misconceptions if you already know these technologies.

If you are learning REST for project work and decided to use Jersey for implementation t then you can also combine the book with RESTFul Services in Java using Jersey  By Bryan Hansen course from Pluralsight.

Btw, it's not free and you would need a Pluralsight membership to get access to this course, which costs around $29 per month or $299 annually (14% discount).

If you don't have Pluralsight membership, I encourage you to get one because it allows you to access their 5000+ online courses on all the latest topics like front-end and back-end development, machine learning, etc.

They also provide a 10-day free trial without any commitment, which is a great way to not just access this course for free but also to check the quality of courses before joining Pluralsight.



2. REST in Practice: Hypermedia and Systems Architecture by Jim Webber

This is another book which will teach you the basics of different web technologies and REST style. This will show you how to build a robust RESTful API and also explains essential things about web security and issues faced by web services.

You will not just learn about REST but about some other critical technologies like OpenId and OAuth, but most importantly, you will learn how to use different HTTP methods while designing RESTful API.

Top 5 Books to learn REST WebServices




3. RESTful Web Services Cookbook By Subbu Allamaraju

This is one of the practical books on developing RESTful web services. This will teach you how to design resources to meet your application requirements and how to translate them into better URIs. You will also learn to implement hypertext constraints using links and link headers, when and how to use Atom and AtomPub, etc.

You will even understand how to implement concurrency control and caching in RESTful web services and securing RESTful web services using OAuth.

Btw, now Java has multiple options to develop RESTful Web Services and even Microservices like Spring Boot and Spring Cloud if you are interested in developing RESTFul Web Services using Spring you can join me on Master Java Web Services and RESTful API with Spring Boot, I have recently bought this course and learning from it.

Top 5 Books to learn RESTful WebServices




4. RestLet in Action by Jerome Louvel, Theirry Tempiler, and Thierry Boileau

The Restlet is one of the first Java frameworks for developing REST web services. Restlet in Action gets you started with the Restlet Framework and the REST architecture style. You'll create and deploy applications in record time while learning to use popular RESTful Web APIs effectively

Books to learn REST and RESTful WebServices

If you have decided to use the RESTlet framework for developing your REST-based API or RESTful Web Services in Java then this book is a perfect companion.



5. Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON

In order to simplify the development of RESTful Web services and their clients in Java, a standard and portable JAX-RS API has been designed. The Jersey RESTful Web Services framework is open source, production quality, a framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation.

REST and RESTful WebServices books in Java

If you are thinking to develop your RESTful Java application using JAX-RS then this is a must-read book along with JAX-RS documentation for more up-to-date reference.


That's all about 5 good books to learn REST and develop RESTful Web Services in Java. If you are more of guys who prefer training courses than books, then you can also check out Eugen's REST with Spring course, which will teach you how to develop RESTful Web Services using Spring Framework.

The course is very detailed and expects that you are familiar with the Spring framework, so ideal for intermediate and experienced Java programmers. Eugen also has various options for his courses suited for different experience levels and needs like REST with Spring:

The Intermediate class is suitable for essential knowledge while REST with Spring: The Masterclass is more detail-oriented. You can check out all his course options here.


Other Resources for Experienced Java Developers you may like to explore

Thanks a lot for reading this article so far. If you like these books to learn REST and RESTful Web Services in Java then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.

P. S. - If you are looking to start developing RESTful web services in Java but looking for a free online course to start with, I suggest you check RESTful Web Services with Spring Framework course on Udemy. It's completely free, all you need to do is create an Udemy account if you don't have one and join this course.

1 comment :

Post a Comment