Overview

This REST Training program helps participants build an expertise in Representational State Transfer (REST); the course covers topics like Designing REST services, building JAX-RS services, understanding JAX-RS injection and other important aspects.

Schedule Classes

Looking for more sessions of this class?

What You'll learn

After completion of RESTful Web Services Training course, participants will be able to:

  • Design RESTful services
  • Build JAX-RS services
  • Understand JAX-RS injection
  • Configure HTTP content negotiation
  • Scale JAX-RS applications
  • Build RESTful clients
  • Compare & contrast JAX-RS implementations

Duration: 24 Hours

Curriculum

Definition

  • Legacy Systems
  • Benefits of Web Services
  • Architecture

Standards and Portability

  • XML and Related Standards
  • JSON
  • HTTP

SOAP-Based Services

  • Overview
  • SOAP Messages, Requests, and Responses
  • WSDL
  • Java APIs and Programming Models

Overview and Principles

  • REST Characteristics
  • Resources and Operations
  • REST Principles
  • Requests and Responses
  • REST APIs
  • URI Templates
  • GET, POST, PUT, DELETE
  • Safe and Idempotent Methods
  • Comparison of REST and SOAP

APIs and Implementations

  • JAX-RS Overview, Annotations
  • JAX-RS Implementations

Runtime Environment

  • Application Server, Servlet-Only Container
  • Architectural and Implementation Perspectives
  • Configuring the Application

Applications, Resources, and Providers

  • JAX-RS Applications
  • Resource Classes and @Path
  • Provider Classes and @Provider
  • Default Lifecycles
  • The Application Class and rest-path

Ajax-JavaScript Clients

  • Overview
  • Classic vs. Ajax Interactions
  • Working with Ajax-JavaScript

Resources and Sub-Resources

Root Resource Classes,

Resource Methods,

Sub Resource Methods
@GET, @POST, @PUT, @DELETE

  • Sub Resource Locators
  • Naming Conventions and Rules
  • Dispatching Requests to Methods

Binding Request Data

Request Data Injection and Conversion

  • Default Values
  • Fields vs. Method Parameters

Context-Based Injection

  • Injection via @Context
  • Context-Injectable Types
  • Context Injection from the Web Container
  • Fields vs. Method Parameters

Complex Content and Entities

Working with Complex Content

  • @Consumes and @Produces
  • Content Negotiation
  • Standard Entity Providers

Working with JSON

Returning Data as JSON

  • Working with JSON in JavaScript
  • Processing JSON Responses

Working with XML

JAXB and Mapping to XML

  • Returning Data as XML
  • Working with XML on the Client
  • Customizing Content, Custom Media Types
  • Working with Collections

XML vs. JSON

Response Class

Return Types and HTTP Response Codes

  • Appropriate Responses for HTTP Methods
  • Choosing the Right Response

Error Handling

Exception Mappers

  • Web Application Exception
  • Response vs. Thrown Exception
  • Error Responses

Sub Resource Locators

Motivation and Uses

  • Locating the Locator
  • Initializing the Sub Resource

Binary Content

  • File, InputStream, StreamingOutput
  • Using StreamingOutput
  • Java Client – Options and Ingredients
  • Building and Sending the Request
  • Consuming the Response
  • Options for the Response Data
  • Asynchronous Requests

Integration with EJB

CDI – Contexts and Dependency Injection

  • Activation, Scopes, and JAX-RS Lifecycles
  • Injection in CDI-Enabled JAX-RS Applications
  • Enhanced Java EE Lifecycle

Java EE Security Overview

  • Security Requirements in JAX-RS
  • Declarative, Role-Based Security
  • Security Constraints
  • Annotation-Based Security Authentication
  • Configuration
  • Authentication Models: Basic, Digest, Client-Cert Programmatic Security
  • Security Context
  • Client Security HTTPS

Prerequisites

Participants must have knowledge of Java development. Experience in Java EE development is recommended however not mandatory.

Reach out to us for more information

Interested in this course? Let’s connect!

  • This field is for validation purposes and should be left unchanged.

Course features

Course Duration
Course Duration

16 hours of live, online, instructor-led training

24x7 Support
24x7 Support

Technical & query support round the clock

Lifetime LMS Access
Lifetime LMS Access

Access all the materials on LMS anytime, anywhere

Price Match Gurantee
Price match Gurantee

Guranteed best price aligning with quality of deliverables