Page 3 of 4
Version 2 also incorporates a just-in-time compiler (JIT) to speed execution, something Ting says he eagerly awaited. Kiva still is certifying and deploying the new version and has not yet generated hard performance metrics to quantify the impact of the JIT, but anecdotal experience leads Fleming to expect the performance boost to be notable.
ETrade's goal is to operate on typical trading days at 25 percent of its end-to-end transaction throughput capacity. Then when the market goes haywire, it has 75 percent of its capacity in reserve to deal with frantic traders.
According to Fleming, the biggest challenge in the original development and deployment process was the performance and tuning of the Java code. ETrade wrestled with striking a balance between how many distinct objects to create versus how big objects should be, and how many objects to put together.
Smaller objects maximize object reuse because they deliver a small, discrete bit of functionality. The downside is that this approach requires many more objects than a large-object approach.
"The first time we did it we put together over 100 objects," says Ting, taking the goal of reuse to an extreme.
The Mutual Funds project was developed in about three months. More than two weeks of that time was spent figuring out performance issues. "Once we got that one nailed down, it was fairly straightforward to bang out the methods and put things together. It took some pretty long hours and hard work, but those hours were very productive," says Fleming. "Java probably cut two-thirds or more off the timeline. Doing this in C++ would have taken a year or more," he says.
There is certainly a lot more Java-related work going on at ETrade than just the middleware infrastructure. The GUI is another area in which Java is being utilized.
For more than a year, ETrade has offered Java-based historical charting and comparative performance charts. These applets, which were originally developed by Neural Applications as part of its NetProphet™ software, have garnered a great deal of praise for the information they can provide -- but also some criticism for long download times.
Applet size and download time are concern shared by other companies offering online trading information and services -- including Quote.com, an information service provider that serves the public and online brokerages such as ETrade, Schwab, and Fidelity. (See sidebar below.)
One of the principal lessons learned from spending a year delivering Java applets to customers, according to ETrade, is that the firm must do a better job of managing user expectations and of finding ways to speed performance.
"Once you have the applets downloaded, they run very quickly," says Pam Kramer, ETrade's vice president of product management, "but we are certainly looking to cut download times."
One possible solution is to partition some of the functionality in the applet so that more is done on the server and less needs to be downloaded to the client browser, but currently no such implementation effort is underway.