Course duration: 2 Days
Overview
Web Services are now ubiqutous within the context of enterprise applications, enabling interoperability, and messaging between disparate platforms. This training course demonstrates how this technology can be harnessed using the Java platform, and Java EE technology. The training course is a hands on training course, and you will gain opportunity to develop, interact with, and deploy web services. You will be exposed to SOAP, WSDL, and UDDI and the accompanying Java APIs, JAX-WS, SAAJ, and JAXR. The training course can be run with any application server such as JBoss. Alternatively the course can be run using Apache Axis2 as the host for the deployed web services. There is also discussion of how web services can be used specifically within the Java Enterprise Edition environment and how they can be integrated with .NET Framework applications. Additional content can be added on UDDI, JAXR and XML programming if desired.
Layout
Training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice. The exercises specifically build on what has been recently taught and are built up as the training course progresses.
Who it is for
This training course is aimed at experienced Java developers who wish to incorporate web services into his or her application development.
Training Course Prerequisites
Delegates must be familiar with XML, and it is highly advantageous if delegates are familiar with the Java API for XML Processing (JAXP). This can be gained from the ‘Building XML Applications Using the Java Programming Language’ training course.
Knowledge of the Java Programming Language can be obtained from our ‘Java Programming’ training course. XML experience can come from the ‘XML Overview’ training course.
Training Course Objectives
At the end of this training course, students should be able to:
Define a web service
Deploy a web service within Apache Axis
Deploying a Web service using Annotations within an application server
Understand the SOAP protocol
Read and understand SOAP messages passed between server and client.
Send and receive SOAP messages using SAAJ
Generate, read and understand the Web Services Description Language files.
Work with Web service stubs for both Java and non Java based services
Understand where Web services fit in the Java EE framework
Understand Web service security
Identify best practices for Web service development
Understand alternative architectures such as REST for Web services
Training Course Contents
1. Introduction to Web Services
The role of Web Services
The role of SOAP, WSDL, and UDDI
Java and Web Services
2. Introduction to Service Oriented Architecture
What is SOA?
The Enterprise Service Bus
SOA Service Layers
Implementing an SOA
3. Introduction to SOAP
Anatomy of a SOAP message
SOAP Requests and Responses
SOAP Namespaces
SOAP Attachments
Sending and Receiving SOAP messages using SAAJ
4. Creating Web Services
Creating a Web Service Class
Creating the Deployment Descriptor
Deploying the Web service
Deploying Stateless Session Beans as Web services
Deploying POJOs as Web services using annotations
Testing the Web service
5. Consuming Web Services
Using WSDL2Java
Working with proxy classes
Creating a client application
Working with WSImport and the generated proxy classes
6. Introduction to XML Schemas
XML Schema basics
XML Schema namespaces
XML Schema and Web Services
7. Web Services Description Language WSDL
The role of WSDL
The Structure of a WSDL document
Generating WSDL documents from Java
8. Creating Interoperable Web Services
The WSI Basic Profile
Web Service Styles
SOAP Encoding
Web Service Best Practices
9. Web Services Architecture and Design
Design best practices
WS Profiles
Emerging patterns for Web services
10. The Build Cycle
Debugging Web services
Testing Web services
Monitoring Web services
11. Web Services Security
Web services over SSL
WS-Security
XML Signature
XML Encryption
12. REST Based Web services
The need for REST
Building and Deploying a REST service
Consuming a REST service