WA1505 Web Services Development Using Eclipse Training and Courseware Course Outline

1. Introduction To Eclipse

  • Overview
  • The Eclipse Platform
  • Eclipse 3.0 Java IDE
  • Views, Perspective and Editor Areas
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Build and Validation
  • Templates and Code Completion
  • Searching
  • WTP
  • The Tomcat Servlet and JSP Web Container
  • The JBoss Application Server
  • Summary
 

2. J2EE Overview

  • Objectives
  • Goals of Enterprise Applications
  • What is Java?
  • What is J2EE?
  • Role of Application Server
  • The J2EE Specifications
  • J2EE Components
  • What is a Servlet?
  • What is a JSP?
  • What is an EJB?
  • Model-View-Controller Architecture
  • MVC An Example
  • Web Client
  • Applet
  • Application Client
  • J2EE Vendor Specifications
  • Containers
  • J2EE Blueprint
  • Summary
  • Reference
 

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
  • Web Services Support in Eclipse/WTP
  • 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 vs. 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
  • Summary
 

5. XML Schema Basics

  • Objectives
  • What is XML Schema?
  • 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 a XML Document
  • 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
  • Message Envelope
  • Message Envelope - Headers
  • SOAP HTTP Request Example
  • SOAP HTTP Response Example
  • Header Attributes
  • SOAP Body
  • SOAP Fault
  • Communication Style
  • RPC/Encoded Style
  • RPC/Literal Style
  • Document/Literal Style
  • Document/Literal Wrapped Style
  • Details of the Wrapped 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
  • Mapping XML Types to Java Types Simple Types
  • Mapping XML Types to Java Types Simple Types
  • Mapping XML Types to Java Types Simple Types
  • Mapping XML Types to Java Types Complex Types
  • Complex Type Mapping - Example
  • Mapping XML Types to Java Types Arrays
  • Mapping Arrays - Example
  • Mapping abstract WSDL definitions to Java
  • Mapping concrete WSDL types to Java types
  • 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 to 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. JBoss v4 Support for Web Services

  • Introduction
  • Service in a Web Container
  • Example Java Class
  • Generated Artifacts
  • JSR 109 Components
  • Using wstools
  • Using wstools Server Side
  • Using wstools Sample config.xml
  • Web Services Deployment Descriptor
  • Example: webservices.xml
  • The Generated WSDL File
  • The WSDL Editor
  • Service in a EJB Container
  • Web Services Deployment Descriptor
  • Client Development
  • Using wstools sample config.xml
  • Generated Artifacts
  • The Service Reference
 

11. 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 and Eclipse
  • Summary
 

12. Error Handling

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

13. Web Services Security

  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Certificates
  • Overview of Web Services Security
  • SOAP Message Security
  • Message Integrity
  • Message Confidentiality
  • Authentication
  • Transport Level Security
 

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
  • .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 - Process Modeling
  • Stage 2 Service Identification
  • Stage 3 Service Design & Implementation
  • Stage 4 - Process Implementation
  • Summary
 

16. Best Practices

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