RESTful Web Services Development with Java

Course:   RESTJ
Duration:   3 Days
Level:   II
On our website at:   http://www.verhoef-training.com/courses/RESTJ.html
 
Course Summary

This course teaches experienced Java programmers how to build RESTful web services using Java. The course starts with an overview of web services development on the Java EE platform, including SOAP, WSDL, REST, JAX-WS, JAXB, and JAX-RS. Students learn to work with JAXB to bind Java object models to XML Schema. The Jersey implementation is used 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 network.

Topics Covered In This Course

The Programmable Web and Its Inhabitants

  • Kinds of Things on the Programmable Web
  • HTTP: Documents in Envelopes
  • Method Information
  • Scoping Information
  • The Competing Architectures
  • Technologies on the Programmable Web

Writing Web Service Clients

  • Web Services Are Web Sites
  • Making the Request: HTTP Libraries
  • Processing the Response: XML Parsers
  • JSON Parsers: Handling Serialized Data

What Makes RESTful Services Different

  • Introducing the Simple Storage Service
  • Object-Oriented Design of S3
  • Resources
  • HTTP Response Codes
  • An S3 Client
  • Request Signing and Access Control
  • Using the S3 Client Library

The Resource-Oriented Architecture

  • Resource-Oriented What Now?
  • What?s a Resource?
  • URIs
  • Addressability
  • Statelessness
  • Representations
  • Links and Connectedness
  • The Uniform Interface

Designing Read-Only Resource-Oriented Services

  • Resource Design
  • Turning Requirements Into Read-Only Resources
  • Figure Out the Data Set
  • Split the Data Set into Resources
  • Name the Resources
  • Design Your Representations
  • Link the Resources to Each Other
  • The HTTP Response

Designing Read/Write Resource-Oriented Services

  • User Accounts as Resources
  • Custom Places
  • A Look Back at the Map Service

Service Implementation

  • A Social Bookmarking Web Service
  • Figuring Out the Data Set
  • Resource Design
  • Design the Representation(s) Accepted from the Client
  • Design the Representation(s) Served to the Client
  • Connect Resources to Each Other
  • What?s Supposed to Happen?
  • What Might Go Wrong?
  • Controller Code
  • Model Code
  • What Does the Client Need to Know?

REST and ROA Best Practices

  • Resource-Oriented Basics
  • The Generic ROA Procedure
  • Addressability
  • State and Statelessness
  • Connectedness
  • The Uniform Interface
  • Resource Design
  • URI Design
  • Outgoing Representations
  • Incoming Representations
  • Service Versioning
  • Permanent URIs Versus Readable URIs
  • Standard Features of HTTP

The Building Blocks of Services

  • Representation Formats
  • Prepackaged Control Flows
  • Hypermedia Technologies

The Resource-Oriented Architecture vs. Big Web Services

  • What Problems Are Big Web Services Trying to Solve?
  • SOAP
  • WSDL
  • UDDI
  • Security
  • Reliable Messaging
  • Transactions
  • BPEL, ESB, and SOA

Ajax Applications as REST Clients

  • From AJAX to Ajax
  • The Ajax Architecture
  • The Advantages of Ajax
  • The Disadvantages of Ajax
  • REST Goes Better
  • Making the Request
  • Handling the Response
  • JSON
  • Cross-Browser Issues and Ajax Libraries
What You Can Expect

At the end of the course, students will be able to:

Who Should Take This Course

This course is designed for experienced Java programmers and architects who want to learn how to design and build RESTful web services using Java.

Recommended Prerequisites

Strong Java programming skills.

Training Style

Lecture (50%) / Workshop (50%)

Related Courses
Code Course Title Duration Level
RWSJE
RESTful Web Services Development
5 Days
I
Details

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.