Sprint case study, Java Pro, March 2001, pp34-38

The job

Convert software used to manage network consultants who work in Sprint's E-Solutions division. Field office managers needed to know where their people are located, what their skills are, and how much training they need; and had complained that the legacy system was too slow and hard to use. The project started in August of 1999.

The goals

The solution

Discussion

Quickly chose WebLogic. But within 3 months, it was scrapped. "With WebLogic you had to make your own entity beans ... Sprint E-Solutions also hadn't been happy with BEA's customer service."

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.