08/22/2022 - 08/26/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,595.00
Enroll
09/26/2022 - 09/30/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,595.00
Enroll
10/31/2022 - 11/04/2022
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,595.00
Enroll

Labs are done using the new Eclipse tools for WebSphere.

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 for Programming Java SOAP Web Services with JAX-WS - WebSphere 8.0 / Eclipse 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