Enterprise Java Development@TOPIC@

Chapter 23. Project 2 Getting Started

The following sketch of directory structure can be used as a starting point for your overall application. It assumes you already have either a consolidated Impl -or- a BO, DAO, and BLImpl set of projects in place from Project 1. You will *not* have the option of consolidating the EJB, WAR, EAR, Client and remote Test into a single project for eLeague. They must be implemented as separate projects with proper dependencies between them declared. You *do* have the option of merging all modules into a single WAR module for eClub or many of the alternatives as long as eClub is deployed as a WAR.

Figure 23.1. Candidate Source Module Structure

`-- eSport
    |-- eLeague
    |   |-- eLeague (module(s) from project1)
    |   |-- eLeagueEJB
    |   |   |-- pom.xml
    |   |   `-- src
    |   |       `-- main
    |   |           |-- java
    |   |           |   `-- eleague
    |   |           |       `-- ejb
    |   |           `-- resources
    |   |               `-- META-INF
    |   |                   |-- beans.xml
    |   |                   |-- persistence.xml
    |   |                   |-- (ejb-jar.xml)
    |   |                   `-- (jboss-ejb3.xml)
    |   |-- eLeagueWAR
    |   |   |-- pom.xml
    |   |   `-- src
    |   |       `-- main
    |   |           |-- java
    |   |           |   `-- eleague
    |   |           |       |-- rs
    |   |           |       `-- web
    |   |           |-- resources
    |   |           `-- webapp
    |   |               |-- WEB-INF
    |   |               |   |-- beans.xml
    |   |               |   |-- web.xml
    |   |               |   |-- (jboss-web.xml)
    |   |               |   `-- (content)
    |   |               `-- index.jsp
    |   |-- eLeagueClient
    |   |   |-- pom.xml
    |   |   `-- src
    |   |       |-- main
    |   |       |   `-- java
    |   |       |       `-- eleague
    |   |       |           |-- dto
    |   |       |           `-- client
    |   |       `-- test
    |   |           `-- java
    |   |               `-- eleague
    |   |                   `-- dto
    |   |-- eLeagueEAR
    |   |   `-- pom.xml
    |   |-- eLeagueTest
    |   |   |-- pom.xml
    |   |   `-- src
    |   |       `-- test
    |   |           |-- java
    |   |           |   `-- eleague
    |   |           |       |-- rmi
    |   |           |       `-- rs
    |   |           `-- resources
    |   |               |-- jndi.properties
    |   |               `-- log4j.xml
    |   `-- pom.xml
    |-- eClub (many options)
    |   |-- (eClubEJB -- could be merged with or separate from WAR)
    |   |-- eClubWAR
    |   |   |-- pom.xml
    |   |   `-- src
    |   |       +-- main
    |   |       |   |-- java
    |   |       |   |   `-- eclub
    |   |       |   |       +-- bo
    |   |       |   |       +-- bl (or ejb)
    |   |       |   |       +-- client
    |   |       |   |       +-- rs
    |   |       |   |       `-- ui
    |   |       |   |-- resources
    |   |       |   |   `-- META-INF
    |   |       |   |       |-- persistence.xml
    |   |       |   |       `-- (ejb-jar.xml)
    |   |       |   `-- webapp
    |   |       |       |-- WEB-INF
    |   |       |       |   |-- beans.xml
    |   |       |       |   |-- web.xml
    |   |       |       |   |-- (jboss-web.xml)
    |   |       |       |   |-- (jboss-ejb3.xml)
    |   |       |       |   `-- content
    |   |       |       `-- index.jsp
    |   |       `-- test
    |   |           |-- java
    |   |           |   `-- eclub
    |   |           |       |-- ...
    |   |           |       |-- bl
    |   |           |       |   `-- eClubEndToEndTest.java
    |   |           |       `-- client (*IT.java)
    |   |           |           `-- eSportEndToEndIT.java
    |   |           `-- resources
    |   |               `-- jndi.properties
    |   `-- pom.xml
    `-- pom.xml