Knowledge of Dependency Injection from Spring. We'll be using XML and Annotation based wiring.
The project builds on the system built in the "Spring Fundamentals" course, but if you didn't do that course, the first chapter gives a walkthrough of that code.
Having problems? check the errata for this course.
1 |
Introduction |
Preview
30m 55s |
|
An overview of the course. For anyone who didn't do the Spring Fundamentals course, we spend about 20 minutes walking through the architecture of the Spring code. | |||
2 |
Part 1: Traditional Remoting - Overview |
Watch
36m 7s |
|
What is remoting? Why is remoting needed? We use Spring to build our first RMI service. Pros and Cons of RMI. | |||
3 |
RMI on the Client |
Watch
49m 16s |
|
In each part of the course we learn about both the server side and the client side. | |||
4 |
Alternatives to RMI - Hessian, Burlap and HttpInvoker |
Watch
36m 36s |
|
RMI suffers from firewall problems. Spring provides three alternatives - we prefer the HttpInvoker and we'll explain why. | |||
5 |
RMI Practical |
Watch
24m 25s |
|
To round off this first part, a full practical on RMI where you apply what you've learned to the rest of the system. | |||
6 |
Part 2: SOAP Webservices |
Preview
54m 29s |
|
After an overview of SOAP, a JAX-WS tutorial to see how standard Java supports SOAP. | |||
7 |
Spring and SOAP |
Watch
31m 30s |
|
How does Spring support SOAP? | |||
8 |
Spring SOAP Clients |
Watch
34m 43s |
|
You can write a SOAP client without Spring, but you might like their support. | |||
9 |
Deploying SOAP to Tomcat |
Watch
41m 26s |
|
This is a bit of a technical chapter with nothing very exciting to learn. But part of the course is to tackle real world problems, and it is awkward running a Spring SOAP application on a server. | |||
10 |
Introducing Spring-WS |
Watch
81m 56s |
|
This is a side project to Spring, and it is intended for Contract-First development. What is that? And how to do it? | |||
11 |
Spring-WS and JAXB |
Preview
43m 18s |
|
In Spring-WS, you get direct access to the converted XML. JAXB is a standard Java library that we'll use a lot on the course, so we see here how they work together. | |||
12 |
More Spring-WS |
Watch
36m 42s |
|
We round off with further features of Spring-WS. | |||
13 |
SOAP Practical |
Watch
49m 6s |
|
Again, we turn to a full practical where we'll deploy a full SOAP service. | |||
14 |
Part 3: REST Warmup |
Watch
28m 52s |
|
As a prelude to part 3, we start by reviewing the HTTP Verbs. If you know these already, you can skip to the next chapter. | |||
15 |
Introducing REST |
Preview
18m 16s |
|
What is REST? Is it a standard? We define REST using "4 core principles". In this chapter we explore the first two of these. | |||
16 |
Representations and URIs |
Watch
39m 12s |
|
We'll start by building some REST representations and assigning them URIs. | |||
17 |
REST Clients |
Watch
31m 1s |
|
Of course, we also need to be able to call our REST service, so we look at what a REST client might look like, both in Java and in Spring. | |||
18 |
Content Negotiation |
Watch
60m 42s |
|
We'll learn how the HTTP headers contain information about the type of data the client would like to receive. | |||
19 |
Error Handling |
Watch
49m 16s |
|
Learning the HTTP Status codes is important as a REST developer. | |||
20 |
Client Side Errors |
Watch
40m 57s |
|
The RESTTemplate is a bit weak at detecting errors. We show how to extend the template to make it more robust. | |||
21 |
Collections and Ranges |
Watch
49m 10s |
|
How to return representations of multiple objects. | |||
22 |
Full HTTP Operations |
Watch
62m 53s |
|
The third of the four core principles of REST is that the HTTP Verbs should be wisely used. | |||
23 |
Editing Conflicts (optional) |
Watch
40m 25s |
|
This advanced chapter shows how you can implement optimistic locking for PUT operations by returning HTTP 409. | |||
24 |
Partial Updates with PATCH (optional) |
Watch
29m 8s |
|
PATCH is a new (proposed) HTTP Verb and can be used for partial updates. Its a good idea but client support is patchy (pun not intended). | |||
25 |
HATEOAS |
Watch
62m 39s |
|
Perhaps the worst acronym in our industry, this hides an important concept that is slowly becoming more important in REST. We start with the basics... | |||
26 |
More HATEOAS |
Watch
45m 59s |
|
... and then we expand to use more features, including the Spring HATEOAS plugin. | |||
27 |
Validation |
Watch
39m 26s |
|
How to use standard Spring-MVC to trap for errors in the representations. | |||
28 |
Practical Session |
Watch
92m 23s |
|
A major practical. Before starting, we talk about ISO8601 dates, and also why REST isn't CRUD. | |||
29 |
Course Summary |
Watch
6m 30s |
|
Goodbye! |