WA1652 Modern Web Service Development Using Eclipse Training and Courseware Course Outline

1. Introduction To Eclipse

  • Overview
  • The Eclipse Platform
  • Views, Perspective and Editor Areas
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • WTP
  • The Tomcat Servlet and JSP Web Container
  • The JBoss Application Server
  • Java Primer
  • XML Primer
  • Summary
 

2. Introduction to Web Services

  • Objectives
  • A Conceptual Look at Services
  • Defining Services
  • Service Communication Analogy
  • Three Key Service Questions
  • Connecting the Dots
  • SOA Runtime Implementation
  • What is a Web Service?
  • Enterprise Assets as Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Service Business Models
  • Example: Internal System Integration
  • Example: Business Process Externalization
  • Binding via SOAP
  • SOAP in Protocol Stack
  • SOAP Structure
  • SOAP Message Architecture
  • Applying SOAP
  • Interface via WSDL
  • WSDL Structure
  • Applying WSDL
  • Locating a Service
  • UDDI Overview
  • UDDI Terminology
  • UDDI Structure
  • Applying UDDI
  • WS-I Overview
  • WS-I Deliverables
  • Summary
 

3. Basic XML Schemas

  • What is XML Schema ?
  • Goals of Schema
  • Converting DTDs to Schema
  • Recall: Namespaces
  • The equivalent schema
  • Sample instance document
  • Documents Needed
  • XML Schema Namespaces
  • Link Documents to Schemas
  • Inline element declarations
  • XSchema Data Types
  • XSchema Type Definitions
  • XSchema Simple Data Types
  • Primitive Data Types
  • Simple Types
  • Facet Restrictions on Element Content
  • Using the Facet
  • More Samples
  • Define Simple Element Type
  • Element Declaration
  • Element Occurrence Indicators
  • Complex Type
  • Attribute Declaration
  • Attribute Declarations
  • Occurrence of Attributes
  • Value Constraints on Attributes
  • Sequence Element
  • Element Choices
  • Express any order
  • Annotations
 

4. Schema Configuration Management

  • Objectives
  • Evolving Schema
  • Managing XML Schema
  • Management Techniques
  • Internal Techniques
  • Schema Version Attribute
  • Adding An Attribute
  • Namespace Change
  • File-Based Mechanisms
  • External
  • Which To Use?
  • Summary
 

5. JAXB

  • Objectives
  • Overview of JAXB
  • Advantages of JAXB
  • XML Parsing APIs
  • Validation using Schemas
  • Java Binding
  • Using JAXB
  • Step 1: Binding XML to a Schema
  • Binding compiler
  • Interfaces and Classes
  • Implementing Classes
  • Step 2: Compiling the files
  • Step 3: Use the generated files
  • Unmarshal
  • To Unmarshal
  • Retrieving data
  • Validation
  • ObjectFactory
  • Generating XML from JAXB
  • Step 1: Bind the schema
  • Step 2: Create the content tree
  • Step 3: Marshall the content tree
  • Marshall the content tree
  • Validation
  • Updating an XML
  • Customizing your application
  • Advantages
  • 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. Configuration Management

  • Objectives
  • SOA Configuration Challenges
  • Service Versioning
  • XML Schema Versioning
  • XML Schema Versioning Guidelines
  • WSDL Versioning
  • WSDL Versioning (continued)
  • Standards Work
  • Vendor Support
  • Configuration Management Tips
  • Configuration Management Gotchas
  • Summary
 

8. 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
 

9. JAX-WS Introduction

  • Objectives
  • JAX Attack
  • JAX-WS Origins
  • JAX-WS Architecture and Tools
  • Providing a Service
  • Service Source (Option 1) ...
  • Service Source (Option 1)
  • Service-enabling Java
  • Service Source (Option 2)
  • Calling a Service
  • Client Source (Option 1)
  • Client Source (Option 2) ...
  • Client Source (Option 2)
  • Advanced Features
  • Summary
 

10. JAX WS 2.1 Details

  • Objectives
  • JAX-WS
  • JAX-WS Scope
  • JAX-WS and JAXB
  • JAX-WS Implementers
  • WSDL-to-Java Mapping
  • WSDL Files
  • <definitions>
  • <portType>
  • <types>
  • <operation>
  • <operation> parameters
  • <fault>
  • Customization Binding
  • Java-to-WSDL Mapping
  • The Implementation Class
  • Package Name
  • Class Name
  • Methods and Types
  • JAXB Usage
  • Exceptions
  • Available API
  • Client API - Service
  • Service
  • Using Service
  • Dispatch
  • Provider
  • WebServiceContext
  • Exception Classes
  • WebServiceFeature
  • Annotation Support
  • JAX-WS Annotations
  • The Handler Framework
  • Handler Invocation
  • Handler Types
  • Using Handlers
  • Summary
 

11. JAX-WS Bindings

  • Objectives
  • Blessed be the data that binds
  • JAXB 2.0 Data Binding
  • The JAXB Data Binding Process
  • Java Representation of XML Schema
  • Default Data Type Bindings
  • Data Binding Factories
  • Code-first Services
  • Schema-first Services
  • Schema-first Binding
  • Schema-first Advantages
  • Customizing JAXB Bindings
  • JAXB customization concepts
  • Inline and External Customizations
  • Passing Customization Files to the JAXB Binding Compiler
  • Scope, Inheritance, and Precedence
  • Customization Syntax
  • Global Bindings Declarations
  • Schema Binding Declarations
  • Class Binding Declarations
  • Property Binding Declarations
  • <javaType> Binding Declarations
  • Typesafe Enumeration Binding Declarations
  • <javadoc> Binding Declarations
  • Customization Namespace Prefix
  • Tango - .Net Interoperability
  • Summary
 

12. Declarative service configuration with Java 5

  • Configure Eclipse for Annotations
  • Start-from-Java
  • JSR-181 defines eight annotations
  • Core Annotations
  • Hello Word Example
  • @WebService Annotation Parameters
  • @WebMethod Annotation Parameters
  • @OneWay Annotation
  • @WebParm Annotation Parameters
  • @WebResult Annotation Parameters
  • More Annotations
  • @HandlerChain Annotation Parameters
  • @SoapBinding Annotation Parameters
  • Advanced Hello Word Example
  • Adv. Hello Word Example Cont.
  • WSDL Generated
  • WSDL Generated Cont.
  • Summary
 

13. 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
 

14. Error Handling

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

15. 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
 

16. 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
 

Appendix A. Best Practices

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