Web services are designed to allow Web-based access to distributed software and business services. They bring standard, open service architecture to component development that allows them to be accessed over the Web with standard protocols such as HTTP and standard XML formats for messages and service descriptions. This course will give you a thorough understanding of the current Web services architecture, and the technologies that support Web services including the new Java APIs such as JAX-WS and JSR-181.

 

Topics include:

  • SOAP – An XML based messaging mechanism.
  • WSDL – Web services Description Language – An XML language that describes the interface and semantics of a Web service.
  • JAX-WS – Accessing Web services using the latest Java APIs including JAX-WS, JSR-181, JAXB
  • SAAJ – Soap with Attachments API for Java
  • Soap Handlers
  • JAXB – Java Architecture for XML Binding
  • XML Web Services – Working with Web services directly at the XML level
  • MTOM – Handling binary message data in an interoperable way
  • Security – Basic Authentication, HTTPS, and Web Services Security (WS-Security)
  • EJB based Web Services
  • The WS-* Standards – A Brief Overview

We will look at the current state of the art of web services, what works and what doesn’t work, and also at newer standards, and how they fit into the Web services picture. This course is hands on, and students will actually build and deploy Web services during the course.

All labs are done using the JBoss 5 Application Server as the server platform, and the lab instructions include detailed directions on using JBoss.

Supported platforms include JBoss AS, Weblogic AS, GlassFish and RAD/WebSphere.

Course Duration: 3 days
Course Outline:
  • Service Oriented Architecture (SOA) and Web Services
    • SOA (Service Oriented Architecture) Overview
    • Web Services Overview / Relationship to SOA
    • Web services Architecture
    • SOAP and WSDL Overview
  • Introduction to Java Web Services
    • Java Web Services
    • JAX-WS and JSR-181
    • A Simple Service definition with @WebService
  • JSR-181
    • Overview
    • @WebService, Modifying the Generated Service
    • Other Annotations (@WebMethod, @SOAPBinding)
    • The SEI (Service Endpoint Interface
    • Lab: Defining a Service with an SEI
  • JAX-WS Capabilities
    • Overview
    • WSDL to Java Mapping
    • Capabilities (XML Messaging, Handlers, SOAP/HTTP, Client Programming
    • JAX-WS Clients
    • Programming Model, Generating Classes from WSDL
    • Writing a JAX-WS Client
    • Dynamic Clients
    • Lab: JAX-WS Client and Dynamic Client
  • WSDL – Web Services Description Language
    • Introduction
    • XML Namespace and XML Schema Overview
    • Namespaces and Schema in WSDL Documents
    • WSDL Structure and Elements
    • A WSDL Document
      • Definitions, Types, Messages, PortTypes, and Operations
      • Bindings, Ports, and Services
    • SOAP 1.1 Binding for WSDL
  • SOAP
    • SOAP Overview
    • Message Structure
      • Envelope/Header/Body
      • Detailed Soap message structure
    • SOAP Faults, Attachments
    • SOAP Messaging and HTTP Binding
    • SOAP Styles and Encoding
  • SAAJ, DOM, and SOAP Handlers
    • SAAJ Overview, Message Structure and API
    • Creating/Sending Messages
    • DOM Overview
    • Using DOM with SAAJ
    • SOAP Handlers
      • Overview and Processing
      • Logical and Protocol Handlers
      • Writing/Configuring a SOAP Protocol Handler
      • Writing/Configuring a Logical Handler
    • JAXB – Java Architecture for XML Binding
      • Overview and Architecture
      • Generating Java Classes from XML Schema
      • Customizing Generated Java
      • Generating XML Schema from Annotated Java Classes
      • Web Services, WSDL, and JAXB
    • Start From WSDL / Start from WSDL & Java
      • Starting From WSDL
      • Binding Customizations
      • Starting From WSDL and Java
    • XML-Based (Bare) Web Services
      • XML Messaging Overview
      • JAX-WS Providers
      • A SOAP Provider and Source Provider
      • XML Clients with Dispatch
      • XML/HTTP Messaging with Provider
      • Overview of REST and JAX-RS
    • Handling Binary Data
      • Overview and Issues
      • Default handling
      • MTOM Overview
      • Using MTOM in Services and Clients
      • Using DataHandler
    • Security
      • Java EE Security / Role Based Security
      • Securing Web Services with BASIC Authentication
      • Transport Security / HTTPS
      • Securing Web Services with HTTPS
      • WSS (WS-Security) Overview
    • EJB-Based Web Services
      • EJB Overview
      • Programming EJB
      • Creating/Configuring EJB-Based Web Services
      • Lab: Creating an EJB-Based Web Service
    • WS-* Overview
      • WS-Interoperability (WS-I)
      • The WS-I Basic Profile
      • WS-Addressing
    • Best Practices
      • Coarse Grained Web Services
      • Optimization and Caching
      • XML Handling
      • Interoperability
      • Top Down / Bottom Up