Tutorial - JSF/JEE/Spring/JPA/JTA/MySQL/REST/SOAP

The 2nd tutorial.  This tutorial differs from the first by adding Spring and Spring design patterns.  We will use no EJB/CDI or Managed Beans, although the application should function the same, there are minor differences due to differing tutorial goals.  This tutorial creates a simple order application demonstrating a fully working environment using:
JSF 2.0 Mojarra, Spring 3.0, MySQL 5, JPA, JTA, Primefaces, Richfaces, REST, SOAP, AJAX, JUnit.  In this tutorial, we will expand the list of containers to demonstrate the differences between running in Glassfish, and JBoss.  The JPA provider is Hibernate, but we stay away from Hibernate specifics as much as possible to run in a pure JPA environment.  To view the tutorial using EJBs click here.

To get the most out of the tutorial, read the Project Introduction.
Source Code: Link to code will be posted here when I'm done with the tutorial.  Note: the source code for project one (no Spring) is posted at: http://www.box.com/s/p2f9luxldm1vdt2ty34a

Project 2 : Table of Contents

Blog Introduction
Project 2 Introduction
Application Overview - same as Project 1
Persistence
   Container Configuration - Glassfish same as Project 1
   Container Configuration - JBoss 7 same as Project 1
   Entities - JPA 2.0  - same as Project 1
Finalizing The Setup and Testing The Environment
Spring Beans
   The Entity, DAO, Service, and Controller design patterns
   Bean Testing with JUnit
JSF - The view portion operates exactly the same as it did in Project 1
   JSF - Basics  - same as Project 1
   JSF - Continued - same as Project 1
   Validation - same as Project 1
   AJAX - same as Project 1
Web Services
   REST - service, client and testing
   SOAP - service, client and testing
AOP
Richfaces
Observed differences between Spring and CDI
Tutorial Conclusion