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

Java Training Overview

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
  • Building REST-based Services with JAX-RS

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.

Hands-On

Minimum 50% hands-on

Supported Platforms

JBoss® AS, Weblogic® AS, GlassFish, RAD®/WebSphere®

Java Training Course Duration

5 Days

Java Training 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: Introducing REST and JAX-RS

  • REST Overview
    • What are Resources?
    • REST Characteristics
    • Accessing RESTful Services
    • URI Templates
  • JAX-RS Overview
    • What is JAX-RS
    • Resource Class Definition - @PATH, @GET
    • @PathParam and URI Templates
    • Extracting Request Parameters
    • @Produces - Returning XML and JSON

Session 14: Client-side Access to RESTful Services

  • REST Client Requirements
  • Creating Client instances
  • Setting the Target Resource
  • Setting Path Parameters
  • Invoking the Service
  • Getting a Response
  • Getting/Setting Headers and/or Cookies

Session 15: Common REST Patterns

  • The REST Methos - GET, POST, PUT< DELETE
  • @Consumes and Acceptable Media Types
  • GET for Data Retrieval
  • POST for Adding Information
  • PUT for Updating
  • DELETE for Removal

Session 16: Best Practices

  • Coarse Grained Web Services
  • Optimization and Caching
  • XML Handling
  • Interoperability
  • Top Down / Bottom Up

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy