Overview
Web services are designed to allow Web-based access to distributed software and business services. They bring a standard, open service architecture to component development that allows them to be accessed over the Web with standard protocols such as HTTP and standard XML formats for messages and service descriptions. This course will give you a thorough understanding of the current Web services architecture, and the technologies that support Web services including the new Java APIs such as JAX-WS and JSR-181. Topics include:
SOAP - Simple Object Access Protocol - A remote invocation (RPC) and messaging mechanism.
WSDL - Web services Description Language - An XML language that describes the interface and semantics of a Web service.
JAX-WS - Accessing Web services using the latest Java APIs including JAX-WS, JSR-181, JAXB
SAAJ - Soap with Attachments API for Java
Security - Basic Authentication, HTTPS, and Web Services Security
UDDI - Universal Description, Discovery, and Integration - A standard for describing, publishing and finding Web services.
The WS-* Standards
We will look at the current state of the art of Web services, what works and what doesn't work, and also at newer standards, and how they fit into the Web services picture. This course is hands on, and students will actually build and deploy a Web service during the course.
All labs are programmed/deployed with the Eclipse IDE, and the lab instructions include detailed directions for using it.
Course duration
3 Days
Course outline
Overview of SOA/Web Services
- SOA (Service Oriented Architecture) Overview
- Web Services Overview / Relationship to SOA
- Web services Architecture
- SOAP and WSDL Overview
Introduction to Java Web Services
- Overview of Java Web Services
- JAX-WS and JSR-181
- Service definition with @WebService
- Creating a Web Service with JAX-WS
- Lab: Creating and Invoking a Simple Web Service
WSDL - Web Services Description Language
- Introduction
- XML Namesapce and XML Schema Overview
- Namespaces and Schema in WSDL Documents
- WSDL Structure and Elements
- A WSDL Document
- Definitions, Types, Messages, PortTypes, and Operations
- Bindings, Ports, and Services
- SOAP 1.1 Binding for WSDL
- Lab: Working with WSDL for our services
SOAP
- SOAP Overview
- Message Structure
- Envelope/Header/Body
- Detailed Soap message structure
- SOAP Faults, Attachments
- SOAP Messaging and HTTP Binding
- SOAP Styles and Encoding
- Lab: Examining SOAP Messages with tcpmon
Java Web Services APIs
JSR-181
- Overview
- @WebService, Modifying the Generated Service
- Other Annotations (@WebMethod, @SOAPBinding)
- The SEI (Service Endpoint Interface
- Lab: Defining a Service with an SEI
JAX-WS Capabilities
- Overview
- WSDL to Java Mapping
- Capabilities (XML Messaging, Handlers, SOAP/HTTP, Client Programming
JAX-WS Clients
- Programming Model, Generating Classes from WSDL
- Writing a JAX-WS Client
- Dynamic Clients
- Lab: JAX-WS Client and Dynamic Client
SAAJ
- Overview, SAAJ Message Structure and API
- Creating/Sending Messages
- DOM Overview
- Using DOM with SAAJ
- Lab: Creating a SAAJ Client
SOAP Handlers
- Overview and Processing
- Logical and Protocol Handlers
- Writing/Configuring a SOAP Protocol Handler
- Writing/Configuring a Logical Handler
- Lab: Creating a Handler
JAXB - Java Architecture for XML Binding
- Overview and Architecture
- JAXB and WSDL
- JAXB Annotations
Start From WSDL / Start from WSDL & Java
- Starting From WSDL
- Binding Customizations
- Starting From WSDL and Java
Bare XML Web Services
- XML Messaging Overview
- JAX-WS Providers
- A SOAP Provider and Source Provider
- XML Clients with Dispatch
- XML/HTTP Messaging with Provider
- Overview of REST and JAX-RS
- Lab: Provider Based XML Messaging
Security
- Java EE Security / Role Based Security
- Securing Web Serivces with BASIC Authentication
- Transport Security / HTTPS
- Securing Web Serivces with HTTPS
- WSS (WS-Security) Overview
- Lab: Web Service and Basic Authentication
- Lab: Web Service and HTTPS
EJB-Based Web Services
- EJB Overview
- Programming EJB
- Creating/Configuring EJB-Based Web Services
- Lab: Creating an EJB-Based Web Service
UDDI - Universal Description, Discovery, and Integration
- UDDI Overview and Capabilities
- JAXR - Java API for XML Registries
- JAXR Infomodel and Architecture
- Using the JAXR API
WS-* Overview
- WS-Interoperability (WS-I)
- The WS-I Basic Profile
- WS-Addressing
|