RAD Overview
RAD Development Tools
Perspectives and Editors
Server Configurations
Debugging Tools
Project Properties
Web Services Basics
Service-Oriented Architecture (SOA)
What are Web Services?
Web Services Advantages
Interactions and Components
Web Services Standards: XML, SOAP, WSDL and UDDI
Web Services Interoperability (WS-I)
Java Web Services Developer Pack (Java WSDP)
RAD: Web Service Development
What’s New
Development Approaches
Runtime Environments: Apache Axis and IBM WebSphere
WS-I Compliance
Creating a Bottom-Up and Top-Down Web Services
Creating an Axis Web Service
Testing the Web Service
Specifying Deployment and Editing WSDL
Using the TCP/IP Monitor and the Web Services Explorer
Generated Files
SOAP
SOAP Processing Model
SOAP Messages
SOAP Message Elements (Envelope, Header, Body and Fault)
Communication Styles (Document Style & RPC Style)
Encoding
Java/SOAP Mappings
SOAP Bindings
Error Handling
SOAP Implementations
RAD
TCP/IP Monitor
TCP/IP Monitor Configuration
Controlling the Monitor
Using the TCP/IP Monitor View
Examining Requests and Responses
Examining SOAP Messages
WSDL
What is WSDL?
Java/WSDL Mapping
Abstract vs. Concrete Descriptions
WSDL Document Structure
WSDL Elements (Types, Ports, Services, Messages, Operations and Port Types)
Bindings and Extensibility Elements
WSDL Style/Use
Service and Port Definitions
Binding to a Service (Early vs. Late Binding)
UDDI
UDDI Overview
Registries
UDDI Interactions
UDDI Data Model
Data Types: businessEntity, businessService, bindingTemplate and tModel
UDDI4J
UDDI Clients
RAD
Web Services Explorer
Overview of the Publishing Process
Web Services Explorer Functions
Launching the Web Services Explorer
Accessing a UDDI Registry
Publishing a Business Entity, Business Service and Service Interface
Locating Web Services
JAX-RPC
JAX-RPC Overview (JSR 101)
Why Use JAX-RPC?
JAX-RPC Model
Service Endpoint Definition
Development Steps
The ServiceLifeCycle Interface
Service Deployment
Java/XML and XML/Java Mappings
Web Service Clients (Static Stub, Dynamic Proxy and Dynamic Invocation Interface)
The javax.xml.rpc.Service Interface
Handlers
Data Type Mapping
JAX-RPC Implementations
RAD
Web Services Client Development
Web Service Client Wizard
Generating a Proxy and Sample Application
Generated Files
Testing the Client
Using the Generated Proxy
Service References
Axis
History of Axis
Axis Engine
Axis Framework
Handler Chains
Axis Services
Deployment Options (JWS and WSDD)
Mapping Tools (Java2WSDL and WSDL2Java)
Generated Files
Axis Development Process
Handlers
Axis Clients
Custom Type Mapping
TCP Monitor Tool (tcpmon)
Web Services for J2EE
Web Services for J2EE Architecture (JSR 192)
Port Definition
Managing Ports
Requirements for Exposing Session Beans and Java Classes
Service Implementation Bean Lifecycle
Container Responsibilities
Web Services Deployment Descriptor (webservices.xml)
JAX-RPC Mapping
Client Development
Service References
Security
WebSphere Support
Application Assembly and Packaging
J2EE Deployable Units
Assembly Process
Packaging Checklist
Creating Enterprise Application Projects
Importing Resources
Adding J2EE Modules and Utility JARs
JAR Dependency Editor
Using the Application Editor
Deployment Descriptor Elements (EJB, Web, Connector, Client and Application)
IBM Extensions and Bindings
Exporting Resources
Web Services Security Concepts
Web Service Security Risks
Encryption and Decryption
Cryptography
Certificates
Digital Signatures
Security: Message Level vs. Transport Level
SSL/TLS
WS-Security
Defining Web Services Security
WebSphere Security Model for Web Services
WS-Security Authentication
Enabling Authentication
Message Integrity Using XML Signatures
Configuring Integrity
WS-Security Confidentiality
Configuring Confidentiality
Deploying Web services in WebSphere Application Server
WebSphere Architecture
WebSphere Administrative Console
Web Services Support in WebSphere
Creating Required Resources
Deploying a Web Service to WebSphere Application Server
Managing Deployed Applications
JMS Application Development
JMS Capabilities and Messaging Styles
JMS Interactions and Participants
JMS Runtime Environment
JMS Application Steps
Message-Driven Beans
RAD JMS Support
Configuring JMS Resources
JMS Deployment
JMS and Transactions
SOAP Over JMS
Why Use SOAP Over JMS?
Communication Styles
Using Queues and Topics
Web Service Development Process
Web Services Wizard
Generated Resources
Generated WSDL
Using the Endpoint Enabler to Enable SOAP/JMS
SOAP Messages with Attachments
The Need for SOAP Attachments
Attachments vs. Encoding
What is MIME?
MIME Header Fields
Multipart/Related Content Type
SOAP Message Package
Referencing Attachments
Related Java APIs
JAX-RPC Mappings: MIME to Java
javax.activation.DataHandler
WSDL MIME Binding
WebSphere Support
Appendix
XML Basics
The History of XML
XML Documents: Markup and Data
XML Document Components and Structure
XML Tags
Well-Formed XML
Elements and Attributes
Names and Name Tokens
Namespaces
Entities and Escape Sequences
CDATA Sections and Comments
Appendix
Namespaces
The Need for Namespaces
Declaring Namespaces
Qualified Names
Namespace Scoping
Default Namespaces
Appendix
Validating XML with XML Schemas
XML Schema Structure
Element Declarations
Built-in Data Types
Creating and Extending Types
Defining Restrictions
List Types and Union Types
Anonymous Types
Complex Types
Occurrence Constraints
Defining Attributes and Attribute Groups
Global Elements & Attributes
Declaring Mixed Content