September 21, 1998
Java Boosts Reuse
Building "parts" libraries helps hold down costs while speeding development cycles
By Rich Levin
hen the stock market dropped on Aug. 31, Charles Schwab & Co.'s eSchwab trading site withstood a surge in activity. That's thanks, in part, to the company's recipe for success, one that includes ever-larger measures of pure Java ingredients.During the surge the eSchwab site served up investors' pages in an average of 2.5 seconds, according to Gomez Advisors, a electronic-commerce research firm. That's better than the 13 seconds it took Schwab competitor Ameritrade to serve up pages. Some sites fared even worse, making investors wait up to 20 seconds between page views, Gomez says. The difference between 2.5 seconds and 13 or 20 seconds may have seemed like an eternity to investors who needed to get a fix on their market positions.
Clearly Schwab's E-business capacity isn't suffering for the firm's early, vocal, and rapid adoption of Java technologies. In fact, architects of the eSchwab system have been increasing their commitment to Java and are now building entire business systems in the Sun Microsystems object-oriented programming language. Their goal is to leverage Java's pure object orientation and build libraries of software "parts" that can be reused for years in future development efforts--something programmers generically refer to as "object reuse."
A Lot Less Code
With most programming languages, reuse is an elusive if not impossible goal. But building parts libraries with Java can help programmers significantly cut the amount of code they need to write for new applications. And that means shorter, less-costly development cycles.
Schwab officials seem to be sold on the Sun language. "At least 10 new Java apps are being planned for next year," says Joseph Chan, director of distributed infrastructure and framework at Schwab. "Most will be Java end-to-end."
Instead of using Java just on the server, just on the client, or just as middleware, many of Schwab's new applications use Java throughout. Presentation, application, data, even legacy integration logic are being expressed entirely in Java. The benefit is reuse--and programmers get a common language and an enterprise view.
"When we go up to the mainframe for corporate data on DB2 and CICS, the mainframe sees a conventional [non-object] interface, but it's really a Java object executing the logic, and returning the result to a Java application," Chan says. "We just put a [Java] wrapper around the legacy logic, and that makes it a standard, reusable service within our Java framework."
Standardizing E-business systems around Java makes it easier for Schwab's programmers to boost code reuse throughout their growing distributed system architecture. Once a business rule is expressed and saved as a Java object, it can be seamlessly reused in virtually all other Java programs throughout the organization.
Reuse And Save
By building everything in Java--all Java apps are 100% objects--developers can create building blocks that can be plugged-and-played with other applica-
tions. So while building something once costs X dollars, building it a second or third time costs nothing. The more Java business objects are poured on, the more Schwab's programmers reuse code--and the more money Schwab saves. James Chong, Schwab's VP of architecture, says increased code reuse has already helped the company save $1 million in new code development costs.
According to Chan, that's just the beginning. "We haven't achieved the big savings yet, because the number of all-Java applications isn't great," he says. "When they're all in production, we expect to save at least a few million dollars annually, because we can write an application engine in months, not years."
Every time Schwab reuses an object, it's not paying a developer to write the code. Say it takes three days to write a "customer" object, at a cost of $512 (assuming the developer gets $80,000 a year). The next time the developer needs to build a customer object, he or she reuses it--and saves the company $512. Multiply that by thousands of objects and you've got simple, yet profound cost savings.
Schwab isn't the only enterprise site to reap the rewards of reuse with end-to-end Java projects. Xerox Corp. has been migrating virtually all its client-server Visual Basic human-resources applications to an all-Java architecture. About 35 HR-related functions, one-third of which are transactional and require integrated enterprise services, have been moved over. Everything from employee data, historical pay statements, organizational charts, and merit reviews are now available online to 37,000 users, all through a simple browser interface. The project will be completed next year, after which the client-server version will be retired.
SQL Out, Java In
Like Schwab, Xerox is taking advantage of Java's ability to seamlessly reuse legacy code inside Java objects. Volumes of business knowledge trapped in legacy PL/SQL code, itself proprietary to Oracle databases, are now available to distributed apps as reusable Java objects.
"All our business logic and application logic are up on the database server, in PL/SQL and stored procedures," says Jim Johnson, architecture manager for HR IT at Xerox.
Code reuse through end-to-end Java let Xerox deliver its distributed HR system in 18 months--less than half of what it took the company to build the previous client-server version. "It's simplified our life," Johnson says. "Development time is much shorter, once you get over the learning curve. We can reuse all our existing business knowledge and move logic out as objects. And the wonderful thing is, because they all speak Java, it's not hard to strap different systems together."
Programmers at NationsBanc Montgomery Securities LLC are also boosting reuse with end-to-end Java efforts, and they're slashing end-user licensing fees in the process. The investment banking firm is building an all-Java system to replace an aging AS/400 asset-management system, which is used by the firm's 250 brokers to track and manage their client's investments. For example, using the software, brokers can rapidly identify a group of clients who are ideal candidates for a particular stock at a given price.

"It helps them answer basic questions like 'who owns this stock?'" says Tim Jones, lead Web developer at NationsBanc Montgomery Securities, in San Francisco.The current system is provided by an independent software vendor, which is pushing the firm to upgrade to its latest client-server version for $10,000 per desktop client. Rather than upgrade 250 broker desktops, NationsBanc Montgomery invested four months in building a Java app that reuses the AS/400's data model and can be accessed by any broker using a standard-issue Web browser.
The all-Java app sidesteps the AS/400 vendor's upgrade, moves NationsBanc Montgomery to a distributed model, and saves $2.5 million, too. "We not only emulated the original app in Java," says Jones, "we gained the advantage of being able to reuse the logic again and again. Lots of money is being saved."
Jones agrees that the key to reuse, and easing integration of legacy systems with newer distributed models, lies in the choice of a single object language, such as Java. "Life gets much easier when everything is on one platform," Jones says. "Reuse goes up as a natural by-product, and not as the result of some corporate edict or heavy [reuse] methodology." That is, reuse efforts often take the form of a corporate edict--"we will increase code reuse by 10%"--followed by a heavy methodology, a specific way of writing programs that all developers must adhere to. But methodologies often slow application development and require expensive code repositories, training, modeling tools, and so on.
Jones notes that his team's first end-to-end Java application--a portfolio manager for brokers--consumed six months of development resources. The follow-up app, which leverages objects developed during the team's first rounds of coding, was delivered in only two weeks.
"We're now cranking these things out in two to three weeks, tops, from spec start to finished app," Jones says. "It makes life a lot easier when the whole thing's in Java."
Photo by Alan Blaustein
This Week's Issue
Technology Whitepapers
- Mobile BI: Actionable Intelligence for the Agile Enterprise
- Creating the Enterprise-Class Tablet Environment - by Yankee Group
- How To Regain IT Control In An Increasingly Mobile World - by BlackBerry
- Red Alert: Why Tablet Security Matters - by BlackBerry
- New Visual and Wizard-Driven Paradigms for Exploring Data and Developing Analytic Workflows











