Toll Free - 877-442-3915

Account | Self-Paced Login

Account | Self-Paced Login | 877-442-3915

Developing RESTful Services with REST - JAX-RS Training Course

Developing RESTful Services with REST - JAX-RS Training Course


Course Description:  The Developing RESTful Services with REST/JAX-RS course is designed to help students learn REST principles and build RESTful services using the JAX-RS 2.0 API.

The course also includes a brief overview of SOAP-based services and WSDL, to provide a contrast to RESTful services.

Topics covered in the course include:

  • Understand the purpose and role of web services in general, and how they are architected to expose business systems and processes over the web
  • Understand the concepts and principles of REST and HTTP applications
  • Expanded knowledge of HTTP, including its full set of methods and their intended uses, important headers, response codes, and content types
  • Understand REST APIs, including resource identifiers and the URI namespace, resources and subresources, and WADL
  • Understand configuration, deployment, and the runtime environment, including per-request and singleton objects, options for dependency injection, etc.
  • Understand how HTTP requests get dispatched to service methods
  • Understand content negotiation and the importance of Accept and Content-Type headers, and how they impact method dispatching
  • Bind request inputs to method parameters, including path parameters, query parameters, and headers
  • Exchange business data by communicating in HTTP entities in both XML and JSON format
  • Handle errors using Java exceptions and appropriate HTTP response codes
  • Learn how to integrate JAX-RS services with other Java EE technologies like servlets, EJB, and CDI, and how JAX-RS fits into the larger Java EE landscape
  • Write browser clients using Ajax-JavaScript
  • Write Java clients using the JAX-RS 2.0 Client API, including standalone clients and server-side components invoking remote services
  • Learn how to secure RESTful resources

Target Student: This course is ideal for students who are experienced in Java and preferably familiar with XML, Java web applications, and other Java EE standards. Familiarity with Ajax, JavaScript, and JSON is also beneficial, but not required.

Course Syllabus

Section 1: Web Services Overview - 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

  • Section 2: Introduction to REST - 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

  • Section 3: Introduction to JAX-RS - 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

  • Section 4: Resources and Requests - Resources and Subresources
  • Root Resource Classes, Resource Methods, Subresource Methods
  • @GET, @POST, @PUT, @DELETE
  • Subresource 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

  • Section 5: HTTP Entities - 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

  • Section 6: Responses - Response Class
  • Return Types and HTTP Response Codes
  • Appropriate Responses for HTTP Methods
  • Choosing the Right Response
  • Error Handling
  • Exception Mappers
  • WebApplicationException
  • Response vs. Thrown Exception
  • Error Responses
  • Subresource Locators
  • Motivation and Uses
  • Locating the Locator
  • Initializing the Subresource
  • Binary Content
  • File, InputStream, StreamingOutput
  • Using StreamingOutput

  • Section 7: Java Client API - Java Client - Options and Ingredients
  • Building and Sending the Request
  • Consuming the Response
  • Options for the Response Data
  • Asynchronous Requests

  • Section 8: Integration with Java EE - 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

  • Section 9: Security - 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
  • SecurityContext
  • Client Security
  • HTTPS

  • Available Locations

    Alabama
    Birmingham
    Birmingham South
    Huntsville
    Mobile
    Montgomery

    Arizona
    Mesa
    Phoenix
    Scottsdale
    Tucson

    Arkansas
    Bentonville
    Fayetteville
    Little Rock
    Little Rock west

    California
    Bakersfield
    El Segundo
    Elk Grove
    Fresno
    Glendale
    Irvine
    Los Angeles
    Los Angeles West
    Mission Valley
    Orange
    Palo Alto
    Petaluma
    Pleasanton
    Redwood City
    Riverside
    Sacramento
    San Diego
    San Diego downtown
    San Francisco
    San Jose
    Walnut Creek
    Woodland Hills

    Colorado
    Boulder
    Centennial
    Colorado Springs
    Denver
    Fort Collins
    Grand Junction
    Lakewood
    Loveland

    Connecticut
    Cheshire
    Danbury
    East Granby
    Hartford
    Rocky Hill
    Shelton
    Stamford

    Delaware
    Wilmington DE

    Florida
    Boca Raton
    Brandon
    Clearwater
    Daytona Beach
    Fort Myers
    Fort Walton Beach
    Ft Lauderdale
    Jacksonville
    Kissimmee
    Lake Mary
    Lakeland
    Land O Lakes
    Melbourne
    Miami
    Miami Doral
    Miramar Beach
    Naples
    Orange Park
    Orlando
    Orlando Downtown
    Orlando Northeast
    Palm Beach Gardens
    Pensacola
    Plantation
    Sarasota
    St Petersburg
    Tallahassee
    Tampa
    Vero Beach

    Georgia
    Alpharetta
    Atlanta Buckhead
    Augusta
    Columbus GA
    Duluth
    Kennesaw
    Macon
    Savannah

    Idaho
    Boise
    Meridian

    Illinois
    Chicago
    Gurnee
    Joliet
    Naperville
    Northbrook
    Oakbrook Terrace
    Peoria
    Rockford
    Schaumburg

    Indiana
    Carmel
    Evansville
    Fort Wayne
    Indianapolis
    Indianapolis downtown
    South Bend

    Iowa
    Cedar Rapids
    Des Moines
    Quad Cities

    Kansas
    Lenexa
    Topeka
    Wichita

    Kentucky
    Erlanger
    Lexington
    Louisville

    Louisiana
    Baton Rouge
    Lafayette
    New Orleans

    Maine
    Portland ME

    Maryland
    Annapolis
    Baltimore
    Bethesda
    Columbia MD
    Ellicott City
    Frederick
    Germantown
    Greenbelt
    Owings Mills
    Rockville
    Towson

    Massachusetts
    Boston
    Braintree
    Danvers
    Mansfield
    Newton
    North Andover
    Norwell
    Springfield MA
    Westborough
    Woburn
    Worcester

    Michigan
    Ann Arbor
    Franklin MI
    Grand Rapids
    Kalamazoo
    Lansing
    Livonia
    Novi
    Traverse City
    Troy

    Minnesota
    Bloomington
    Maple Grove
    Minneapolis
    Minneapolis downtown
    Rochester MN
    St Cloud
    Woodbury

    Mississippi
    Gulfport
    Jackson

    Missouri
    Columbia MO
    Kansas City
    Lees Summit
    O Fallon
    Springfield
    St Louis
    St Louis downtown

    Montana
    Great Falls

    Nebraska
    Lincoln
    Omaha

    Nevada
    Henderson
    Las Vegas
    Reno

    New Hampshire
    Bedford
    Concord
    Londonderry
    Nashua
    Portsmouth

    New Jersey
    Bridgewater
    East Brunswick
    East Rutherford
    Hamilton
    Jersey City
    Mahwah
    Morristown
    Mt Laurel
    Paramus
    Princeton
    Red Bank

    New Mexico
    Albuquerque

    New York
    Albany
    Bohemia
    Brooklyn
    Buffalo
    Harrison
    Melville
    Mt Kisco
    New York City - Grand Central Station
    New York City - Lower Manhattan
    New York City - Penn Station
    Poughkeepsie
    Queens
    Rochester
    Syracuse
    Uniondale

    North Carolina
    Asheville
    Chapel Hill
    Charlotte
    Charlotte North
    Charlotte Uptown
    Fayetteville
    Greensboro
    Hickory
    Morrisville
    Raleigh
    Wilmington

    North Dakota
    Fargo
    Grand Forks

    Ohio
    Akron
    Beachwood
    Blue Ash
    Cincinnati
    Cleveland
    Columbus
    Columbus Downtown
    Dayton
    Dublin
    Independence OH
    Norwood
    Toledo
    Westlake
    Youngstown

    Oklahoma
    Edmond
    Oklahoma City
    Tulsa

    Oregon
    Beaverton
    Eugene
    Medford
    Portland
    Salem
    Tualatin

    Pennsylvania
    Allentown
    Conshohocken
    Erie
    Harrisburg
    Huntingdon Valley
    Lancaster
    Malvern
    Philadelphia
    Pittsburgh
    Pittsburgh downtown
    State College
    University Center
    Wexford
    York

    Rhode Island
    Providence
    Warwick

    South Carolina
    Cayce
    Greenville
    Mount Pleasant

    South Dakota
    Sioux Falls

    Tennessee
    Chattanooga
    Franklin
    Knoxville
    Memphis
    Nashville

    Texas
    Addison
    Amarillo
    Austin
    Austin downtown
    Bryan
    Corpus Christi
    Dallas
    El Paso
    Fort Worth
    Grapevine
    Houston
    Houston North
    Irving
    Katy
    Keller
    League City
    McAllen
    Midland
    Plano
    Plano Frisco
    San Antonio
    San Antonio downtown
    Sugar Land
    The Woodlands
    Waco

    Utah
    Provo
    Salt Lake City

    Vermont
    Shelburne

    Virginia
    Alexandria
    Arlington VA
    Charlottesville
    Fairfax
    Fredericksburg
    Glen Allen
    Lynchburg
    Manassas
    McLean
    Newport News
    Norfolk
    Reston
    Richmond
    Roanoke

    Washington
    Bellevue
    Bellingham
    Bothell
    Kennewick
    Mukilteo
    Olympia
    Puyallup
    Seattle
    Spokane
    Tacoma

    Washington DC
    Washington DC
    Washington DC - Union Station

    West Virginia
    Martinsburg

    Wisconsin
    Brookfield
    Glendale WI
    Green Bay
    Madison
    Madison east
    Milwaukee

    Wyoming
    Casper
    Cheyenne




    Upcoming Class Dates

    Below is a list of upcoming Java Instructor Led Class Dates.


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 7/17/2019 - 7/19/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 8/14/2019 - 8/16/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 9/11/2019 - 9/13/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 10/9/2019 - 10/11/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 11/6/2019 - 11/8/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 12/4/2019 - 12/6/2019
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 1/8/2020 - 1/10/2020
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 2/5/2020 - 2/7/2020
    Course Fee : $1195


    Course Name:
    Location: Available Nationwide and Online
    Class Date(s): 3/4/2020 - 3/6/2020
    Course Fee : $1195



    "The Instructor made class truly interesting and put everything into real world terms."
    - Meredith T(Jersey City, NJ)


    Business Computer Skills BBB Profile