Programming Java SOAP Web Services with JAX-WS - WebSphere 8.0 / RAD 8.0 Training

Course #:WA2103

Programming Java SOAP Web Services with JAX-WS - WebSphere 8.0 / RAD 8.0 Training

Courseware: Available for sale

This web service training course will you teach you how to develop SOAP Web Service provider and consumer applications for the WebSphere Application Server 8.0 platform. It will teach you the theory behind XML schema, WSDL and SOAP. It will proceed to teach you various Java specifications that cover Web Services development (such as JAX-WS and JAXB).

Advanced topics such as WS-Security, WS-Addressing, WS-ReliableMessaging and WS-Trust are also covered.

This course is also available using Eclipse here

Objectives

 

This class combines lecture with hands-on experience, and open ended discussion that will help the developer quickly understand how to program SOAP web service applications using Java EE 6. Upon completion of the course, students will:

  • Confidently design XML schema and WSDL.
  • Tell the difference between different SOAP styles (document literal, RPC literal etc.)
  • Implement a Web Service using RAD 8.0 and WebSphere 8.0.
  • Write a Web Services client using standard Java specifications.
  • Secure web services.
  • Learn the interoperability issues especially with the .NET platform.
  • Utilize advanced web service features for reliable messaging and attachments

Topics

 
  • XML schema design
  • JAXB
  • JAX-WS
  • SOAP
  • WSDL
  • JAXB and JAX-WS annotations
  • WS-Security
  • Interoperability issues
  • WS-Addressing
  • WS-ReliableMessaging
  • WS-Trust and WS-Federation
  • Deployment in WebSphere

Audience

 

Java EE developers who will like to learn about how to build a SOAP Web Services based solution. This class covers many advanced topics that will help them build a solution appropriate for a large business.

Prerequisites

 

Participants should already have an understanding of Java programming. For those that require Java experience before this course the following course is suggested:

  • WA1278 Introduction to Java Using Eclipse

Duration

  Five days

Outline of Programming Java SOAP Web Services with JAX-WS - WebSphere 8.0 / RAD 8.0 Training

Chapter 1. Introduction to Web Services

  • 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
  • Web Services Standards
  • 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

Chapter 2. 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

Chapter 3. Complex Data Types In Schema

  • Simple Types
  • Complex Types
  • Complex Type Example
  • Controlling Content
  • <sequence>
  • <choice>
  • <all>
  • Combining It All
  • The XML
  • Anonymous vs. Named
  • Address Example
  • Named Complex Types
  • Named ComplexType Example
  • Using Named Complex Type
  • The XML
  • <xs:any>
  • Summary

Chapter 4. The Java Architecture for XML Binding (JAXB)

  • Introduction to JAXB
  • Overview of Data Binding
  • JAXB Architecture
  • Binding Example
  • Binding Framework Example
  • Java and XML Mapping Overview
  • Namespace and Package Name Mapping
  • Simple Type Mapping
  • Complex Type Mapping
  • Customizing Complex Type Mapping
  • Property Accessor Customization
  • Property Mapping Customization
  • XML Element Mapping
  • Mapping Java Enums
  • Mapping Collections
  • Generating Java Class and Schema
  • Marshalling and Unmarshalling
  • Summary

Chapter 5. Introduction to JAX-WS

  • What is JAX-WS?
  • Advantages of JAX-WS
  • Why Do We Need a Programming Model?
  • Basic Java to WSDL Mapping
  • Developing a Service Provider
  • The Service Implementation Class
  • The Service Endpoint Interface (SEI)
  • Service Implementation Options
  • Developing a Consumer
  • Static Client Development
  • The Service Class
  • The BindingProvider Interface
  • Summary

Chapter 6. Web Services Description Language (WSDL)

  • WSDL Overview
  • WSDL Syntax Overview
  • <definitions>
  • <import>
  • <types>
  • <message>
  • <portType>
  • <operation>
  • <binding>
  • <service>
  • Summary

Chapter 7. Simple Object Access Protocol (SOAP)

  • SOAP Overview
  • SOAP in Protocol Stack
  • SOAP Document Components
  • Example SOAP Request Document
  • Example SOAP Response Document
  • The <Envelope> Element
  • The <Header> Element
  • The <Body> Element
  • SOAP Communication Style
  • Communication Style Example
  • Setting the Style in WSDL
  • RPC/Encoded Style
  • RPC/Literal Style
  • Document/Literal Style
  • Document/Literal Wrapped Style
  • Summary

Chapter 8. Web Services Interoperability (WS-I)

  • Introduction
  • Goal
  • What Comes out of WS-I?
  • WS-I Tools
  • Profiles
  • WS-I Messaging
  • Messaging Highlights
  • Service Description
  • Service Description Highlights
  • Service Publication/Discovery
  • Security
  • .NET Interoperability

Chapter 9. JAX-WS Mapping Details

  • Introduction to Mapping in JAX-WS
  • Top-down and Bottom-up Mapping
  • WSDL to Java Mapping
  • XML Data Type to JavaBean Mapping
  • Mapping <portType> to the SEI
  • Mapping the SOAP <binding>
  • Customizing WSDL to Java Mapping
  • Java to WSDL Mapping
  • JavaBean to XML Mapping
  • Mapping SEI to <portType>
  • Mapping Java Method to <operation>
  • Input Parameter Mapping
  • Method Output Mapping
  • Bare Input and Output Mapping
  • RPC Literal Style
  • Service Provider Annotation
  • Web Service Provider Example
  • Service Provider Annotations
  • JAX-WS Clients
  • Synchronous and Asynchronous Calls
  • Summary

Chapter 10. Advanced JAX-WS API

  • Publishing a Web Service
  • Web Service Context
  • Message Context
  • Working With Raw XML
  • Raw XML: Server Side
  • XML Handling Strategies
  • Raw XML: Client Side
  • Summary

Chapter 11. Building an EJB Based Web Service

  • Introduction
  • Why Use EJB as Service Implementation?
  • Implementing EJB Web Service
  • Using a Service Endpoint Interface (SEI)
  • Summary

Chapter 12. Error Handling

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

Chapter 13. Managed Web Service Client Binding

  • Using a Packaged WSDL
  • Managed Web Service Clients
  • Injecting the Service Port Directly
  • Web Service Administration Tasks
  • Configure Endpoint URL in Consumer Side
  • Configure Endpoint URL in Provider Side
  • Publishing WSDL File
  • Working with Policy Sets
  • Stopping a Service Listener
  • Summary

Chapter 14. WS-Addressing

  • What is WS-Addressing?
  • WS-Addressing and Long Running Services
  • Other Uses of WS-Addressing
  • WS-Addressing SOAP Header Elements
  • Example Client SOAP Request
  • Example Callback SOAP Request
  • Writing JAX-WS Clients to use WS-Addressing
  • Enabling Asynchronous Service Requests
  • Using WS-Addressing from the Client
  • Providing an AsyncHandler to Handle Callbacks
  • WS-Addressing Headers in SOAP Messages
  • WS-Addressing Sequence of Events
  • Asynchronous "Polling"
  • Endpoint References
  • Associating Actions with WSDL Operations
  • Faults
  • Security and Firewall Issues
  • Summary

Chapter 15. WS-ReliableMessaging

  • The Problem with HTTP
  • Enter WS-ReliableMessaging
  • When to Use Reliable Messaging?
  • How Does WS-RM Work?
  • Importance of Persistence
  • The Problem With Firewall
  • How Does WS-MakeConnection Work?
  • Using WS-MakeConnection
  • Summary

Chapter 16. Web Services Handlers

  • Handlers
  • Basic Handler Behavior
  • Basic Steps
  • JBoss Note
  • Handler Classes
  • LogicalHandlers
  • Protocol Handlers
  • Sample Handler
  • Getting Message Details
  • Inbound and Outbound
  • Handler Configuration File
  • Sampler Handler.xml
  • Specify the Handler Chain
  • Sample: Using A Handler
  • Executing
  • Summary

Chapter 17. Using MTOM for Binary Data

  • What is MTOM?
  • How MTOM Differs from Previous Approaches
  • Role of XML-binary Optimized Packaging (XOP)
  • Example of MTOM Messages
  • Enabling MTOM on a JAX-WS Service
  • Enabling MTOM on a Client
  • Summary

Chapter 18. Web Services Security (WS-Security)

  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Certificates
  • Overview of Web Services Security
  • SOAP Message Security
  • Message Integrity
  • Message Confidentiality
  • Symmetric Encryption Example
  • Authentication Using Identity Token
  • Authentication
  • Transport Level Security
  • Audit Tracking
  • Identity Assertion Using SAML
  • SAML SOAP Example

Chapter 19. WS-Trust and WS-Federation

  • Review of WS-Security Authentication Model
  • How WS-Trust Works
  • WS-Federation
  • Federation Metadata Example
  • Requesting a Token
  • Dynamic Conversation
  • Summary

Chapter 20. Interoperability of WS-Security

  • Interoperability Challenges
  • Recall WS-Security
  • Platform Run-Time Issues
  • Hints
  • Recall: WS-I
  • Basic Security Profile v1.0
  • Using Basic Security Profile 1.0
  • BSP 1.0 Details
  • BSP 1.0 Highlights
  • Summary

Chapter 21. WS-Notification

  • The Problem with One-to-One Messaging
  • Publish-Subscribe Messaging to the Rescue
  • Enter WS-Notification
  • When to Use WS-Notification
  • WS-Notification Terminology
  • Push and Pull Consumers
  • Push Consumer
  • Pull Consumer
  • Advantages of Using the Pull Consumer
  • Summary

Chapter 22. Best Practices

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