PROGRAMMING JAVA SOAP WEB SERVICES WITH JAX-WS – WEBSPHERE 8.5 / ECLIPSE – GTJ20

Course Description

This course will you teach you how to develop Web Service provider and consumer applications for the WebSphere Application Server 8.5 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.

Labs are done using the new Eclipse tools for WebSphere.

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.

Objectives

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.5 and WebSphere 8.5.
  • 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

^^

Duration

5 days

^^

Target 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.

^^

Course Prerequisites

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

GTJ01 – Introduction to Java Using Eclipse

^^

Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.

^^

Course Content

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

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>

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

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

CHAPTER 6. WEB SERVICES DESCRIPTION LANGUAGE (WSDL)

WSDL Overview

WSDL Syntax Overview

<definitions>

<import>

<types>

<message>

<portType>

<operation>

<binding>

<service>

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

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

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

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)

CHAPTER 12. ERROR HANDLING

Introduction

Fault

Designing Faults

System Problems

Business Rule Violation

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

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

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

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

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

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

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

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

CHAPTER 22. BEST PRACTICES

Architecture Best Practices

Data Format Best Practices

Security Best Practices

Programming Model Best Practices

^^

See more Java courses