Professional Java Development with the Spring Framework
The target application server will be Apache Tomcat 5.0. Management is keen to minimize licensing costs, especially as the application may be deployed on a number of sites. The application may need to be ported to another application server in the future, so the design must not be dependent on Tomcat. Should such porting be required, a small budget will be allocated for any code changes required and for testing on the new platform. If possible, the application should be verifiable as J2EE-compliant to reassure management that portability is achievable.
The Mandala Center does not presently have its own web-facing hardware. Appropriate hardware will need to be purchased based on performance analysis; management is keen to minimize cost by maximizing performance per cost of hardware.
The application should support clustering if this becomes necessary as demand increases, but management expects that the performance figures described can be exceeded on a single server. All machines in any server cluster would be within the same network.
The database will initially be MySQL 4.1. It is possible that the database will be ported to an Oracle 10g database at some point. Management feels that current O/R mapping technologies will allow for an easy migration if it becomes necessary. Care should be taken when designing SQL queries to avoid using proprietary extensions. The database server and application servers(s) will run on the same local network, so rapid connectivity can be assumed.
There are no other constraints regarding technology to be used. Management has made a strategic decision to adopt J2EE technology because it believes it offers the best chance of successful integration with the legacy booking systems at the other venues with the X Group, but management has no preconceptions on how J2EE should be used. Whether to use technologies such as EJB, JSP, and XSLT is a technical decision. As the project will involve building a team, no constraints regarding existing J2EE expertise (such as "strong servlet experience, no EJB experience") need be considered.
A number of the Mandala Center's staff have HTML skills, but are non-programmers. Therefore it is important that HTML content and site presentation can be controlled, as far as possible, without the need for more than a superficial understanding of J2EE technologies.