A common requirement in many, if not most, applications of today, is to expose some data of an application in a controlled manner either to outside parties, or other parts of internal applications. This is commonly done with web-based API designs, made available over the HTTP protocol, increasingly designed following the REST principles. In this module, we discuss the industry standard methods, practices and considerations for the design and implementation of such API designs using the Java programming language and other Java-based technologies.


Background and introduction to REST

HTTP protocol and the different HTTP methods (GET, POST, PUT, DELETE, PATCH)

Previous web API paradigms and approaches (SOAP, XML-RPC)

The reason for REST to exist: Fundamental principles of the REST approach

The common data encoding and transmission formats: JSON, XML

Common URL formats, request types, content types, handling binary data and uploaded files

Common tools for REST development, testing and debugging

Review of existing REST APIs: Consuming REST APIs as a client (from a Java application, from a web page or from a mobile application)

Designing and documenting a REST API, following best practices.

Web API design considerations: Ease of use of the API, intuitive designs, longevity, maintainability, extensibility, performance, security, concurrency, data integrity

Implementing a REST API by receiving and responding to HTTP requests

Introduction to the Java API for RESTful Web Services (JAX-RS)

Overview of the different JAX-RS implementations

Using the Jersey Framework (JAX-RS reference implementation)

Installation and source code integration of Jersey: Possible ways in which it can be used

Creating a standalone REST application and/or integrating it with a Java EE application

Security considerations and requirements for web services and APIs

Application of secure HTTP connections (HTTPS)

Authentication and authorization: Different methods and approaches

Using the Basic HTTP authentication in REST APIs

Session / token based authentication

The OAuth and OAuth 2.0 authentication framework approach

Securing APIs via digital signatures and public/private keys

Other computational / cryptographic authentication approaches (eg. JWT)

Overall approach to testing web services

Integrating unit testing with Java-based REST APIs

Overview of REST testing frameworks for Java

Developing automated tests using the Jersey test framework

Developing automated tests using the REST assured framework

Test driven development for REST APIs


5 days


All Emerge trainings can be conducted in different locations globally, in customer offices, shared facilities, Emerge-provided training centers, online or through other means, depending on the requirements of the training participants.

Inquire about or sign up to this training »