Platform deployment decisions

There are four major deployment decisions one must make before running this system. You must decide which database you will use to support persistent data in the system. You must decide which application server you will deploy the system in. You must decide which operating system you will run the system on. And you must decide which version of the j2sdk you will run the system on.

The platform uses Hibernate to persist data objects that represent the persistent state of the system. Hibernate supports most popular databases that provide a JDBC driver. The system was developed using PostgreSQL, MySQL, and Oracle (NOTE: in 0.9.5 our tables names apparently have a problem in oracle as they are too long), so any of these databases have been tested and are available options when making the deployment decision. Other databases such as DB2, Sybase, SAP DB, HypersonicSQL, Microsoft SQL Server, Informix, FrontBase, Ingres, Progress, Mckoi SQL, Pointbase and Interbase are supported by Hibernate and remain to be tested. There should be no reason the system will not work with these other database options. Although the core of the system and the current modules use Hibernate it is not a requirement that new components do so as well.

The platform was designed and tested running in the JBoss application server. We also automated the generation of the deployment descriptors and the .war and .ear files. The deployment descriptors are specified in metadata exploited by Xdoclet. Therefore if the system was to be deployed in another application server either the deployment would have to be generated manually or the build and code in the metadata would need to be modified to generate the deployment information specific to the other application server. There are not any jboss specific features used by the system, this was intentional so that we could deploy in other containers.

The platform is operating system independent since it is 100% java. Some factors helping to determine operating system choice will be the decisions made for the other deployment decisions in this section. For example, if you choose to run the postgres DB then a linux operating system may be a better choice since postgres runs native on linux. The system has been developed on Redhat Linux, Mandrake Linux, and Microsoft Windows 2000. It is the architects recommendation to run the system on Linux for reasons of increased stability and easy remote management.

The platform requires a j2sdk 1.4 or higher to run and has been tested with Sun's 1.4.1, 1.4.2 and IBM's 1.4.1 j2sdk's for linux and Sun's 1.4.1 j2sdk for Windows. Other implementations should work but have not been tested.