Toyota Financial Services (TFS) last year decided to make a clean break from the past. The Torrance, Calif.-based finance and insurance subsidiary of Toyota Motor has run a homegrown call-center application for more than 15 years to help manage $42 billion in assets. And it had become clear that the mainframe system, which provides 1,200 service representatives with access to information about 2.3 million customer accounts, hampered the way TFS does business.
"The homegrown solution didnt give us the flexibility to add different components," says Shaun Coyne, TFSs chief information officer. "We were tied to that particular application."
Coyne and his team are now replacing the old mainframe system with a new one built around BEA Systems WebLogic application server, a project scheduled to be completed in 2005. The BEA software will act as the integration layer—the connective tissue—allowing data to be exchanged among multiple applications, including Siebel Systems call-center software and Shaw Systems Associates credit-management software.
TFS hopes to avoid getting frozen into a single, monolithic system again by basing the new infrastructure on open standards such as the Java programming language and by customizing its packaged applications as little as possible. "That was one of the lessons learned," Coyne says. "Our goal is to have an open-ended, Web-enabled system."
Thats essentially the point of an application server: to provide the foundation and a common set of services for the development of software that is accessible through a Web browser and can be linked to other applications using standard protocols. Typically, an application server has referred to software written to comply with the Java 2 Enterprise Edition (J2EE) specification, maintained by Sun Microsystems. The notable exception in this category is Microsoft, whose .NET Framework tools allow developers to build Web applications that run only on servers with the Windows operating system.
The advantage of writing applications using J2EE is that they can be executed on many different types of computers, calling on the same services without a programmer needing to know anything about the underlying hardware or software. "That lets you streamline processes and coding. And you dont have to rewrite applications," says Kevin Himka, a design architect in Boeings information-technology group.
But while the Java programming models are consistent, each application server behaves differently in a production environment, leading many organizations to standardize on a single vendor. "How you deploy them—configure and tune them—tends to be all different," says Tim Hilgenberg, chief technology strategist for applications at human-resources consulting firm Hewitt Associates.
Application servers can also back-haul older programs into a Web environment. The U.S. Navys Office of Naval Research (ONR) in Arlington, Va., wanted to bring many of the applications it had developed for the Oracle database to the Web. "We couldnt just get out the magic wand and say, OK, its all Java now," says Jim Campbell, a database administrator who works for RS Information Systems, the contractor that manages ONRs infrastructure. "Oracle had a good way to drag those apps along."
In the last few years, Java standards have stabilized and a field of dozens of vendors has narrowed to three main players: BEA, IBM and Oracle. As the segment has matured, application servers increasingly are viewed as a commodity. "In terms of functionality, the application servers are almost identical. Theyre a piece of the plumbing," says Mike Prince, chief information officer of Burlington Coat Factory, which uses Oracles application servers extensively. Competition is also surfacing from open-source packages, such as Apache Tomcat, and from enterprise-application vendors, such as SAP, which sells its NetWeaver application server as part of larger offerings.
To stand out, application-server providers are tossing around a newer buzzphrase: service-oriented architecture (SOA), a way of describing business processes that use standard interfaces to integrate a companys applications both internally and externally. In this definition, transaction-based application servers are at the heart of an SOA. "The decision these days is not about which app server youre choosing, but the overall platform," says Dan Scholler, an analyst with Meta Group.
BEA points out that its alone among the major players in that it isnt trying to sell any other enterprise applications; its application server is designed to pull everything else together, including Microsoft .NET-based code. That distinction resonates with customers: "BEA was not tied to any one technology stack," says TFSs Coyne.
But theres been speculation recently that BEA will be acquired, perhaps by Oracle—a year ago, CEO Larry Ellison publicly said he was interested in buying the company—or Hewlett-Packard, one of BEAs closest partners. BEA executives shrug off the acquisition chatter. "People really have been asking that for five years," says Eric Stahl, the companys director of product marketing.
Meanwhile, other application-server customers already subscribe to the "one-throat-to-choke" philosophy. Highmark Life & Casualty, an insurance company based in Pittsburgh, found the biggest advantage of IBMs WebSphere was that it had everything to build and run online applications, including an integrated development environment, says CIO Matt Piroch. "Thats worked very, very well for us," he says. "Its allowed for a lot of consistency in our development group."
That may be biting off more than some want to chew. "IBMs tools work very nicely together—but if you buy WebSphere, you have to buy all of WebSphere," says Tim Brown, systems architect with AirNet Systems, an air transportation company in Columbus, Ohio, that uses BEA WebLogic to run its shipment-tracking site.
Regardless of vendor, though, any Java application server is a complex nut to crack for the uninitiated. "These products are sort of overwhelming," says ONRs Campbell. He strongly recommends taking vendor-specific training classes before rolling out an application server: "You need someone to explain this to you."