RESTful Web Services

CloudLabs

Projects

Assignment

24x7 Support

Lifetime Access

.

Course Overview

Restful Web Services with JAX-RS class teaches participants how to design and develop web services using the RESTful architecture and Java EE 6.

At the end of the training, participants will be able to:

Pre-requisite

All attendees must be experienced Java developers with a solid, hands-on grasp of object-oriented principles. Prior Java EE development experience is recommended but not required.

Duarion

5 days

Course Outline

  • The REST Vision
  • Use of HTTP
  • Use of URIs
  • Use of Content Types
  • CRUD Operations and Business Operations
  • HATEOAS and the Richardson Maturity Model
  • JAX-RS
  • Applications, Resources, and Providers
  • The JAX-RS Application
  • XML Configuration
  • Annotation-Driven Configuration
  • Applications
  • Root Resource Classes
  • Per-Request vs. Singleton Lifecycle
  • Providers
  • The Application Path
  • The @Path Annotation
  • The HTTP Method Annotations
  • Sub-Resource Locators
  • Annotation Inheritance and overriding
  • @XXXParam Annotations
  • The @DefaultValue Annotation
  • Parameter Types
  • Parameter Converters
  • The Application Path
  • The @Path Annotation
  • The HTTP Method Annotations
  • Sub-Resource Locators
  • Annotation Inheritance and overriding
  • @XXXParam Annotations
  • The @DefaultValue Annotation
  • Parameter Types
  • Parameter Converters
  • Supported Return Types
  • The Response Class
  • Response Entities
  • Binary Content
  • Delivering a File
  • Entity Parameter and Return Type
  • Entity Providers
  • @Consumes and @Produces Annotations
  • Built-In Entity Providers
  • Custom Entity Providers
  • The JAXB Entity Provider
  • Driving XML Representations from Schema
  • Driving JSON Representations with JAXB
  • JSON Without JAXB: Jackson, MOXy, etc.
  • CRUD Patterns
  • Error Handling
  • Sub-Resources
  • The @Context Annotation
  • Injectable Types
  • The Application Subclass
  • Servlet Configuration and Context
  • Impact of Lifecycle Policies
  • Context Providers
  • Using CDI
  • Using Response
  • Throwing WebApplicationException
  • Exception Mapping Providers
  • Selection of Exception Mappers
  • Support for JSR-303
  • Annotating Method Parameters
  • Annotating Entity Classes
  • Error Reporting
  • Generic Entities
  • Generic Entity Providers
  • ParameterizedType
  • Reflection-Driven Entity Providers
  • Annotation Inheritance
  • CRUD Patterns, II
  • Serialization, Recursion, and Scope
  • Dynamic Sub-Resources
  • Persistence Services
  • The Java Persistence API
  • JPA Support for JSR-303
  • Handling IDs and Keys
  • Cascading
  • Caching
  • Error Handling
  • Hypermedia Challenges
  • The Builder Pattern
  • Client
  • WebTarget
  • Invocation
  • Basic Usage
  • Managing Content Types and Entities
  • Error Handling
  • Registering Providers
  • The Service Locator Pattern
  • Generic Clients
  • The Filter Interfaces
  • Processing Pattern
  • The Request and Response Context Interfaces
  • Aborting a Request
  • The Interceptor Interfaces
  • Adaptive Streams
  • Filters on the Client Side
  • Interceptor Strategy for Hypermedia
  • Concerns for RESTful Services
  • Authentication and Authorization
  • HTTP BASIC and DIGEST
  • HTTPS
  • Programmatic Security
  • SQL Injection
  • Cross-Site Request Forgery
  • Message-Level Security
  • HMACs
  • The Need for Data Binding
  • XML Schema
  • Two Paths
  • JAXB Compilation
  • Mapping Schema Types to Java
  • Java-to-XML Mapping Using Annotations
  • Marshalling and Unmarshalling
  • Working with JAXB Object Models

Reviews