Fast Track to RESTful Services in Java

Code: TT7305

2 days

List Tuition : $1,695.00 USD

Course Overview

    Download PDF 

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 that are used in building these services. This understanding is critical to being able to diagnose, troubleshoot, tune, and perform other lifecycle activities.

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

  • 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 to
  • Implement RESTful services using Spring REST to

1. 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

2. Implementing REST with JAX-RS

  • Overview of JAX-RS
    • JAX-RS Implementations
    • JAX-RS Service Class
    • JAX-RS Service Lifecycle Options
    • Consuming RESTful Services
  • @Path: URI Matching
    • @Path Annotation
    • @Path Expressions
    • @Path and Regular Expressions
    • HTTP Method Annotations
  • Injection Using JAX-RS
    • Parameters
    • Working with @PathParam
    • Header and Cookie Values Can be Injected
    • Working Programmatically with URI
  • Handling Exceptions
    • REST/HTTP 1.1 Error Response Codes
    • Overview of Exception Handling in JAX-RS
    • JAX-RS's WebApplicationException
  • Handling Content
    • JAX-RS Built-In Content Handlers
    • Content Marshaling
    • Using JAXB With JAX-RS
    • Working With JSON
    • Content Negotiation (Conneg)
  • RESTful Services in Spring
    • Spring Support for REST
    • Spring's Parameter Injection
    • Handling Transformations in Spring
    • Negotiated view-based rendering
    • HTTP Message Converters
  • RESTful Clients in Spring
    • Spring's Hidden Method Field
    • Processing Incoming REST Requests
    • Spring's Support for REST Clients
    • Performing GET Requests and Other Methods

3. Security and REST

  • Securing Untrusted Input
    • Input Data Attacks
    • Tenacious D
    • Responding to Error State
    • Best Practices for Untrusted Data
  • Defending REST
    • How Attackers See REST
    • Factors that Increase Attack Surface
    • Bridging and its Potential Problems
    • Dangerous Developer Assumptions
    • Three Basic Tenets for Safe REST
  • Working knowledge (at least one year) with Servlets and Spring
  • Familiarity with XML and JSON

Request a Discounted Quote




Bring Training to You

Request schedule for this course

Request a Quote for this Class

We provide government and government contractor discounts, please request a quote

Schedule



total option: 2

08/13/2019 - 08/14/2019

Request a quote

Virtual Training

11/07/2019 - 11/08/2019

Request a quote

Virtual Training

Hotel and Travel can be included on your quote.
For immediate response, you can call 1-855-515-2170 or we will provide a quote within 4 business hours. Travel must be booked 14 days before training for rate to apply.

Learn How to Become a Managed Learning Member

Request a Quote

Thank you for requesting a quote, we will be in touch shortly with a quote. If you need immediate assistance, please call 855-515-2170.

Request Other Date

Request date or location you need

Don’t see the date or location you need? Contact us and let us know, we are adding dates and locations daily.