SOA AND WEB SERVICES WITH JAX-WS DEVELOPER’S WORKSHOP

Course Description  
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, WSDL, JAX-WS, SAAJ, Security, UDDI, and 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.

Course Length: 3 Days
Course Tuition: $990 (US)
Prerequisites
Experience programming in Java and a good working knowledge of XML are required.
Course Outline  


• Service Oriented Architecture (SOA) and Web Services
SOA Overview
The Challenge of Enterprise Systems
The Challenge of Legacy Systems
Service Oriented Architecture (SOA)
The Evolution of Computing
SOA Concepts
Some Advantages of SOA
Some Issues with SOA
Web Services Overview
Web Services Defined
Value Proposition
Web Services Defined
WS-* Web Services Specifications
The Web Services Stack
Web Services Stacks
Architectural Perspective
Architectural Details
SOAP and WSDL Concepts
SOAP Concepts
Anatomy of a SOAP Message
A Typical SOAP Scenario
WSDL Concepts

• Introduction to Java Web Services
Java Web Services (JWS) Standards
Java First Web Services
Java Web Services Platform
SOA Architecture with Java Web Services
A Simple Web Service
Defining a Simple Web Service
Annotating the Implementation Class
A Brief Note About Annotations
Declaring the Web Service in web.xml
Deploying the Web Applicatin

• WSDL
Introduction to WSDL
Overview of WSDL
WSDL Elements
WSDL Bindings
WSDL in Practice
XML Namespaces and XML Schema
WSDL Documents are XML Documents
XML Namespaces
Namespaces Described
Names Terminology
Default Namespaces
Namespaces in a WSDL Document
XML Schema
xsd:complexType
xsd:complexType in WSDL
WSDL Structure and Elements
WSDL Anatomy
<definitions> Element
<documentation> Element
<types> Element
The Generated Types
<message> Element
<portType> and <operation>
<binding> Element
<port> and <service> Elements
Operation Type

• SOAP
SOAP in a Nutshell
What is SOAP
SOAP 1.1 vs. 1.2
What is a SOAP Message
SOAP Message Structure
A SOAP Message
SOAP Detailed Structure
SOAPMessage
SOAP Faults
SOAP Messaging and HTTP Binding
SOAP Messaging
SOAP Intermediaries
SOAP Message Exchange Patterns
SOAP Binding
SOAP HTTP Binding
HTTP Request/Response Details
SOAP Styles and Encoding
SOAP Styles
Literal Encoding
SOAP Encoding

• The Java Web Service Specifications
JSR-181: WS-Metadata
JSR-181 Defines the Web Service
@WebService Details
Affecting the Generated WSDL
Other Important JSR-181 Annotations
The Service Endpoint Interface (SIE)
An SEI and an Associated SIB
@WebMethod Details
@oneway Details
@SOAPBinding Details
WRAPPED vs. BARE
@WebParam and @WebResult/span>
JAX-WS Capabilities
JAX-WS
WSDL / Java Mapping
XML Messaging Support
Handler Framework
SOAP and HTTP Binding
JAX-WS Client Side Programming
Creating JAX-WS Clients
Client Side Programming Model
Generated Classes for Service and Port
Details of the Generated JavaInstructor
Details of the JavaInstructorService Class
Writing a JAX-WS Client
Dynamic Proxies
The QName and Service Types
SAAJ
SAAJ Overview
SAAJ message Structure
SOAPMessage
SOAPPart and AttachmentPart
SAAJ Classes (in Brief) – In javax.xml.soap
SAAJ Classes (in Brief)
Creating SOAP Messages with SAAJ
Sending a Message with SAAJ
SOAP Attachments
DOM
SAAJ and DOM
DOM Overview
JavaTunes Order XML Document
JavaTunes Order as a Dom Tree
The DOM Tree
The DOM Interfaces
The Node Interface
Navigating the DOM Tree
The Document and Other Interfaces
Extracting Content with SAAJ DOM
SOAP Handlers
Handler Processing
Logical and Protocol Handlers
The SOAPHandler Interface
MessageContext
SOAPMessageContext
Handler Invocation
MessageContext Properties
Configuring Handler Chains
Returning a Fault
Logical Handlers
JAXB
JAXB Overview
JAXB Architecture
Java Web Services and JAXB
JAXB and WSDL Mapping
The JAXB Annotations
Using JAXB with Java Web Services
Using JAXB
Starting from WSDL or WSDL & Java
Starting from WSDL
Binding Customization
Other Customizations
Starting from WSDL and Java

• XML Based Web Services
XML Services – JAX-WS Providers
XML Messaging
JAX-WS Providers
A SOAP Provider
How Providers Work
WebServiceContext
MessageContext
XML Clients – The Dispatch Interface
XML Clients
Service and Dispatch
XML/HTTP Messaging and REST
XML/HTTP Based Messaging
A Provider Implementation
WSDL for the HTTP Binding
A Very Simple XML/HTTP Request
A Very Simple XML/HTTP Response
Provider Based Endpoints
Overview of REST
REST Details
REST Characteristics
Comparison of REST and SOAP
JAX-WS and REST
JAX-RS

• Security
Java EE Security and Web Services
Security Requirements
Security in Java EE
Transport Level Security with HTTPS/SSL
Java EE Security Overview
Java EE Security
Java EE Declarative Security
Specifying Security Constraints
Security Constraints – Deployment Descriptor
Mapping Users to Roles
HTTP Basic Authentication
JAX-WS Clients and Basic Authentication
HTTPS
HTTPS / SSL – Transport Level Security
HTTPS / SSL Meets Some Security Needs
SSL Pros / Cons
SSL Requires Server Setup
Requiring HTTPS on a POJO Web Service
Invoking a Web Service with HTTP
WS-Security (WSS)
Message Level Security
XML Digital Signatures
XML Encryption
WS-Security Roadmap

• EJB Based Web Services
EJB Overview
What is EJB
EJB Goals
Types of Enterprise JavaBeans
EJ Transaction Support
EJB 3.0 Overview
Session Bean Capabilities
Benefits of Using EJB
SOA Architecture with EJB
Issues with EJB
Programming EJB
What are Session Beans
Stateless Session Beans (SLSB)
Defining a Session Bean
Stateless Session Bean Definition
Remote Business Interface
EJB Packaging – ejb-jar File
The EJB Container
Server Deployment
Creating EJB Based Web Services
EJB Based Web Services
Why Use EJB for Web Services
Specifying the Context and Service URLs
Security in EJB Based Web Services

• UDDI
UDDI Overview
UDDI Capabilities
What is Stored in a Registry?
Locating and Invoking a Web Service
UDDI Elements
Programming in UDDI
JAXR
JAXR Overview
JAXR Architecture
JAXR Information Model
JAXR Packages
ConnectionFactory
The RegistryService Interface
Other Common JAXR Types

• WS-* Overview
The WS-* Specifications
WS-I Interoperability
WS-I Profiles
WS-I Basic Profile
WS-Addressing

Contact us for course schedules or more information.





Questions? Call Today!
800-735-7418