Course Outline
A Web Service is a distributed application or business logic process that is accessed using standard Internet protocols. Web Services combine the best aspects of component-based development and the WWW.
Like components, Web Services give "black-box" functionality that can be used and reused without regard to how the service is implemented.
Course Content
The course provides an overview introducing the use of Java Web Services. The course introduces delegates to the latest strategic and practical issues in using Java APIs for developing Web Services
Available as a public or closed course at our London training centre, or can be tailored to your team's requirements and delivered onsite as a bespoke, customised training course.
This course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus. If you have a technical question, please email sales@jbinternational.co.uk
What You Will Learn
1. Understand the elements of SOA
2. Web Services under the bonnet
3. Basic JAX-WS Java Services
4. RESTful Java Services
5. JAXB / Data binding
6. Web Services Security
Hands-on Java Web Services and SOA Training Course Outline
Introduction to Course
Elements of SOA
Overview of the elements that make up a SOA-based system.
Web Services
Introduce Web Services and their fit with SOA.
Introduce Core elements of a Web Services SOA.
SOAP, WSDL, UDDI.
Outline other WS-* Standards.
Consider transactions with SOA and Web Services.
Discuss WS-Security.
Basic JAX-WS Java Services
Consider how web services can be created in Java.
Look at the JAX-WS approach in detail.
Examine how JAX-WS works.
Look at the JAX-WS Annotations.
JAX-WS requirements on a POJO.
Creating JAX-WS services.
Implementing web service clients
Practical 1: Building a Web Service and client
RESTFul Java Services
Introduction REST as a concept.
Present the structure of a RESTFul System.
Consider how a RESTFul Web Service may be built.
Look at how JAX-WS supports REST.
Creating RESTFul services.
How to implement RESTFul Web service clients.
Practical 2: Building RESTful Web Service and client
Data Binding in Java Web Services
Data Transfer in Web Services.
Mapping Java Objects to XML.
Java Architecture for XML Binding (JAXB)
Working with JAXB.
Using JAXB in a WEB Service and its Client.
Practical 3: Using JAXB with web services
EJB 3 based Web Services
Introduce JAX-WS and EJB 3
Overview of EJB 3.
Publishing an EJB Stateless Bean as a JAX-WS Service.
Invoking the service form a client.
Practical 4: Creating an EJB 3 based Web Service
Security and Web Services
Introduce security for remote applications.
Consider Web Service security.
Examine the differences from traditional web apps.
Look at the Web Service security specifications.
Examine how to deploy a secure web service.
Practical 5: Securing a web service
Transactions and Web Services
Introduce Transactions in General.
Examine WS-* transaction related specifications.
Examine Web Service Interoperability Technologies (WSIT).
Examine how a transactional web service can be defined.
Explore how clients for such a web service can be written.
Practical 6: Adding transactions to a web service
Web Services and Registries
What is a service registry? And why have one.
What is UDDI? What is JAXR.
Implementing a JAXR Client
Practical 7: Exploring JAXR
BPEL (Business Process Execution Language)
Examine the need for BPEL. BPEL and WSDL.
Defining a BPEL process.
An example BPEL process.
ESBs (and OpenESB) Enterprise Service Bus
Revisit the concept of an ESB.
Examine the Open Source options.
Look at OpenESB in detail.
Understand how applications are constructed and deployed to OpenESB.
Consider when an ESB could be used.
Practical 8: Deploying a POJO to OpenESB
SOA Design Patterns
Types of SOA interaction.
Design patterns help at architectural level.
SOA Specific Design patterns.
Asynchronous message patterns.
Conversational patterns.
Process Patterns.
Architectural patterns.
JAX-WS RI Extras
Examine some JAX-WS RI Extensions. Stateful web services. Different transport mechanisms (Not just SOAP/HTTP). Asynchronous services.