- Foreword
- Introduction
- Java persistence API
- An improved address program
- Exercise 1
- Related tables
- Problem 1
- Enterprise Java Beans
- A stateful session bean
- A remote Singleton session bean
- Exercise 2
- EJB and JPA
- Exercise 3
- Transactions
- Interception
- A timer service
- CRUD with one table
- CRUD with more tables
- Problem 2
- CDI
- Qualifiers
- Contexts
- Web services
- Exercise 4
- Exercise 5
- An EJB as a web service
- Exercise 6
- REST Web services
- ChangeAddress again
- Exercise 7
- Security
- The demo application
- Container managed authentication and authorization
- Form authentication
- Client certificate
- Programmer defined authentication
- A final example
- Analysis
- Design
- Programming