Live Chat
Monday - Friday 8am - 6pm EST Chat Now
Contact Us
Monday - Friday 8am - 8pm EST 1-866-716-6688 Other Contact Options
Checkout

Cart () Loading...

    • Quantity:
    • Delivery:
    • Dates:
    • Location:

    $

Fast Track to RESTful Services in Java (TT7305)

Learn the core concepts, principles, and Java implementations for RESTful services.

GK# 0396 Vendor# TT7305

Course Overview

TOP

This course introduces developers to the core concepts, principles, and Java implementations for RESTful services. Today's development environments are increasingly dominated by sophisticated tooling that makes the implementation of RESTful services less arduous. The proper design of these services is far more complex and demanding. In this course, you will learn the principles and technologies used in building these services. This understanding is critical to being able to diagnose, troubleshoot, tune, and perform other lifecycle activities.

Schedule

TOP
  • Delivery Format:
  • Date:
  • Location:
  • Access Period:

$

What You'll Learn

TOP

Basic concepts of REST

Similarities and differences between RESTful services and SOAP-based services

Security concerns associated with RESTful services

Design, develop, and deploy real-world RESTful Services

Implement RESTful services using JAX-RS

Implement RESTful services using Spring REST

Implement RESTful Java clients:

  • Develop JAX-RS Java clients using the JAX-RS 2.0 Client API
  • Manage different Web targets
  • Deal with content negotiation on the client
  • Work with different data formats including XML and JSON
  • Properly process server responses

Implement JAX-RS Filters and Interceptors

  • Intercept and manipulate service requests and responses
  • Dynamically register interceptor to resources
  • Understand the concept of NameBinding

Discover asynchronous JAX-RS processing

  • Implement an asynchronous JAX-RS service endpoint
  • Register response listeners

Outline

TOP
Viewing outline for:

Virtual Classroom Live Outline

Working with REST

Overview of REST

  • REpresentational State Transfer
  • REST Characteristics
  • REST Elements
  • REST Architectural Principles
  • REST and HTTP
  • REST/HTTP: Representation-Oriented
  • REST Design Principles

Designing RESTful Services

  • Effectively Designing RESTful Services
  • Best Practices for Endpoint Definition
  • Using Query Parameters
  • Working with HTTP GET and DELETE
  • Working with HTTP PUT
  • Working with HTTP POST
  • Best Practices for HTTP Methods
  • Handling Additional Operations

 

Session: JAX-RS

Lesson: Introduction to JAX-RS

  • Understand some of the features of the JAX-RS framework
  • Be familiar with process for implementing RESTful services
  • Develop and deploy a simple REST service
  • How JAXB supports XML interoperability
  • How to use JAXB with JAX-RS
  • Exercise: Introduction to JAX-RS

Lesson: @Path: URI Matching

  • JAX-RS mechanisms for mapping URIs to resource
  • How to use @Path expressions to map URIs
  • How to use @Path expressions to extract values from URIs
  • Exercise: URI Matching JAX-RS

Lesson: JAX-RS Content Negotiation

  • JAX-RS built-in content handler
  • How to inject content handlers into service
  • Basics of working with JSO
  • Capabilities for HTTP content negotiation
  • JAX-RS mechanisms for supporting content negotiation
  • Exercise: Content Negotiation

Lesson: JAX-RS Request and Response

  • How information about the request can be injected into the resource
  • The different injection targets of the resource
  • How to build a “complex” response
  • How to respond to a HTTP POST
  • The JAX-RS exception hierarchy
  • How exceptions can be mapped to response codes
  • Exercise: The Reservation Service
  • Dynamically resolve path template values
  • Understand some of the return codes
  • Filter client request and server responses
  • Exercise: JAX-RS Clients

Lesson: JAX-RS Filters and Interceptors

  • Understand the purpose of JAX-RS filters
  • Develop interceptors
  • Define global filters and interceptors
  • Dynamically add interceptors and filters
  • Understand NameBinding
  • Exercise: JAX-RS Filters and Interceptors

Lesson: Asynchronous JAX-RS

  • Make asynchronous requests
  • Develop resources to process request asynchronously
  • Exercise: Asynchronous JAX-RS

Lesson: JAX-RS Client API

  • Invoke a JAX-RS service using the client API
  • Understand the purpose of the WebTarget object

Session: Security and RESTful Services (Optional Section)

Lesson: Securing Untrusted Input

  • Input data attacks
  • Protecting a web service
  • Tenacious D
  • Responding to error state

Lesson: Defending RESTful Services

  • How attackers see REST
  • Factors that increase attack surface
  • Bridging and its potential problems
  • Dangerous developer assumptions
  • Three basic tenets for safe REST 

Labs

TOP
Viewing labs for:

Virtual Classroom Live Labs

Hands-On Learning: As a programming class, this course provides multiple challenges labs for students to work through during the class. This workshop is about 50% hands-on lab and 50% lecture. Throughout the course, students will be led through a series of progressively advanced topics where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. Multiple detailed lab exercises are laced throughout the course, designed to reinforce fundamental skills and concepts learned in the lessons. At the end of each lesson, developers will be tested with a set of review questions to ensure that he/she has fully understands that topic.

Prerequisites

TOP
  • Working knowledge (at least one year) with Servlets and Spring
  • Familiarity with XML and JSON

Who Should Attend

TOP

Experienced Java developers and architects who need to identify, design, and implement web services.

Course Delivery

This course is available in the following formats:

Virtual Classroom Live

Experience expert-led online training from the convenience of your home, office or anywhere with an internet connection.

Duration: 2 day

Request this course in a different delivery format.
Enroll