Organizing projects in Eclipse
The application architecture points to two isolated modules: the central module, which we will name Store and a remote module that each theater must set up and run at its own installation, aptly named Theater. So, it is a natural decision to have two projects, each implementing one module.
These two modules will be implemented as web applications, holding screens, web services, and business logic. The business entities will reside in projects of their own. This is a common pattern when mapping domain entities that virtually any project of your company will have to access at some point in time. In the development phase, this approach helps avoiding concurrency between developers editing source code and isolates sensitive code if security is a concern. When the systems are up and running, maintenance is also simplified. Instead of repackaging every module that uses the common library, just one update is necessary.
Our entities are mostly isolated by modules,...