SOA and Web Services with JAX-WS
Private Training

Course Summary

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, WSDL, JAX-WS, SAAJ, JAXB, XML, UDDI, MTOM, EJB based Web Services and the WS-* Standards. 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 a Web service during the course.

Developers and architects requiring a more thorough understanding of Web Services.
Course Length
3 Days
Experience programming in Java and a good working knowledge of XML are required.


Understand the principles of Service Oriented Architecture (SOA)

Understand how Web Services can be used to build SOA based systems

Understand the core Web Services technologies, including SOAP and WSDL

Use Java specifications, including JAX-WS, JSR-181, JAXB, and JSR-109/921 to implement Web Services

Detailed Outline

  1. Service Oriented Architecture (SOA) and Web Services
    • SOA Overview
    • Web Services Overview / Relationship to SOA
    • Web services Architecture
    • SOAP and WSDL Overview
  2. Introduction to Java Web Services
    • JAX-WS and JSR-181
    • A Simple Service definition with @WebService
    • JSR-181
    • @WebService, Modifying the Generated Service
    • Other Annotations (@WebMethod, @SOAPBinding)
    • The SEI (Service Endpoint Interface)
    • JAX-WS Capabilities
    • 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
  3. WSDL-Web Services Description Language
    • XML Namespace and XML Schema Overview
    • Namespaces and Schema in WSDL Documents
    • WSDL Structure and Elements
    • A WSDL Document
    • SOAP 1.1 Binding for WSDL
  4. SOAP
    • SOAP Overview
    • Message Structure
    • SOAP Faults, Attachments
    • SOAP Messaging and HTTP Binding
    • SOAP Styles and Encoding
  5. SAAJ, DOM and SOAP Handlers
    • SAAJ Overview, Message Structure and API
    • Creating/Sending Messages
    • DOM Overview
    • Soap Handlers
  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, JAXB
  7. Start from WSDL/Start from WSDL & Java
    • Starting from WSDL
    • Binding Customizations
    • Starting from WSDL and Java
  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
  9. Handling Binary Data
    • Overview and Issues
    • Default Handling
    • MTOM Overview
    • Using MTOM in Services and Clients
    • Using DataHandler
  10. Security
    • Java EE Security / Role Based Security
    • Securing Web Services with BASIC Authentication
    • Transport Security / HTTPS
    • WS-Security (WSS)
  11. EJB-Based Web Services
    • EJB Overview
    • Session Beans
    • Programming EJB
    • Creating/Configuring EJB Based Web Services
  12. WS-*Overview
    • WS-Interoperability (WS-I)
    • The WS-I Basic Profile
    • WS-Addressing
  13. Best Practices
    • Coarse Grained Web Services
    • Optimization and Caching
    • XML Handling
    • Interoperability
    • Top Down / Bottom Up