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