Learning Patterns Your Source for Quality Technology Courseware

Fast Track to SOA and Java® Web Services (JAX-WS)

Web services are designed to allow Web-based access to distributed software and business services. They bring a 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.

Course Information:

Course Code: JWS

Price: $150

Duration: 3 days

Labs: many hands-on labs (minimum 50% of course)

Prerequisites: Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions

Supported Software Environments:

  • Standard: Java 8 and Eclipse IDE
  • Standard App Server: WildFly/JBoss®
  • Other Available IDEs IntelliJ IDEA, IBM RAD (upon request)
  • Other Available Servers: WAS (upon request)
(Non-standard software may require additional wait and incur additional charges.)

Course Objectives:

Course Outline:

  • Session 1: 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
  • Session 2: Introduction to Java Web Services
      Overview
      • 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
  • Session 3: 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
  • Session 4: SOAP
    • SOAP Overview
    • Message Structure
      • Envelope/Header/Body
      • Detailed Soap message structure
    • SOAP Faults, Attachments
    • SOAP Messaging and HTTP Binding
    • SOAP Styles and Encoding
  • Session 5: 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
  • Session 6: 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
  • Session 7: Start From WSDL / Start from WSDL & Java
    • Starting From WSDL
    • Binding Customizations
    • Starting From WSDL and Java
  • Session 8: 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
  • Session 9: Handling Binary Data
    • Overview and Issues
    • Default handling
    • MTOM Overview
    • Using MTOM in Services and Clients
    • Using DataHandler
  • Session 10: 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
  • Session 11: EJB-Based Web Services
    • EJB Overview
    • Programming EJB
    • Creating/Configuring EJB-Based Web Services
    • Lab: Creating an EJB-Based Web Service
  • Session 12: WS-* Overview
    • WS-Interoperability (WS-I)
    • The WS-I Basic Profile
    • WS-Addressing
  • Session 13: Best Practices
    • Coarse Grained Web Services
    • Optimization and Caching
    • XML Handling
    • Interoperability
    • Top Down / Bottom Up