02/14/2022 - 02/15/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,195.00
Enroll
02/28/2022 - 03/01/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,195.00
Enroll
03/14/2022 - 03/15/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,195.00
Enroll

Topics

 
  • Primer on REST
  • Working with REST Resources
  • JAX-RS
  • Content Types in JAX-RS
  • REST vs SOAP
  • Building JAX-RS Responses
  • Clients of JAX-RS Services
  • JAX-RS Security

What you will learn

 

After completing this course, the student should be able to:

  • Understand the REST style of software architecture
  • Describe the advantages and disadvantages of applying RESTful design strategies to various scenarios
  • Implement RESTful services using the JAX-RS Java specification
  • Create JAX-RS services that use various types of request/response content
  • Compare and contrast REST with RPC, SOAP, and other similar communication strategies
  • Apply fine-grained control of the responses returned from JAX-RS services
  • Use various techniques to implement clients of RESTful services
  • Apply Java EE security to JAX-RS services

Audience

 

This course is applicable for Architects and Developers that need to design and develop RESTful web services using JAX-RS.

Prerequisites

 

Experience with Java programming is required.  Experience with Eclipse is useful but not required.  For those that might need this Java or Eclipse experience the following course is suggested:

  • WA1278 Introduction to Java Using Eclipse

An understanding of basic web architecture and the HTTP protocol. Prior experience with RPC-style services such as Web services, Java RMI, COM objects, etc. is helpful, but not required.

Duration

  2 days.
Download Sample Labs Lab Setup Guide

Outline for Programming REST Web Services with JAX-RS 1.1 - WebLogic 12c / Eclipse

Chapter 1. REST Services

  • Many Flavors of Services
  • Understanding REST
  • Principles of RESTful Services
  • REST Resource Examples
  • SOAP Equivalent Examples
  • REST vs SOAP Communication
  • More REST vs SOAP
  • REST vs SOAP Summary
  • Famous RESTful Services
  • Additional Resources
  • Summary

Chapter 2. Introduction to JAX-RS

  • The JAX-RS Specification
  • The Resource Class
  • A Bunch of Annotations
  • @Path
  • More Complex Paths
  • Using Path Parameters
  • HTTP Binding
  • web.xml
  • Summary

Chapter 3. JAX-RS Data Injection

  • Sources for Injected Data
  • Path Parameters
  • Query Parameters
  • HTML Form Input
  • Cookies
  • Matrix Parameters
  • HTTP Headers
  • Default Values
  • Parameter Conversion
  • Custom Types
  • Summary

Chapter 4. Designing a RESTful Service

  • Introduction
  • The Design Methodology
  • Ingredients of a Service Operation Interface
  • What Constitutes a REST Resource
  • Resource Identifiers
  • MIME Types
  • HTTP Methods
  • Example Operation Interface Document
  • Summary

Chapter 5. JAX-RS Content Types

  • Internet Media Types
  • Use of Media Type in REST
  • The @Consumes Annotation
  • Content Negotiation
  • The @Produces Annotation
  • The MediaType Class
  • JAXB
  • Dynamic Content Negotiation
  • Summary

Chapter 6. Building Complex JAX-RS Responses

  • HTTP Response Status Codes
  • Introduction to the JAX-RS Response Class
  • Using the Response and Response.ResponseBuilder Classes
  • Example: Conditional HTTP GET
  • Returning Cookies
  • Cookies in Response Headers
  • Reading Cookies
  • Returning an Exception
  • ExceptionMappers
  • Summary

Chapter 7. REST vs. SOAP

  • Defining REST
  • The Six REST Architectural Style Constraints
  • The Four REST Interface Constraints
  • Hypermedia Examples
  • Defining SOAP
  • RPC SOAP vs. REST
  • Document SOAP vs. REST
  • Where SOAP Shines
  • Where REST Shines
  • Selecting an Appropriate Solution
  • Summary

Chapter 8. Clients of JAX-RS Services

  • Java Web Service Clients
  • Apache HttpClient
  • More Apache HttpClient Code
  • JAX-RS Implementation Client Libraries
  • RESTEasy Example
  • HATEOAS
  • Building Links with UriBuilder and UriInfo
  • Using Atom Links for State Transitions
  • WADL
  • Summary

Chapter 9. Securing JAX-RS Services

  • HTTP Basic Authentication
  • Example Client
  • The WWW-Authenticate and Authorization Headers
  • Java EE Security Roles
  • Integration with Web Container Security
  • Java EE Security Annotations
  • SecurityContext
  • Restrictions Based on Content Type
  • Summary