Rejected WebSphere because it did not support the latest version of the JDK (v1.2). Eliminated Sun's app server because of poor documentation and an unintuitive programming interface. Rejected Microsoft ASP and ActiveX solution because of bad experiences with a time-entry browser control. "In seven of the last eight weekends, the ActiveX controls had broken down, and people couldn't enter their times."
EJB was chosen because of its platform independence. Selected Persistence Software's PowerTier EJB server because of its CMP and built-in object relational mapping. "It saved us probably a good two to three months of coding" that would have been required for BMP. PowerTier's mapping tools let you use higher-level modeling software to define object models and associate each object to the database schema. The tools then generate the underlying code. It's this feature that saved by far the most time in the development effort.
The application currently uses Apache authentication and Windows NT RADIUS. But, they are moving toward Java security and "looking forward to using EJB's ability to exploit the underlying security of the Web server or operating system to pass information such as a user's name, role, and whether they've been properly authenticated."
The new personnel management application includes around 250 entity beans and 20 session beans, with 1400 methods between them. Following the Java model, session beans last as long as a query session, while entity beans are basically a mirror of the table. Servlets and JSPs shuttle beans and data between the databases and the GUI.