Complete Java Web Services

$2,595.00

Duration Four Days

Description

Duration: 4 Days

Description

The Complete Java Web Services class teaches students how to build Web Services and Web Service clients using Java technologies. The class includes a high-speed introduction to XML namespaces, XML Schema, SOAP, and WSDL before exploring Web service client or server-side development in Java APIs and tools. Specifically, this class focuses on JAX-WS.

Learning Objectives

  •  Understand how Web services relate to Service Oriented Architecture.
  •  Become familiar with the pillar Web service specifications for XML, XML Schema, SOAP, WSDL and UDDI.
  •  Pick up design patterns and best practices for Web service interface documents.
  •  Experience the development of Java Web services using the JAX-WS API.
  •  See how WSDL and Schema elements map to Java objects.
  •  Recognize and understand the difference between RPC and Document styled services.
  •  Learn how to make and test Web services that are highly interoperable.

Audience

This class intended for developers that are going to implement SOAP-based Web services or Web service clients in Java.  Attendees should already have a good grasp of Java and server side development.  Attendees should already have a basic understanding of XML. 

Prerequisites

Students should have a good understanding of the Java programming language and a basic understanding of XML.  Students that have attended the Complete Java have the necessary background for this course.

Course Outline

SOA and Web Services Introduction

  •  Service Oriented Architecture (SOA)
  •  SOA – the architectural pattern
  •  How is SOA accomplished?  The SOA Principles
  •  Benefits of SOA
  •  Web Services and SOA
  •  Web Services
  •  Web Service Standards
  •  Standard Managers
  •  Java and Web Services

XML Namespaces

  •  XML Name Conflicts
  •  Namespaces
  •  The Namespace Identifier
  •  Qualified and Unqualified Names
  •  Global and Local Scope

XML Schema

  •  XML Schema Specification
  •  A Simple Schema Example
  •  XML Schema and Namespaces
  •  The Schema Document
  •  Schema Root Element
  •  Element Definitions
  •  Complex Element Definitions
  •  Attribute Definitions
  •  Element and Attribute References
  •  Abstract Data Types
  •  Target Namespaces
  •  Importing vs. Including Schemas
  •  Validating Documents

Schema Best Practices and Patterns

  •  Designing Good Schemata
  •  Design Goals
  •  Naming Conventions
  •  Enumerations
  •  Element vs. Type
  •  Element vs. Attribute
  •  Global vs. Local
  •  Qualified vs. Unqualified
  •  Default Namespace
  •  Miscellaneous Schema Design Tips and Conventions
  •  Common Schema Design Patterns

SOAP

  •  What is SOAP?
  •  SOAP Specifications
  •  SOAP Basics
  •  The SOAP Envelope
  •  The SOAP Header
  •  SOAP Header Attributes
  •  The SOAP Body
  •  SOAP Faults
  •  SOAP and Protocol

WSDL

  •  What is WSDL?
  •  WSDL Specification
  •  The WSDL Document
  •  WSDL by Example
  •  WSDL <definitions>
  •  WSDL Abstract
  •  <portType>
  •  <message>
  •  <types>
  •  WSDL Concrete
  •  <binding>
  •  Style and Use
  •  <service>
  •  WSDL 2.0
  •  WS-I Testing Tools

Java Web Service APIs

  •  How are WSDL and Schema Used?
  •  Web Service Frameworks
  •  Development Approaches
  •  Java and XML Processing
  •  API Overview
  •  JAX-WS
  •  SAAJ
  •  JAXB
  •  JAXP
  •  JAXR
  •  JAX-RS

XML to Java mapping

  •  How does WSDL and schema map to Java?
  •  Mapping Tools
  •  Target Namespace Mapping
  •  WSDL portType Mapping
  •  Type Mapping

Java Web Service Development

  •  Bottom-Up Java Web Service Development
  •  JAX-WS Annotations
  •  JAXB Annotations
  •  POJO Requirements
  •  Top-Down Java Web Service Development
  •  JAX-WS Web Service as an EJB
  •  Enterprise Deployment

Java Web Service Clients

  •  Dynamic Proxy Clients
  •  Dispatch Clients
  •  Asynchronous Clients

Handlers

  •  JAX-WS Handlers
  •  SOAPHandlers
  •  LogicalHandlers
  •  Handler Chains
  •  Managing Handlers

Web Services Security

  •  Securing Web Services
  •  SSL/TLS
  •  SSL/TLS Benefits and Issues
  •  WS-Security
  •  WS-Security Authentication
  •  WS-Security Message Integrity
  •  WS-Security Encryption
  •  WS-Security Benefits/Issues
  •  Basic Security Profile

WSS4J

  •  WS-Security and Java
  •  Review of the ManageOrder Web Service/Client
  •  WSS4J Setup
  •  WSS4J Services
  •  WSS4J Authentication
  •  WSS4J Signature
  •  WSS4J Encryption
  •  More to WSS4J

Appendix A – XML Syntax

  •  An XML History
  •  HTML
  •  XML vs. HTML
  •  XML Syntax
  •  Elements
  •  Attributes
  •  Attribute vs. Element
  •  XML Miscellaneous
  •  Well-Formed

Appendix B – Advanced XML Schema

  •  Non-atomic Simple Types
  •  Restrictions and Facets
  •  Extensions
  •  Groups
  •  Defining the type of Element Content
  •  Any
  •  Commenting Schema

Appendix C – Versioning

  •  Versioning
  •  Classifying Changes
  •  Handling Backward Compatible Change
  •  Handling Non-Backward Compatible Change
  •  Behavioral Change
  •  WSDL Versioning

Appendix D – UDDI

  •  UDDI Basics
  •  UDDI Servers
  •  Is a UDDI registry required?
  •  Registry System
  •  Interacting with a UDDI Registry

Appendix E – DOM, SAX, StAX and JAXP

  •  Java API for XML Processing (JAXP)
  •  DOM
  •  The DOM API
  •  DOM and JAXP
  •  SAX
  •  SAX and JAXP
  •  StAX
  •  StAX and JAXP
  •  DOM vs. SAX vs. StAX
  •  XSLT & XPath
  •  XSLT and JAXP

Appendix F – SAAJ

  •  SOAP with Attachments API (SAAJ)
  •  SOAPMessage
  •  Working with the Envelope, Header, Body
  •  Adding Elements/Attributes
  •  Adding CDATA
  •  Adding Attachments
  •  SAAJ Request/Response

Appendix G – Spring-WS

  •  Spring-WS
  •  Spring-WS MessageDispatcherServlet
  •  Endpoint
  •  Endpoint Mapping
  •  Endpoint and Endpoint Mapping Annotations
  •  Parameter Annotation
  •  Exception Handling
  •  Publishing WSDSL
  •  Interceptors
  •  Securing Web Services
  • Web Service Clients