Book Image

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

By : Bhakti Mehta, Masoud Kalali
Book Image

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

By: Bhakti Mehta, Masoud Kalali

Overview of this book

<p>As the technology landscape moves focus towards smaller devices, the need for building scalable, flexible, lightweight, and real-time communications-based applications grows. HTML 5 and Java EE 7 provide a new synthesis of technologies that demonstrate tremendous scope and potential in areas of device independence, asynchronous communication, interoperability, and portability.<br /><br />Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON is a practical, hands-on guide that provides you with clear and pragmatic information to take advantage of the real power behind HTML5 and Java EE technologies. This book also gives you a good foundation for using them in your applications.<br /><br />Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON looks at the different HTML5-based Java EE 7 API, and takes a deep dive into the individual areas of technologies to cover basic to advanced concepts, and also provides best practices for each API. You will also learn how to build a REST-based Event Notification Application using the Twitter API, tying all the different technologies together that we will cover. You will also take a look at integrating different Java EE APIs to build a Library Application. If you want to take advantage of using the new HTML5 technologies and Java EE 7 platform, then this is the book for you. You will learn everything you need to know to build portable RESTful Web Services with JAX-RS 2.0, Web Sockets, JSON, and Server-Sent Events.</p>
Table of Contents (12 chapters)

Chapter 1. Building RESTful Web Services Using JAX-RS

There are various ways to implement communication between heterogeneous applications. There are standards focusing on web services based on SOAP, WSDL, and WS* specifications; alongside these standards there is an emerging lightweight solution based on plain HTTP referred to as Representational State Transfer (REST).

REST is identified by the principles of addressable resources, constrained interfaces using HTTP verbs, representation, and statelessness.

The key principles of REST are:

  • Associating IDs to resources

  • Using standard HTTP methods

  • Multiple formats of data sent by a resource

  • Statelessness

This chapter starts with the basic concept of building RESTful Web Services using the JAX-RS 2.0 API and covers the following sections:

  • Getting started with JAX-RS 2.0

  • Converting POJOs to RESTful endpoints using JAX-RS 2.0 annotations

  • @Produces, @Consumes annotations

  • Client API for JAX-RS 2.0

  • Sample showing all verbs

  • Custom entity providers for serializing and deserializing user defined classes using JAX-RS

  • Utilizing the Bean Validation API for validation with JAX-RS 2.0