We teach what we know ... Software!
303.377.6176
Developing RESTful Services in Java Training

Course Description  
This course 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.

Course Length: 3 Days
Course Tuition: $1190 (US)
Prerequisites
Strong Java programming skills are essential
Course Outline  

Chapter 1. Overview of Web Services
Why Web Services?
Service-Oriented Architecture
HTTP and XML
SOAP
WSDL
The SOAP Vision
The REST Vision
UDDI
The WS-I Basic Profile
Security

Chapter 2. Web Services for Java EE
Hosting Web Services: Scenarios
Web Services for Java EE
JAX-WS and JAXB
Web-Services Metadata
WSDL-to-Java and Java-to-WSDL Paths
Provider and Dispatch APIs
SAAJ and JAXP
JAX-RS for RESTful Services
JAXR

Chapter 3. The Java API for XML Binding
The Need for Data Binding
XML Schema
Two Paths
JAXB Compilation
Mapping Schema Types to Java
Java-to-XML Mapping Using Annotations
Marshaling and Unmarshaling
Working with JAXB Object Models

Chapter 4. The Java API for RESTful Services
Applications
Resources
Sub-Resources
Providers
Scanning and @ApplicationPath
Chapter 5. Dispatching Requests to Methods
The Application Path
The @Path Annotation
The HTTP Method Annotations
Sub-Resource Locators
Annotation Inheritance and overriding

Chapter 6. Parameter and Return Types
Simple Parameter Types
@Consumes and @Produces Annotations
@XXXParam Annotations
The @DefaultValue Annotation
Return Types
Binary Content
Delivering a File

Chapter 7. Entities and Complex Content
Entity Providers
Built-In Entity Providers
Working with XML
Driving XML Representations from Schema

Chapter 8. Context and Lifecycle
Reading Web Resources
Finding Java EE Components
Finding Databases
Security Contexts

Appendix A. Course Tools and Utilities
Appendix B. Handy Guide to Web-Services Acronyms

Contact us for course schedules or more information.


Let's Have Fun

Training can be conducted in a number of different ways outside of a classroom setting. To that end, we offer some free on line tutorials which we will update extensively in the very near future. We also offer mentoring services to help design, integrate and develop large scale complicated systems.
Some of the places where we have taught >>
  • New York City
  • Los Angeles, California
  • Chicago, Illinois
  • Houston, Texas
  • Philadelphia, Pennsylvania
  • Pittsburgh, Pennsylvania
  • Phoenix, Arizona
  • San Antonio, Texas
  • San Diego, California
  • Dallas, Texas
  • San Jose California
  • Buffalo, New York
  • Toronto, Canada
  • Montreal, Canada
  • Detroit, Michigan
  • Indianapolis, Indiana
  • Jacksonville, Florida
  • San Francisco, California
  • Columbus, Ohio
  • Austin, Texas
  • Memphis, Tennessee
  • Baltimore, Maryland
  • Fort Worth, Texas
  • Charlotte, North Carolina
  • El Paso, Texas
  • Milwaukee, Wisconsin
  • Seattle, Washington
  • Boston, Massachusetts
  • Denver, Colorado
  • Louisville, Kentucky
  • Washington DC
  • Nashville, Tennessee
  • Las Vegas, Nevada
  • Portland, Oregon
  • Oklahoma City, Oklahoma
  • Tucson, Arizona
  • Albuquerque, New Mexico
  • Long Beach, California
  • Atlanta, Georgia
  • Fresno, California
  • Sacramento, California
  • New Orleans, Louisiana
  • Cleveland, Ohio
  • Kansas City, Kansas
  • Boulder, Colorado
  • Virginia Beach, Virginia
  • Omaha, Nebraska
  • Oakland, California
  • Miami, Florida
  • Tulsa, Oklahoma
  • Honolulu, Hawaii
  • Minneapolis, Minnesota
  • Colorado Springs, Colorado
©2012 The Hartmann Software Group, Independence Plaza, B-180 1001 16th Street, Denver, Colorado 80265