Detailed Course Outline
Web Services Overview
Interoperable applications with SOA
- Designing an SOA integration architecture
- Implementing SOAs with web services
Java standard APIs for web services
- Building SOAP-based services with JAX-WS
- Developing RESTful services with JAX-RS
Defining SOAP Messages with WSDL
XML essentials
- XML namespaces
- Describing XML with schema
Structure of SOAP messages
- Role of SOAP in web services
- Operations, messages and faults
Anatomy of a WSDL document
- Defining the interfaces of a web service
- Specifying implementation
Implementing Code-First Web Services
Exposing plain old Java objects (POJOs) as web services
- Applying JAX-WS annotations to POJOs
- Configuring and deploying a web service implementation
Implementing SOAP clients in Java
- Generating client-side artefacts from WSDL
- Modifying client code to permit message monitoring
- Authenticating and authorising clients
Augmenting SOAP-based services
- Incorporating best practices for web services
- Implementing policies for security, reliability and message optimisation
Generating Contract-First Web Services
Contract-first service development
- Comparing contract-first and code-first services
- Creating portable Java artefacts
Importing a WSDL document
- Building interoperable applications by conforming to Web Services Interoperability (WS-I) standards
- Implementing a web service endpoint using JAX-WS
Building RESTful Web Services
Introduction to REST (Representational State Transfer)
- Describing the REST architectural style
- Comparing SOAP and RESTful web services
Developing RESTful web services using JAX-RS
- Adding JAX-RS annotations to a POJO
- Configuring result types using HTTP request headers
- Deploying a JAX-WS service
Customising a RESTful Service Implementation
- Interacting with request URLs
- Mapping URLs to Java classes and methods
- Binding URL components to method arguments
Providing Server-Side Support for Ajax Clients
Handling JavaScript Object Notation (JSON)
- Applying cases for JSON with RESTful services
- Interpreting a message formatted as JSON
Mapping Java to JSON
- Controlling JSON generation with JAXB annotations
- Defining a JSON return type from a Java method
Developing RESTful Clients
Dispatching REST messages using JAX-RS
- Building the client's request
- Handling the service's response code and exceptions
Marshalling JavaBeans with JAXB
- Mapping XML with Java API for XML Binding (JAXB)
- Converting Java arguments with JAXB and JAX-RS
Processing asynchronous messages
- Implementing server-push with JAX-RS
- Delivering asynchronous client requests
Securing Web Services
Configuring a secure web service
- Configuring HTTP Basic Authentication
- Establishing secure message transmission with SSL/TLS
Authenticating and authorising clients
- Controlling access to web services and methods
- Providing authentication information to web services