Architecture

Introduction

Tudu Lists is a three-layer Web application which uses best practices from the Spring Framework in order to achieve better modularity, testability and performance.

Persistance layer

Tudu Lists uses the Java Persistance API (JPA) in order to persist Java objects in relational databases. More specifically, it uses the Hibernate ORM engine to achieve this persistance.

This allows Tudu Lists to work with a number of different databases (see the database setup page).

Here is a graphical representation of Tudu Lists database schema :

Database schema

View larger image

Service layer

Tudu Lists uses Spring to manage business objects in the service layer.

Here is a graphical representation of the Spring beans in the tudu-core module :

tudu-core Spring beans graph

View larger image

Presentation layer

Several different presentation layers can be plugged on top of the Tudu Lists service layer. The default one uses Struts as its MVC2 framework and DWR for doing AJAX calls.

Here is a graphical representation of the Spring beans in the tudu-dwr module :

tudu-dwr Spring beans graph

View larger image