Web Services Development Using RAD V6.0 Course

Course Code: IN 524
Course Abstract:

This course teaches participants how to develop, deploy and secure applications with a Service Oriented Architecture using Web services in the Rational Application Developer v6 development environment. The RAD features that streamline Web services development and deployment are covered in depth.  The concepts taught in this course are reinforced by hands-on lab exercises.

Audience: This course is designed for developers.
Duration: 5 days
Learning Outcomes:

Upon completion of this course, the participant will be able to:
> Develop, secure, deploy, publish and consume simple and advanced Web services
> Publish and retrieve Web service definitions from a UDDI registry
> Exploit the rapid application development tools provided by RAD which automate Web service development

Course Topics:

RAD Review
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
Development Approaches
Runtime Environments: IBM SOAP, Apache Axis and IBM WebSphere
WS-I Compliance
Creating a Web Service from a JavaBean
Exposing a Stateless Session Bean as a Web Service
Creating an Axis Web Service
Generated Files
Testing the Web Service
Defining Deployment: webservices.xml, ibm-webservices-bnd.xmi and ibm-webservices-ext.xmi
Editing WSDL
Using the Web Services Explorer

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
What is the 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
Client Types
Generating Sample JSPs
Testing the Proxy
Generated Files
Using the Generated Proxy
Adding Service Reference Entries

 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
J2EE Modules
Assembling J2EE Applications
Packaging Checklist
Deployment Descriptor Elements (EJB, Web, Connector, Client and Application)
IBM Extensions and Bindings

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

Emerging Technologies
Web Services Flow Language (WSFL)
Web Services Inspection Language (WS-Inspection )
Relationship between UDDI and WSIL
WSIL4J
Java API for XML Registries (JAXR)
Java Architecture for XML Binding (JAXB)
Java API for XML Messaging (JAXM)
WSIF

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 DTDs
Approaches to Validation
DOCTYPE Declaration
Element Declarations and Element Content
Modifiers
Mixed Content
Attribute Declarations
Entities
Notation Declarations
Validating vs. Non-Validating Parsers

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

Prerequisites: J2EE programming experience and familiarity with XML is required.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning