Java Web Services: Developing RESTful Services Training

This 3 day class shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We begin with an overview of web services development in the Java EE platform, including SOAP, WSDL, REST; JAX-WS, JAXB, and JAX-RS. Then students learn to work with JAXB to bind Java object models to XML Schema. The bulk of the course is devoted to study of JAX-RS: students work with the Jersey implementation of JAX-RS to create RESTful services from simple single-value interactions to more sophisticated services that manage CRUD (create/retrieve/update/delete) operations on more complex data types, using JAXB to marshal and unmarshal data over the wire.

Goals

  • Understand the advantages of the REST architecture for web services.
  • Use JAX-RS to develop simple RESTful services.
  • Control dispatching to service methods based on URL patterns and HTTP methods.
  • Bind request values to method parameters when expressed as HTTP query parameters, form values, headers, cookies, and more.
  • Manage XML content using XML Schema and JAXB.
  • Incorporate XML entities into service input and output.
  • Take advantage of lifecycle and context services available to JAX-RS services as Java EE components.

Outline

  1. Overview of Web Services
    1. Why Web Services?
    2. Service-Oriented Architecture
    3. HTTP and XML
    4. SOAP
    5. WSDL
    6. The SOAP Vision
    7. The REST Vision
    8. UDDI
    9. The WS-I Basic Profile
    10. Security
  2. Web Services for Java EE
    1. Hosting Web Services: Scenarios
    2. Web Services for Java EE
    3. JAX-WS and JAXB
    4. Web-Services Metadata
    5. WSDL-to-Java and Java-to-WSDL Paths
    6. Provider and Dispatch APIs
    7. SAAJ and JAXP
    8. JAX-RS for RESTful Services
    9. JAXR
  3. The Java API for XML Binding
    1. The Need for Data Binding
    2. XML Schema
    3. Two Paths
    4. JAXB Compilation
    5. Mapping Schema Types to Java
    6. Java-to-XML Mapping Using Annotations
    7. Marshaling and Unmarshaling
    8. Working with JAXB Object Models
  4. The Java API for RESTful Services
    1. Applications
    2. Resources
    3. Sub-Resources
    4. Providers
    5. Scanning and @ApplicationPath
  5. Dispatching Requests to Methods
    1. The Application Path
    2. The @Path Annotation
    3. The HTTP Method Annotations
    4. Sub-Resource Locators
    5. Annotation Inheritance and overriding
  6. Parameter and Return Types
    1. Simple Parameter Types
    2. @Consumes and @Produces Annotations
    3. @XXXParam Annotations
    4. The @DefaultValue Annotation
    5. Return Types
    6. Binary Content
    7. Delivering a File
  7. Entities and Complex Content
    1. Entity Providers
    2. Built-In Entity Providers
    3. Working with XML
    4. Driving XML Representations from Schema
  8. Context and Lifecycle
    1. Reading Web Resources
    2. Finding Java EE Components
    3. Finding Databases
    4. Security Contexts

To Hire an AMS Java Web Services Subject Matter Expert and Instructor who also teaches this class, call us today at 800-798-3901

Leave a Reply