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 |