Java and Web Services

Course:  JWSF
Duration:  3 Days
Level:  III
Course Summary

Web Services are the language agnostic, platform independent development methodology for sharing application software components over the Internet (or a local intranet).

Delivering on the promise of true interoperability, the web services paradigm allows organizations to easily retrofit a modern web interface over existing legacy code, allowing them to capitalize on new opportunities and new commercial relationships.

This class introduces the fundamental principles of creating web services with Java and JAX-WS (Java API for XML-Based Web Services). This skills-centered class is delivered using Java 6 and Sun's GlassFish Application Server but can be customized to utilize a number of IDE's and application servers - please contact us for further details, charges and timescales.

To run this class on your own equipment, please note that a minimum of Pentium III 500-MHz system with 512 MB of memory and 700 MB of disk space is required. A Pentium III 1-GHz system with 1024 MB of memory is recommended. Installation software can be downloaded provided as a VMware virtual machine environment.

« Hide The Details
Topics Covered In This Course

Introduction to Web Services

  • Web Services Stack
  • Basic Web Services Architecture
  • Benefits of Web Services
  • WS-I basic profile

Introduction to SOAP, WSDL, and UDDI

  • WSDL Document
  • WSDL Interoperability
  • Structure of a SOAP message
  • Using SOAP over HTTP
  • SOAP Processor
  • Using a registry to publish/discover WSDL
  • Summary

Messaging styles

  • RPC-style web service: SOAP Request and SOAP Response
  • Document-style web service: Asynchronous interaction
  • B2B interactions
  • Enforcing business rules using XML Schemas
  • Summary

WSDL

  • Structure of WSDL Document
  • Defining XSD types
  • WSDL messages
  • Defining portType
  • Binding portType to SOAP over HTTP
  • Defining the service endpoints
  • Literal vs. Encoded Encoding Style
  • Declaring faults in WSDL operations
  • SOAP fault message

Message formats

  • RPC-encoded WSDL
  • RPC-encoded SOAP messages
  • RPC-literal WSDL
  • RPC-literal SOAP messages
  • Document-literal WSDL
  • Document-literal SOAP messages
  • Document-literal wrapped WSDL
  • Document-literal SOAP messages
  • Selecting a message format
  • Summary

Interoperability Issues

  • Main sources
  • Ensuring web services interoperability
  • Testing for interoperability
  • Summary

Metro

  • Web Services Stack
  • Metro support in GlassFish application server
  • JAXB: XML schema to Java mapping
  • JAXB Architecture
  • JAXB vs. SAX/DOM
  • JAX-WS: Web Services API
  • JAX-WS: WSDL-to-Java mapping
  • JAX-WS: Features
  • JAX-WS vs. JAX-RPC
  • Starting from Java implementation class (bottom-up)
  • Starting from WSDL (top-down)
  • Summary

Java Beans

  • Objectives
  • What is a JavaBean?
  • JavaBean Example
  • Bean internals
  • Integrating Beans and JSP's
  • Executing a bean
  • Other Bean Lifecycles
  • Application bean example
  • Application bean JSP
  • Application bean display
  • Practice - Create and Test a Java Bean
  • Summary

Service Proxy

  • Using a proxy to interact with a service
  • Static stub vs. Dynamic proxy client
  • JAX-WS: Hiding SOAP complexity
  • Summary

Developing a bottom up Java EE web service

  • Java EE container for service endpoints
  • Configuring GlassFish
  • Understanding GlassFish
  • asadmin: administration utility
  • Service Implementation Bean (SIB)
  • wsgen tool: Java2WSDL
  • Generating deployment artifacts
  • Understanding the generated artifacts
  • Packaging a servlet endpoint
  • Packaging the service as a WAR
  • Accessing the published WSDL
  • Deploying WAR file to GlassFish
  • Verifying the deployment
  • Understanding the generated deployment artifacts
  • Overriding the endpoint URL
  • Accessing the overridden URL
  • Supplying your own WSDL
  • Summary

Service Endpoint Interface (SEI)

  • wsimport tool
  • WSDL2Java
  • Understanding JAXB-generated classes
  • Understanding generated SEI: JAX-WS WSDL to Java mapping
  • SOAP request generated by JAX-WS
  • Holder classes
  • Implementing a web service for generated SEI
  • Packaging service as WAR
  • Deploying WAR file to GlassFish
  • Verifying the deployment
  • Provider vs. Dispatch interfaces
  • Service class: JAX-WS service client
  • Creating static Service instance
  • Dynamically creating and configuring Service instance
  • Obtaining dynamic proxy instance
  • Injecting proxy instance
  • Handling faults
  • Mapping fault messages to Exceptions
  • Fault Bean
  • Returning SOAP faults
  • Testing for faults
  • Summary

Developing a Java SE web service

  • Java SE 6: Support for JAX-WS
  • Publishing service endpoint using JAX-WS Endpoint API
  • Writing a SEI and a service class
  • Using wsgen tool to generate glue code
  • Writing JSE service client
  • Invoking published endpoint
  • Summary
Who Should Take This Course

Developers and web application developers planning to utilise Java Web Services architecture for creating comprehensive multi-tiered software in Java.

Recommended Prerequisites

Some Java programming experience is advised. In addition, a familiarity with XML technologies is recommended.

Training Style

A comprehensive manual is provided to each student. This manual includes copies of all presentation slides used in the delivery of this class.

« Hide The Details
Related Courses
Code Course Title Duration Level
JAXIS
AXIS2 - Java Web Services
5 Days
III
Details

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at info@verhoef.com