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.
XML Web Services Training Topics
- XML schema design
- SOAP
- WSDL
- JAX/RPC
- JSR 109
- UDDI
- WS-Security
- Interoperability issues
- Deployment in WebSphere
XML Web Services Training Learning Objectives
After completing this course, the student should be able to:
- Confidently design XML schema and WSDL.
- Tell the difference between different SOAP styles (documnent 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.
XML Web Services Training Course duration
5 days
XML Web Services Training Course outline
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 Web Developer
- 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
- 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
- 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
- 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 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. 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 a EJB Container
- Generated Artifacts
- Web Services Deployment Descriptor
- Client Development
- Generated Artifacts
- The Service Reference
- The Proxy Class
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 in WebSphere
- 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
- WebSphere and Web Services Security
- SOAP Message Security
- Message Integrity
- Message Confidentiality
- Authentication
- Transport Level Security
- Configuring Security in WebSphere
- Configuring a Server Module
- Configuring a Client Module
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. Service Oriented Analysis & Design (SOAD)
Introduction
- 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
- Business Process Document - for the User Placing an Order
- Example: The Business Process Diagram
- Example: The Resulting BPEL Document
- Stage 2 – Service Identification
- Example: 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
Minimum Hardware Requirements
- 1000Mhz Pentium III
- 1GBRAM
- 6 GB free on the C drive.
- Ethernet or Token Ring card
- CD-ROM drive
- Network connectivity to the internet
Minimum Software Requirements
- Microsoft Windows 2000 SP4
- Adobe Acrobat Reader 6.0
- Netscape 4.7 / Internet Explorer 5.0 (or higher)
- Rational Application Developer v6 (RAD 6)
- Rational Application Developer Fix Pack 6.0.1.1
- WAS V6.0 Integrated Test Environment Update v6025
- WebSphere Application Server v6
- Apache Axis 1.4
- UDDI4J 2.0.3