Skip to content
This repository has been archived by the owner on Feb 12, 2020. It is now read-only.

architecture

Mahmoud Ben Hassine edited this page Mar 8, 2016 · 1 revision

Architecture

The application's backend is developed using Spring and JPA/Hibernate. Data is persisted in an in-memory HSQL database to make testing/running the application relatively easy. The module named todolist-core is common to all web layers and is a good use case to see how web frameworks integrate with Spring.

Common web utilities (JSTL tags, Filters, Backing beans, etc) are packaged in a separate common web module named todolist-web-common.

For each web framework, a separate war module is created to implement ONLY the web layer of the application.

View technology may vary for each framework. Here, JSP views are (re)used for most of current implementations. Thymeleaf is also planned to be used as alternative to JSPs.

URLs under /user/* and /todos/* must be accessible to only logged users. This requirement should be implemented using a servlet filter or equivalent (Struts interceptor, Spring MVC interceptor, etc)

Note that security is not addressed since not all frameworks provide security support.

Form validation should be done using Bean Validation API (JSR303). Form backing beans are already defined with validation constraints in the todolist-web-common module. All you have to do is to integrate the validation logic with the framework in use.

Finally, the static html template located in src/site/template can be used as a starting point to implement the application with a new framework.

Clone this wiki locally