Overview
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.
Audience
Students who can benefit from this course include software developers and architects who require effective,
real-world skill-building of developing web services.
Prerequisites
A minimum of 6 months programming experience in the Java language prior to attending this course will be necessary
to be successful in understanding the course material. Students should be comfortable with basic XML.
Course Format
This is a hands-on course. We apply a powerful learning cycle of short lecture, examples and labs on each topic.
Each student gets lab code and the entire course content printed out (organized in a ring binder).
Course Duration
Three days (21 hours), 9:00 AM-5:00 PM (1h lunch break); typically ends by 4:00 PM on the last day.
Course Details
- Introduction to Web Services and SOA
- 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
- Basic JAX-WS Java Services
- How web services can be created in Java
- JAX-WS approach in detail
- JAX-WS Annotations
- JAX-WS requirements on a POJO
- Creating JAX-WS services
- Implementing web service clients
- 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
- Implementing RESTFul web service clients
- 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
- Using JAXB with web services
- EJB 3.0 based Web Services
- Introduce JAX-WS and EJB 3.0
- Overview of EJB 3.0
- Publishing an EJB Stateless Bean as a JAX-WS Service
- Invoking the service from a client
- Creating an EJB 3.0 based Web Service
- Security and Web Services
- Introduce security for remote applications
- Consider Web Service security
- Differences from traditional web apps
- Web Service security specifications
- Securing a web service
- Transactions and Web Services
- Transactions in General
- WS-* transaction related specifications
- Web Service Interoperability Technologies (WSIT)
- How a transactional web service can be defined
- How clients for such a web service can be written
- 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
- 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
- Open Source options
- OpenESB in detail
- How applications are constructed and deployed to OpenESB
- When an ESB could be used
- 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