WA1117 Web Services Development using WSAD V5 Training Course Outline

1. Introduction to WSAD

  • Objectives
  • The WebSphere Studio Family
  • Eclipse Platform
  • Key Features in WSAD v5.1.2
  • Eclipse 2.1 Features
  • Views, Perspective and Editor Areas
  • Basic Operations with WSAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task View
  • Build and Validation
  • Import and Export Project
  • Templates and Code Completion
  • Searching
  • Summary
 

2. Introduction to J2EE and the WebSphere Platform

  • Objectives
  • Java Web Applications
  • Java Web Application Architecture
  • J2EE Architecture
  • J2EE Software Packaging
  • J2EE Module Structure
  • Enterprise Archive (EAR)
  • Web Modules and WAR
  • EJB Modules
  • Web Application Programming Model – MVC
  • An MVC Example
  • The Infrastructure for Enterprise Web Applications
  • The IBM WebSphere Platform
  • WebSphere Studio Site Developer
  • WebSphere Studio Application Developer (WSAD)
  • Background of WSAD
  • WebSphere Application Server
  • What’s new in WebSphere Application Server v5.0
  • WebSphere Editions
  • Services provided by WebSphere Application Server
  • WebSphere Application Server Architecture
  • WebSphere Administrative Topology
  • WebSphere Application Server Components
  • WAS Administration tools
 

3. Introduction to Web Services

  • Objectives
  • Service Oriented Architecture(SOA)
  • Basic SOA
  • SOA – Runtime Implementation
  • SOA
  • Web Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Services Business Models
  • Case Study: Internal System Integration
  • Case Study: Business Process Externalization
  • SOAP
  • UDDI
  • Web Services Description Language(WSDL)
  • Web Services Invocation Framework(WSIF)
  • WSIF and WSDL
  • Web Services Interoperability(WS-I)
  • WS-I Deliverables
  • WS-I Support in WSAD 5.1.2
  • WS-I Compliance in WSAD 5.1.2
  • WS-I Compliance at Project Level
  • Web Services Support in WSAD
  • Summary
 

4. Introduction to SOAP

  • Objectives
  • SOAP 1.1 Overview
  • SOAP Components
  • Message Envelope
  • SOAP XML Namespaces
  • SOAP HTTP Request Example
  • SOAP HTTP Response Example
  • SOAP Envelope
  • SOAP Header
  • Header Attributes - actor
  • Header Attributes - mustUnderstand
  • Header Attributes - encodingStyle
  • SOAP Body
  • SOAP Fault
  • SOAP Encoding
  • Communication Styles
  • How to Choose the Style
  • SOAP-RPC Example
  • SOAP-Document Example
  • SOAP Data Model
  • Simple Elements
  • SOAP Complex Data Type
  • Complex Data types
  • Structs
  • Arrays
  • SOAP Encoding Rules
  • SOAP Java-related mappings
  • Different SOAP Implementations
  • SOAP - Recap
  • Summary
 

5. Introduction to WSDL

  • Objectives
  • WSDL Overview
  • WSDL Document Tags
  • WSDL Namespaces
  • Sample WSDL Document Structure
  • definitions
  • import
  • types
  • message
  • portType
  • operation
  • One-way operation
  • Request-Response operation
  • Solicit-Response operation
  • Notification operation
  • Modeling Simple Operation
  • Modeling Complex Operation
  • Modeling Complex Message
  • binding
  • More on binding
  • binding Syntax
  • SOAP Binding Example
  • service and port
  • More on port
  • WSDL Bindings -- Extensibility Elements
  • WSDL SOAP Binding Extensions
  • soap:binding
  • soap:operation
  • soap:body
  • soap:fault
  • soap:address
  • soap:header & soap:headerfault
  • WSDL HTTP Binding Extension
  • Http Binding Extensions
  • WSDL MIME Binding Extensions
  • WSDL API for Java
  • Summary
 

6. JAX-RPC

  • Objectives
  • JAX-RPC Overview
  • JAX-RPC Framework
  • JAX-RPC Supported Types
  • JAX-RPC Server
  • JAX-RPC Service Implementation(Server)
  • JAX-RPC and WS-I
  • JAX-RPC Clients
  • JAX-RPC Client Model
  • JAX-RPC Client - Static Stub
  • JAX-RPC Client – Dynamic Proxy
  • Dynamic Invocation Interface
  • JAX-RPC Type Mapping
  • 1. Mapping XML Types to Java Types – Simple Types
  • 1. Mapping XML Types to Java Types – Complex Types
  • Complex Type Mapping - Example
  • 1. Mapping XML Types to Java Types – Arrays
  • Mapping Arrays - Example
  • 2. Mapping abstract WSDL definitions to Java
  • Mapping concrete WSDL types to Java types 3. Mapping Concrete WSDL Types to Java Types
  • 3. Mapping Concrete WSDL Types to Java Types
  • Java to WSDL/XML Mapping
  • Summary
 

7. Enterprise Web Services

  • Objectives
  • JSR 109
  • JSR-109 - Motivation
  • JSR 109
  • JSR 109 Implementation
  • JSR-109 Roles
  • Client Programming Model
  • Deployment Descriptors
  • Client DD - webservicesclient.xml
  • JAX-RPC Mapping Deployment Descriptor
  • JAX-RPC Mapping Deployment Descriptor - Elements
  • Server Programming Model
  • Server Model - Port
  • Port Components – Web Services Editor
  • EJB Programming Model
  • Web Container Programming Model
  • Server Programming Model – Deployment Descriptors
  • Sample webservices.xml
  • webservices.xml
  • Other files
  • Handlers
  • Handlers – Example(Server-Side)
  • Handlers – Example(Client-Side)
  • JSR-109 in WebSphere
  • Summary
 

8. Architecture Details

  • Introduction
  • Base vs. Network Deployment
  • Application Server
  • Node
  • Cell
  • A Typical Cell
  • Configuration Repository
  • Administration Service
  • Cluster
  • Web Container
  • Web Request Processing
  • Plugin Configuration
  • Virtual Host
  • Managed Process
  • Basics
  • Key Possibilities
  • Coexistence Scenarios
  • Common Topologies
  • All in One
  • Vertical Scaling
  • Server Separation
  • Multi-tier
  • Horizontal Scaling
  • Web Server Horizontal Scaling
  • Multiple Instances
  • Multiple Cell
  • Process Discovery
 

9. WebSphere v5 Support for Web Services

  • Introduction
  • Service in a Web Container
  • Example Java Class
  • Generated Artifacts
  • How Does the Wizard Generate All That?
  • Web Services Deployment Descriptor
  • Example: webservices.xml
  • webservices.xml Editor
  • The Generated WSDL File
  • The WSDL Editor
  • Service in a EJB Container
  • Generated Artifacts
  • Web Services Deployment Descriptor
  • Client Development
  • Generated Artifacts
  • The Proxy Class
 

10. Introduction to UDDI

  • Objectives
  • UDDI Overview
  • UDDI Registries
  • UDDI in Web Services Architecture
  • UDDI
  • Businesses and Services in UDDI
  • Static and Dynamic Web Services
  • UDDI Registry Structure
  • UDDI Registry Structure -tModel
  • UDDI Registry Structure
  • UDDI Interactions
  • UDDI in WebSphere
  • Summary
 

11. Advanced UDDI

  • Objectives
  • Defining Complex Business Relationships
  • Modeling Relationship
  • Service Projection
  • Example Service Projection
  • External Taxonomies
  • Improved Query
  • UDDI Replication
  • UDDI4J – The Java API
  • UDDI4J: Performing Query
  • Example: Query a Business
  • Saving a Business
  • Example: Saving a Business
  • Saving a Service
  • Example: Saving Service
  • Working With Binding Templates
  • Looking Up the tModel of a Service
  • Looking Up a Binding Template
  • Private Registry
  • Types of Private Registries
  • WebSphere UDDI Registry
 

12. Web Services Invocation Framework (WSIF)

  • Recap WSDL
  • Introduction
  • More Details
  • WSIF Architecture
  • The WSDL File
  • Example: Java Binding
  • Example: SOAP Binding
  • WSDL File
  • Example port
  • Additional Classes
  • Example: Client Code
  • More Advanced Scenario
  • Using Stubs
  • Generate the Stub
  • Example Stub
  • Example Client Code
 

13. Web Services Inspection Language (WSIL)

  • Introduction
  • More Detail
  • WSIL XML Syntax
  • Example XSIL File
  • Service Description
  • WSDL Binding Information
  • Example: WSDL Binding
  • UDDI Binding Information
  • Java API
  • Example: WSIL4J
  • Working With WSDL Description
  • WSIL Document Publication
 

14. Web Services Security (WS-Security)

  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Overview of WS-Security
  • WebSphere and Web Services Security
  • Integrity
  • Example: Signed XML Document
  • Canonicalization
  • Enable WS Integrity in WSAD
  • Confidentiality
  • Enable WS Confidentiality in WSAD
  • Security (Identity) Token
  • Enable Identity Token in WSAD
 

15. Web Services Software Development Methodology

  • Introduction
  • Software Lifecycle
  • Service Provider
  • Provider: Green Field
  • Provider: Top-down
  • Provider: Bottom-up
  • Provider: Meet in the middle
  • Service Requester
  • Requester: Static
  • Requester: Semi-static
  • Requester: Dynamic
 

Appendix. SOAD & Web Services

  • Objectives
  • Introduction to SOAD
  • Applying OOAD Principles
  • Abstraction
  • Abstraction in SOAD
  • Encapsulation
  • Encapsulation in SOAD
  • Modularity
  • Modularity in SOAD
  • Hierarchy
  • Hierarchy in SOAD
  • Why OOAD is not Enough
  • Granularity
  • Loose Coupling
  • The SOAD Methodology
  • Stage 1 - Process Modeling
  • Stage 1 – Process Modeling
  • Sample Use Case in a Business Process Document
  • Sample Use Case - continued
  • Example Business Process Diagram
  • Example BPEL Document
  • Example BPEL Document - continued
  • Stage 2 – Service Identification
  • Example Service Identification
  • Stage 3 - Service Design and Implementation
  • Stage 4 - Process Implementation
  • Summary