Developing Java Web Services

Course:  JAVAWS
Duration:  5 Days
Level:  II
Course Summary

A comprehensive look at tools and techniques required to develop interoperable web services using any of the popular development environments and Application Server platforms. Students learn the key standards -- SOAP, WSDL, and the WS-I Basic Profile -- and the Java architecture that has evolved to build interoperable services and clients. JAX-WS is central to the course, and we cover both WSDL-driven and Java-driven development paths, as well as message handlers and attachment support. With the new Provider and Dispatch APIs, it's now much easier to integrate SAAJ, JAXB, and JAXP code into services and clients, and we explore these strategies in depth as well.

« Hide The Details
Topics Covered In This Course

Chapter 1. Overview of Web Services

  • Why Web Services?
  • Service-Oriented Architecture
  • HTTP and XML
  • Simple Object Access Protocol (SOAP)
  • Web Service Description Language (WSDL)
  • Universal Description, Discovery and Integration (UDDI)
  • The WS-I Basic and Related Profiles
  • REST

Chapter 2. Web Services for Java EE

  • Hosting Web Services: Scenarios
  • Invoking Web Services: Scenarios
  • Web Services for Java EE (WS4JEE)
  • The Automated Approach: JAX-WS and JAXB
  • Manual Options: SAAJ and JAXP
  • Portable Web-Services Metadata
  • Service Registries: JAXR

Chapter 3. The Simple Object Access Protocol

  • Messaging Model
  • Namespaces
  • SOAP over HTTP
  • The SOAP Envelope
  • The Message Header
  • The Message Body
  • SOAP Faults
  • Attachments

Chapter 4. The Java API for XML Binding

  • The Need for Data Binding
  • XML Schema
  • Two Paths
  • JAXB Compilation
  • Mapping Schema Types to Java
  • Java-to-XML Mapping Using Annotations
  • Marshaling and Unmarshaling
  • Working with JAXB Object Models
  • In-Memory Validation

Chapter 5. Web Services Description Language

  • Web Services as Component-Based Software
  • The Need for an IDL
  • Web Services Description Language
  • WSDL Information Model
  • The Abstract Model -- Service Semantics
  • Message Description
  • Messaging Styles
  • The Concrete Model -- Ports, Services, Locations
  • Extending WSDL -- Bindings
  • Service Description

Chapter 6. The Java API for XML-Based Web Services

  • Two Paths
  • How It Works: Build Time and Runtime
  • The Service Endpoint Interface
  • Working from WSDL
  • Working from Java
  • RPC and Document Styles
  • One-Way Messaging
  • Binary Protocols

Chapter 7. WSDL-to-Java Development

  • The @WebService Annotation
  • Generated Code
  • Compilation and Assembly
  • Deployment
  • Runtime Behavior
  • Scope of Code Generation
  • More JAXB: Mapping Collections
  • More JAXB: Mapping Enumerations

Chapter 8. Client-Side Development

  • Stubs and Proxies
  • Generated Code
  • Locating a Service
  • Invoking a Service

Chapter 9. Java-to-WSDL Development

  • The @WebMethod, @XmlParam, and Related Annotations
  • Scope of Code Generation
  • More JAXB: Mapping Inheritance
  • Controlling the XML Model
  • Controlling the WSDL Description

Chapter 10. JAX-WS Best Practices

  • Which Way to Go?
  • Interoperability Impact
  • Portability Impact
  • Polymorphism in Web Services
  • Web Services as Java EE Components
  • Lifecycle Annotations
  • Context Interfaces
  • The @WebServiceRef Annotation

Chapter 11. Provider and Dispatch APIs

  • Stepping Down
  • The Provider
  • Interface
  • Implementing a Provider
  • JAXB Without WSDL
  • Integrating JAXP
  • The Dispatch
  • Interface
  • Building Clients

Chapter 12. The SOAP with Attachments API for Java

  • The SAAJ Object Model
  • Parsing a SOAP Message
  • Reading Message Content
  • Working with Namespaces
  • Creating a Message
  • Setting Message Content

Chapter 13. Message Handlers

  • Handling SOAP Headers
  • Servlet Endpoint Context
  • MessageContext and SOAPMessageContext
  • Message Handlers and Handler Chains
  • Processing Model and Patterns
  • Client-Side Handlers

Chapter 14. Handling Binary Content

  • The WS-I Attachments Profile
  • Using base64Binary
  • MIME Attachments
  • JAX-WS Support
  • MTOM and XOP
  • SAAJ Support
What You Can Expect

On completion of this course, students should expect to be able to:

  • Describe the interoperable web services architecture, including the roles of SOAP and WSDL.
  • Understand the importance of the WS-I Basic Profile for interoperable web services.
  • Build JAX-WS services and clients that take full advantage of the automated data binding of JAXB.
  • Use lower-level SOAP and XML APIs for services and/or clients.
  • Customize data binding by specifying specific type mappings or altering method or parameter names.
  • Expose session beans as web services.
  • Incorporate binary data, such as images, into service and client code.
Recommended Prerequisites
  • Strong Java programming skills are essential.
  • Students must be able to read XML documents and to write well-formed XML by hand. Knowledge of XML Schema will be helpful, too, but is not a strict prerequisite.
  • Experience with other Java EE standards, especially servlets and JSP, will be very helpful in class, but is not strictly required.
« Hide The Details
Related Courses
Code Course Title Duration Level
JAVAF
Fundamentals of Java Development
5 Days
I
Details
RWSJE
RESTful Web Services Development
5 Days
I
Details
JAVAXML
Development With Java's XML APIs
2 Days
II
Details
WSDVJ
Web Services Development in Java
5 Days
II
Details
SOAPWS
Programming SOAP Web Services With JAX-WS
5 Days
II
Details
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