4.2. A comparative look of the project modules

The modules (Maven artifacts) of the project are outlined in the following table:

Table 4.1. Modules of the Sportsclub project

Maven Module Functionality Module Type
sportsclub-bom No functionality, centralizes the dependencies of the project. pom
sportsclub-domain Domain classes and repository interfaces. jar
sportsclub-hibernate-dao Hibernate implementations for repositories and Spring bean definitions using them. jar
sportsclub-jpa-dao JPA implementations for repositories and Spring bean definitions using them. jar
sportsclub-invoicing-ejb Business logic for the Invoicing application ejb
sportsclub-reservations-spring Business logic for the Reservations application jar
sportsclub-subscriptions-ejb Business logic for the Subscriptions application ejb
sportsclub-invoicing-webmvc UI layer for the Invoicing application. Includes processing of JMS messages via Spring (for payment notifications) war
sportsclub-reservations-web UI layer for the Reservations application. war
sportsclub-reservations-webflow UI layer for the Reservations application, implemented using Spring webflow war
sportsclub-subscriptions-web UI layer for the Subscriptions application war
sportsclub-ear EAR aggregator module using the Hibernate-based implementation ear
sportsclub-jpa-ear EAR aggregator module using the JPA-based implementation ear
sportsclub-staticwebcontent Static web content for the application (not deployed separately, but included at build-time in the web layers) war
sportsclub-test-infrastructure Infrastructure module for unit testing jar