Topics
 
  • XML schema design
  • SOAP
  • WSDL
  • JAX/RPC
  • JSR 109
  • UDDI
  • WS-Security
  • Interoperability issues
  • Deployment in WebSphere
What you will learn
  After completing this course, the student should be able to:
  • Confidently design XML schema and WSDL.
  • Tell the difference between different SOAP styles (document literal, RPC literal etc.)
  • Implement a Web Service using RAD6.
  • Write a Web Services client using standard Java specifications.
  • Register a service in a public or private UDDI registry.
  • Secure web services.
  • Learn the interoperability issues especially with the .NET platform.
Audience
  J2EE developers who will like to learn about how to build a Web Services based solution. This class covers many advanced topics that will help them build a solution appropriate for a large business.
Prerequisites
  Java programming. Beginner level knowledge of J2EE and XML.
Duration
  Five days
Lab Setup Guide

Outline for Web Services Development Using RAD V6 Training

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