Fast Track to SOA and Java® Web Services (JAX-WS)
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 - An XML based 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
- Soap Handlers
- JAXB - Java Architecture for XML Binding
- XML Web Services - Working with Web services directly at the XML level
- MTOM - Handling binary message data in an interoperable way
- Security – Basic Authentication, HTTPS, and Web Services Security (WS-Security)
- EJB based Web Services
- The WS-* Standards – A Brief Overview
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 Web services during the course.
Course Information:
Course Code: JWS
Price: $150
Duration: 3 days
Labs: many hands-on labs (minimum 50% of course)
Prerequisites: Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions
Supported Software Environments:
- Standard: Java 8 and Eclipse IDE
- Standard App Server: WildFly/JBoss®
- Other Available IDEs IntelliJ IDEA, IBM RAD (upon request)
- Other Available Servers: WAS (upon request)
(Non-standard software may require additional wait and incur additional charges.)
Course Objectives:
Course Outline:
Session 3: WSDL – Web Services Description Language
- Introduction
- XML Namespace 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
Session 4: SOAP
- SOAP Overview
- Message Structure
- Envelope/Header/Body
- Detailed Soap message structure
- SOAP Faults, Attachments
- SOAP Messaging and HTTP Binding
- SOAP Styles and Encoding
Session 5: SAAJ, DOM, and SOAP Handlers
- SAAJ Overview, Message Structure and API
- Creating/Sending Messages
- DOM Overview
- Using DOM with SAAJ
- SOAP Handlers
- Overview and Processing
- Logical and Protocol Handlers
- Writing/Configuring a SOAP Protocol Handler
- Writing/Configuring a Logical Handler
Session 6: JAXB - Java Architecture for XML Binding
- Overview and Architecture
- Generating Java Classes from XML Schema
- Customizing Generated Java
- Generating XML Schema from Annotated Java Classes
- Web Services, WSDL, and JAXB
Session 7: Start From WSDL / Start from WSDL & Java
- Starting From WSDL
- Binding Customizations
- Starting From WSDL and Java
Session 8: XML-Based (Bare) 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
Session 9: Handling Binary Data
- Overview and Issues
- Default handling
- MTOM Overview
- Using MTOM in Services and Clients
- Using DataHandler
Session 10: Security
- Java EE Security / Role Based Security
- Securing Web Services with BASIC Authentication
- Transport Security / HTTPS
- Securing Web Services with HTTPS
- WSS (WS-Security) Overview
Session 11: EJB-Based Web Services
- EJB Overview
- Programming EJB
- Creating/Configuring EJB-Based Web Services
- Lab: Creating an EJB-Based Web Service
Session 12: WS-* Overview
- WS-Interoperability (WS-I)
- The WS-I Basic Profile
- WS-Addressing
Session 13: Best Practices
- Coarse Grained Web Services
- Optimization and Caching
- XML Handling
- Interoperability
- Top Down / Bottom Up