WA1390 Web Services Development Using RAD V6 Training and Courseware Course Outline

1. Introduction to Rational Application Developer

  • Objectives
  • The WebSphere Family
  • Eclipse Platform
  • The WebSphere Studio Product Family
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v6.0
  • WebSphere Studio Application Developer Integration Edition
  • WebSphere Studio Enterprise Developer
  • Views, Perspective, and Editor Areas
  • Basic Operations with RAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task and Problems View
  • Build and Validation
  • Import and Export Project
  • Templates and Code Completion
  • Searching
  • Setup Compiler Class Path
  • JRE Switching
  • Refactoring
  • Changing Class Name
  • Changing Method Name
  • Changing Variable Name
  • Moving a Class to a Different Package
  • Extracting Code to a Method
  • Pull-up Method
  • Migrating Workspace from WSAD v5.x
  • Project Interchange Feature
  • Migrating J2EE Applications
  • J2EE Migration Wizard
  • 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
  • Rational Application Developer (RAD)
  • Background of RAD
  • WebSphere Application Server
  • What s New in WebSphere Application Server v6.0
  • WebSphere Editions
  • Services Provided by WebSphere Application Server
  • WebSphere Application Server Architecture
  • WebSphere Administrative Topology
  • WebSphere Application Server Components
  • Server Profile
  • WAS Administration Tools
  • Administration Changes from v5
  • RAD J2EE Development
  • RAD Project Structure
  • Summary
 

3. Introduction to Web Services

  • Objectives
  • Service Oriented Architecture (SOA)
  • Basic SOA
  • SOA Runtime Implementation
  • 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 RAD6
  • WS-I Compliance in RAD 6
  • WS-I Compliance at Project Level
  • Web Services Support in RAD
  • Summary
 

4. XML Programming

  • Objectives
  • XML Overview
  • Data and Document Structure
  • An Employee Document
  • Tags
  • First XML Document
  • Markup Languages
  • What is XML ?
  • Why XML?
  • An Example of XML Document
  • Well-Formed v. Valid XML Document
  • Enforcing Validity: DTDs
  • Presentation Style
  • Sections of an XML Document
  • XML Elements
  • Nesting and Hierarchy of XML Elements
  • Tag Attributes
  • Naming Rules
  • Namespaces
  • Using Namespaces
  • Java API for XML
  • The XML Example
  • Example SAX Handler
  • Example: Begin Parsing
  • Once Again with Namespace
  • Using DOM to Parse
  • With Namespace Enabled
  • Example: Build DOM Document
  • Example: Save DOM Document in a File
  • Persisting XML
  • Summary
 

5. XML Schema Basics

  • Objectives
  • What is an XML Schema?
  • Role of XML Schema in SOA
  • Creating a Schema File
  • Defining a Simple Element
  • Defining a Complex Element
  • Defining Element Attributes
  • Referring to an Element From Another Element
  • Defining Abstract Data Types
  • Adding Restrictions
  • Referring to a Schema from an XML Document
  • Validating the XML Against the Schema
  • Summary
 

6. Web services Description Language (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 SOAP Binding Extensions
  • soap:binding
  • soap:operation
  • RPC or Document Style?
  • WSDL API for Java
  • Summary
 

7. Simple Object Access Protocol (SOAP)

  • Objectives
  • SOAP Overview
  • SOAP in Protocol Stack
  • SOAP Components
  • SOAP HTTP Request Example
  • SOAP HTTP Response Example
  • Message Envelope
  • The Header Element
  • Header Attributes
  • SOAP Body
  • SOAP Fault
  • Communication Style
  • RPC/Encoded Style
  • RPC/Literal Style
  • Enabling RPC Styles
  • Document/Literal Style
  • Document/Literal Wrapped Style
  • Details of the Wrapped Style
  • Enabling Document Literal Style
  • Summary
 

8. JAX-RPC (JSR 101)

  • Objectives
  • JAX-RPC Overview
  • JAX-RPC Framework
  • Java to XML Data Conversion
  • Main Goals of JAX-RPC
  • Supported Protocols
  • JAX-RPC Supported Types
  • JAX-RPC Server
  • Server Side Artifacts
  • Generating Server Artifacts
  • JAX-RPC and WS-I
  • JAX-RPC Clients
  • JAX-RPC Client Model
  • JAX-RPC Client: Static Stub
  • Generating Client Side Code
  • Client Programming Model
  • 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
  • Mapping Tools
  • Summary
 

9. Web Services for J2EE

  • Objectives
  • Introduction
  • JSR-109: Motivation
  • When Do You Use JSR 109?
  • JSR-109 Roles
  • The Server Programming Model
  • The Service Endpoint Interface
  • Web Module Service
  • Accessing the Service
  • The Mapping File
  • Implementation Class Details
  • Lifecycle Callback
  • EJB Module Service
  • The Client Programming Model
  • Developing a Client
  • The Service Interface
  • Writing a Client
  • Handlers
  • Handlers: Example (Server-Side)
  • Handlers: Example (Client-Side)
  • Summary
 

10. WebSphere V6 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 an EJB Container
  • Generated Artifacts
  • Web Services Deployment Descriptor
  • Client Development
  • Generated Artifacts
  • The Service Reference
  • The Proxy Class
 

11. Error Handling

  • Overview
  • Introduction
  • Fault
  • Designing Faults
  • System Problems
  • Business Rule Violation
  • Summary
 

12. Web Services Security

  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Certificates
  • Overview of Web Services Security
  • WebSphere and Web Services Security
  • SOAP Message Security
  • Message Integrity
  • Message Confidentiality
  • Symmetric Encryption Example
  • Authentication
  • Transport Level Security
  • Configuring Security in WebSphere
  • Configuring a Server Module
  • Configuring a Client Module
 

13. Introduction to UDDI

  • Objectives
  • UDDI Overview
  • 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
 

14. Web Services Interoperability (WS-I)

  • Introduction
  • Goal
  • What Comes Out of WS-I?
  • Profiles
  • Basic Profile 1.1 Highlights
  • Simple SOAP Binding Profile 1.0 Highlights
  • Basic Security Profile 1.0
  • WebSphere v6 Support
  • .NET Interoperability
 

15. Introduction to Service Oriented Analysis & Design (SOAD)

  • 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
  • The Need for Loose Coupling
  • The SOAD Methodology
  • The SOAD Methodology Steps
  • Stage 1: Requirements Gathering & Process Modeling
  • Stage 2: Service Identification
  • Stage 3: Service Implementation
  • Stage 4: Process Implementation
  • SOAD Stages and SOA Lifecycle
  • Summary
 

16. Best Practices

  • Overview
  • Architecture Best Practices
  • Data Format Best Practices
  • Security Best Practices
  • Programming Model Best Practices
  • Summary