Java, Java, Java
Unlike the Fourth of July, the sixth of July will never become a national holiday. But it may go down in history as some sort of technological Independence Day, an e-commerce milestone on the road to freedom from the tyranny of platform-dependent programs, browser-specific sites and cumbersome customer-data acquisition applications. It was on July 6, 2000 that American Airlines announced the selection of Art Technology Group's Java-based Dynamo as the future foundation of its Web site, aa.com.
So what? Thousands of companies, including many Fortune 1000 stalwarts like Proctor & Gamble and General Motors have implemented Java-based CRM solutions. What makes the AA decision so special?
Completely redesigned only two years ago, aa.com is one of the busiest sites on the Net, with up to 350,000 hits per day and an average of 25 million page views per month. The existing aa.com is also a good site; many would even say a great one. It boasts a trophy case full of prizes including a RealWare Best Customer Relationship Management Award, a CIO Magazine Web Business Award, a best airline site citation from The Wall street Journal Online, and numerous "top 100" site awards. American was even the first airline to win the BBBOnline Privacy Seal for its site's security system.
Why change horses in the middle of such a smoothly flowing stream? Looking into the future, American executives saw that Dynamo's Java environment would allow them "to develop new applications and fit them seamlessly into the site architecture" and rapidly deploy "new and improved functionality to the site."
The markets recognized the magnitude of this decision and the technological reasons behind it. The share value of AA's existing Web-technology provider, BroadVision, dropped close to 35 percent in the five days after the announcement. The fact that BroadVision had been listed at the top of IDC's e-commerce software provider rankings as recently as July 7 didn't lessen the impact of AA's actions. Java had become the king of the hill.
As Jackson Spears, an analyst with the ABN AMRO banking group, put it, "BroadVision didn't do anything wrong, it was circumstances beyond their control...the issue was that people were saying 'Java, Java, Java...'"
Into the Fast Lane
To understanding why the "Java" chant has become such a thunderous part of the Web-based CRM scene, one must first understand Java's evolution from a useful cross-platform tool for sending animation, questionnaires, order forms and 3D images down the information superhighway, to a fully endowed, high-level programming environment.
Introduced by Sun Microsystems in 1995 and co-developed since by members of an open consortium operating as the Java Community Process, Java is an object-oriented portable programming language. It differs from other object-based procedural programming languages like C++ in several crucial ways. The first, obviously, is portability. Java is the first programming language specifically designed to distribute applications and data over the Internet. Applications written in Java do not have to be rewritten or re-compiled for every specific hardware/operating system combination they may encounter.
At least in theory, Java is more secure than platform-specific compiled programs because applications written in it don't contain "pointers" to external data or objects. Instructions containing the address of data stored in the operating system or other applications are simply illegal.
Java also incorporates multithreading technology, which gives applications the ability to sustain multiple threads of activity. This is one of the key reasons why Java applets (and more recently, servlets) have become the medium of choice for filling Web pages with everything from the ridiculous ("punch the monkey" contests) to the sublime (order forms that notify site visitors of errors almost instantaneously).
On the downside, Java applications are frequently criticized for being slower than their platform-specific counterparts, leading to server traffic jams and the dreaded, seemingly interminable "starting Java applet" message. This annoyance inspires Web surfers to spend untold hours trying to disable Java.
The major problem is simply in the nature of the beast. In order to remain portable, Java applications are written in bytecode, the compiled format for Java programs. In order to run on any given system, bytecode needs to be interpreted for that system prior to execution. The original "interpreter," dubbed the "Java Virtual Machine," did its job exceedingly well. Since it only interpreted one bytecode instruction at a time, however, it also did it rather slowly and frequently used more resources than platform-specific compiled code.
Current Java Virtual Machines, like those embedded in all major late-model browsers, incorporate a JIT (Just-In-Time) compiler that takes the bytecodes, compiles them into the native code of the system they are on and turns them into an executable file more quickly. To quote Sun, "The JIT is an integral part of the Java Virtual Machine, so you never notice it's there, except your Java runs faster." (Note: As there are occasional exceptions to this rule, Java developers have the option of coding their programs to use or not use JIT.)
"In earlier versions of Java, you had to struggle hard and compromise a lot to make a Java application run quickly," says Jack Shirazi, author of Java Performance Tuning. "Since then, Java performance has improved enormously, and any Java program can now be made to run fast enough."
Shirazi must be right. Using last September's U.S. Grand Prix as a launching pad, Team McLaren, one of the two most potent contenders on the ultra high-tech Formula One racing circuit, debuted its new Java-based in-car telemetry system. With over 100 sensors monitoring such things as temperatures, steering angles, pressures, speeds, velocities and air-flow and reporting them in real-time to workstations in the pits and Sun Enterprise servers in the garage area, it is the most advanced data reporting and analysis system in any form of racing. "Java technology provides West McLaren Mercedes with the ability to react to change and fulfill the requirements of both strategists and engineers," says Sun's Chief Marketing Officer John Loiacono.
Facing New Realities
This newly developed ability to react quickly, delivered by Sun's latest Java initiative J2EE (Java2 Platform, Enterprise Edition), lies at the heart of Java's appeal to business strategists, as well. With the e-commerce economy expected to hit $1 trillion by the end of this year, minimizing time-to-market responses is imperative to achieve bottom line growth that matches the market and maintains market share. And with profit margins on much of that trillion slim, the need to trim software development costs is almost equally great.
J2EE is Sun's response to this reality. A set of new protocols and existing components (such as Enterprise Java Beans) designed to be used by enterprise software developers, decrease the time needed to create standardized platform-independent thin-client middleware applications.
"J2EE is designed to support applications that implement enterprise services for customers, employees, suppliers, partners and others who make demands on or contributions to the enterprise," Sun says. Among many other things, J2EE- compliant business-logic components will run on any brand or model of J2EE-compatible server.
Thin-client Java applications are also playing a growing role in personalizing Web interactions for both individual customers and affinity groups. Though the importance of personalization in the future of e-commerce cannot be overstated, the concept is hardly new. A door-to-door encyclopedia salesman enters an immigrant tenement in 1934. He takes a seat on one of the crates that serve as furniture, scans the one-room flat and instinctively applies some deductive reasoning. Finding signs that the couple has school-age children he structures his pitch one way. If there are pre-school children he uses a different set of "come-ons." If he intuits a childless home, he angles for the door.
That's personalization. Figuring out what products a given person wants to buy, making sure those products are displayed at the proper point in the shopping decision cycle, and presenting those products in the context most likely to trigger the customer's "gotta have it" response.
Which brings us back to American Airlines, which first implemented on-line personalization in 1998. (Actually, much earlier if you count Sabre, its pioneer online flight information and reservation system.) Visitors to aa.com can manage their travel award account, make highly complex flight reservations, request seat assignments from graphic depictions of the aircraft's interior, wirelessly access flight information on their PDAs and obtain last-minute deals on unsold tickets.
With all this, American felt it was in danger of falling behind the interactive Internet's sales/service curve. According to Scott Hayden, AA's managing director of interactive marketing, the Java-based Dynamo application's "well-developed personalization engine supports the user-focused direction of aa.com" and was a "key factor" in the airline's decision to use it as the platform of the new site.
Java's ability to support thin-client personalized Web-based services on Internet appliances as well as conventional PCs has also played a role in winning converts from among C++ e-commerce program users. "Thanks to advances in wireless technology, we're about to see an explosion of highly customized, highly personalized services based not only on who you are, but also where you are, what you're doing and who you're with," says Sun President and Chief Operations Officer Ed Zander. "Within the next five years or so, the PC will be completely redefined. I mean that literally. It won't stand for personal computer; it will stand for personal communicator--a Web-enabled device that you keep with you wherever you go."
Such personal communicators will not be driven by Wintel (or Apple) systems, will have little mass storage capability and will have limited display screen and I/O options. Consequently, they will demand a very high level of creativity and technological expertise from people designing marketing campaigns to run on them.
From smarter phones and pagers to voice-controlled mini-browsers embedded in alarm clocks, refrigerator doors and automobile dashboards, most of these Internet appliances will also depend on efficient, platform-independent server-side applications to access and deliver both static and dynamic contact.
Of all current mainstream programming environments, only Java, with its ability to create routines that will run on any networkable device from super computer to smart card, meets that specification. "At Sun," Zander admits, " we've been operating under the assumption that every man, woman and child will be connected to the Net at all times."