2-Days Instructor-led
Learn the core concepts, principles, and Java implementations for RESTful services.
Geared for experienced developers, Java RESTful Service Essentials is a two-day, lab-intensive services training course that 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.
Course Outline
Part 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
- Tutorial: Working with Eclipse Neon (JEE Version) and Tomcat 8.5
- 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
Part 2: JAX-RS
1. 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
- @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
- 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
- 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
- JAX-RS Client API
- Invoke a JAX-RS service using the client API
- Understand the purpose of the WebTarget object
- Dynamically resolve path template values
- Understand some of the return codes
- Filter client request and server responses
- Exercise: JAX-RS Clients
- 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
- Asynchronous JAX-RS
- Make asynchronous requests
- Develop resources to process request asynchronously
- Exercise: Asynchronous JAX-RS
Part 3: Security and RESTful Services (Optional)
1. Securing Untrusted Input
- Input Data Attacks
- Protecting a Web Service
- Tenacious D
- Responding to Error State
- 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
This course is also available on our public schedule via Live Virtual Classroom:
Contact us here.