Building REST and SOAP Web Services with Java (RSWSJ) – Outline

Detailed Course Outline

Web Services Overview

Interoperable applications with SOA

  • Designing an SOA integration architecture
  • Implementing SOAs with web services

Java standard APIs for web services

  • Building SOAP-based services with JAX-WS
  • Developing RESTful services with JAX-RS

Defining SOAP Messages with WSDL

XML essentials

  • XML namespaces
  • Describing XML with schema

Structure of SOAP messages

  • Role of SOAP in web services
  • Operations, messages and faults

Anatomy of a WSDL document

  • Defining the interfaces of a web service
  • Specifying implementation

Implementing Code-First Web Services

Exposing plain old Java objects (POJOs) as web services

  • Applying JAX-WS annotations to POJOs
  • Configuring and deploying a web service implementation

Implementing SOAP clients in Java

  • Generating client-side artefacts from WSDL
  • Modifying client code to permit message monitoring
  • Authenticating and authorising clients

Augmenting SOAP-based services

  • Incorporating best practices for web services
  • Implementing policies for security, reliability and message optimisation

Generating Contract-First Web Services

Contract-first service development

  • Comparing contract-first and code-first services
  • Creating portable Java artefacts

Importing a WSDL document

  • Building interoperable applications by conforming to Web Services Interoperability (WS-I) standards
  • Implementing a web service endpoint using JAX-WS

Building RESTful Web Services

Introduction to REST (Representational State Transfer)

  • Describing the REST architectural style
  • Comparing SOAP and RESTful web services

Developing RESTful web services using JAX-RS

  • Adding JAX-RS annotations to a POJO
  • Configuring result types using HTTP request headers
  • Deploying a JAX-WS service

Customising a RESTful Service Implementation

  • Interacting with request URLs
  • Mapping URLs to Java classes and methods
  • Binding URL components to method arguments

Providing Server-Side Support for Ajax Clients

Handling JavaScript Object Notation (JSON)

  • Applying cases for JSON with RESTful services
  • Interpreting a message formatted as JSON

Mapping Java to JSON

  • Controlling JSON generation with JAXB annotations
  • Defining a JSON return type from a Java method

Developing RESTful Clients

Dispatching REST messages using JAX-RS

  • Building the client's request
  • Handling the service's response code and exceptions

Marshalling JavaBeans with JAXB

  • Mapping XML with Java API for XML Binding (JAXB)
  • Converting Java arguments with JAXB and JAX-RS

Processing asynchronous messages

  • Implementing server-push with JAX-RS
  • Delivering asynchronous client requests

Securing Web Services

Configuring a secure web service

  • Configuring HTTP Basic Authentication
  • Establishing secure message transmission with SSL/TLS

Authenticating and authorising clients

  • Controlling access to web services and methods
  • Providing authentication information to web services