As Java approaches its fifth year, IBM can take much of the credit for the platform's success, while at the same time reaping a lot of its rewards.
As the Internet exploded, IBM successfully repositioned itself and became a major e-commerce player by supporting nine platforms. Java has allowed IBM to have something it never had before - interoperability.
It is Java's promise of write once, run anywhere' (which is coming close to reality in Java 1.3) that has IBM so well positioned for the future. Java's success has allowed IBM to sell billions of dollars in products, create an explosion in IBM's business partner network, and open up many new markets as a result of Java's vendor-neutral environment. That success has come from billion-dollar investments and labour hours made in engineering, which has also helped Sun Microsystems evolve Java into what it is today. IBM recognised early on the Internet's potential and the necessity for open architecture. IBM contributed to many of the initial engineering developments and innovations in Java. Its work on key parts of the Java software, such as the codevelopment of Enterprise Java Beans (EJB), has helped create the success Java enjoys today. IBM's implementation of Java in its products also gave the blessing of mainstream acceptance to the Java market.
Five years ago, IBM needed a makeover. Its attempt to regain the PC operating system market with OS/2 clearly failed, and its mainframe business had taken the kiss of death name, legacy, while application development was moving toward a client/server architecture. IBM had an Internet vision, but it needed the right spin. It needed to pay attention to the market sensibilities it had ignored in the past, allowing it to be blindsided by Microsoft and its Windows operating system. Not only did IBM need a new technology, it needed to come up with open and efficient ways to access mainframe data and deliver it over the Internet. The answer was Java.
Java was the key to the winning transformation of an e-commerce giant. IBM's recent success in e-commerce shows up at the bottom line. According to Scott Hebner, IBM's program director of Java and e-business technology marketing, the Internet and Java have contributed dramatically to IBM's growth in revenues and equity appreciation. Revenue success and the increase in share value can be directly tied to IBM's vision and commitment to use Java as its cross-platform mechanism. The promise of a write once, run anywhere' language was extremely appealing to a company that previously lacked a way for its platforms to talk to one another, much less other vendors' systems. IBM now provides its core client market, large mainframe shops, with a universal platform that lets clients build their applications on one platform, whether it's AIX, NT, Linux, Solaris, HP-UX, SCO, or BSD. The universal platform also satisfies the need to run programs over multiple platforms or switch to other platforms in the future without spending lots of time and money rewriting a program.
Hebner outlines the new IBM strategy. "Our entire IBM e-commerce product portfolio is being built on a vendor-neutral platform," he says. "We have allowed the Java developer to build [his or her] business rules on a Linux server with an XML front end, and we fully support an open standards environment. This is a key to our Internet strategy. Java allows IBM to integrate its product portfolio and also support non-IBM vendor products and increase its customer base. Java has succeeded because it rode the wave of the Internet and it was open."
From a product application perspective, IBM is the largest Java proponent in the world today, offering more than 110 Java-based products and partnering with more than 40,000 businesses. Many of its new allies come from nontraditional sources, including independent vendors such as Versant. They have come aboard because IBM has developed or is developing most of the tools that are crucial to the Internet community. Those include IBM's WebSphere application server line, which will add EJB support in its Web server by year's end. EJB is a standard component in J2EE and is based on the Java Beans architecture. EJB lets you build applications briskly and smoothly, concentrating mostly on the task of handling Java Beans, which are nifty containers that can transparently provide information to and from any Internet-connected system.
As legacy systems increasingly need to adapt to the Internet revolution, enabling the reuse of legacy applications without having to completely rewrite them continues to be the eagerly sought-after grail. Java has become the centre point of IBM's evolving Internet technology, which has grown to include the open source Linux Apache platform and XML. Those products have helped ignite the drive for shared standards and an open-network, nonvendor-specific environment. Other vendors are now jumping on IBM's bandwagon and preparing their Java tools for the traditional IBM Fortune 1000 market. Business-to-business (B2B) e-commerce growth is just beginning to explode - almost all Fortune 1000 companies, as well as many others, will be conducting some business on the Internet by the end of 2001. In the future, that growth will only continue as the economies of time and effort make the Internet a highly cost-effective and profitable environment. As shepherd to most of the Fortune 1000 companies' data, IBM has found itself in the driver's seat of the new economy, which craves a practical, recyclable approach rather than a throwaway software strategy. The vast expanse of corporate data resides mostly on mainframes; trillions of dollars are invested in legacy systems, with most of them running on IBM mainframes. Along with Corba technology, IBM has been developing Java code to run on the multiple operating platforms that hold legacy code and provide ease and flexibility in integrating older applications into the Brave New World of the Internet.
From the beginning, the IBM cognoscenti knew Java would be a success. Their vision was to have a programming model that was not limited or defined by an operating system. They saw IBM's core business instantiated in generations of legacy systems needing to be integrated with the new Java technologies. With its scalability and interoperability, Java could become the key performer in the new IBM e-commerce paradigm.
Since the time of the Oak project (the original name for the Java project that was launched by IBM and Sun in 1995), IBM saw Java as a breakthrough object-oriented language superior to C++ because of its ease of learning and portability. In addition, the slim portable runtime environment was very appealing. That meant IBM could deliver an extremely attractive customer value proposition. It could enable a client to run on other platforms besides the one on which it had been originally deployed without being rewritten. That customer value proposition was clearly on the minds of IBM strategists. After all, there was the alternative of watching the customer base erode as cross-platform interoperability and open systems began to catch on in a big way.
In 1996 the Java public relations machine was holding out the promise that you could build your own applets running within a browser or an application running on your client that would run anywhere. You could then interface through a Web application server set-up to access your backend data, using anything from a PC running SQLServer to a System 390 running DB2.
At that time, Rod Smith, IBM's vice president of Java (then IBM's chief Java technologist) and Ian Brackenbury, an IBM distinguished engineer, met with Shel Finkelstein, a Sun Microsystems distinguished engineer, and determined that Java's value was going to be on the server side. That is where IBM began to focus. After analysing IBM's large and varied customer base, it became obvious that business logic would need to talk across the Internet to PCs, servers, mainframes, and other platforms and devices not yet invented.
David Boloker, IBM's chief Java architect, describes a hypothetical dot-com, Java-business scenario. A customer conducting business on the Web through a Web application server would have his or her membership identification verified by calling a membership routine written as an EJB. The EJB would check to see whether the member was registered by entering a backend server database (for example IBM's DB2 or Oracle) through Java Database Connectivity (JDBC) and then sending that data back to the application server. A product or services catalogue would then pop up, provided by the business logic. After the customer completed shopping, the HTML purchase button would then call another EJB that would send credit information to another EJB, passing back credit approval or rejection via JDBC. (That would perhaps take place on the legacy system, with authorisation being done by using the Java/CICS interface to access the DB2, Oracle, or other database).
According to Boloker, "We are finally coming to the place in Enterprise Java where we can put (full) solutions together. You pick your development platform - a System 390, your AS/400, Linux, or Windows NT - it doesn't matter."
IBM believes that serving the entire enterprise is Java's future. The focus will still be on improving performance and reliability, availability, scalability (RAS), but it will always be looking for ways to extend the reach of business applications and solutions. "Today our focus has been on improving performance and RAS cross-platform," Boloker says, "striving for 100 per cent compatibility across all platforms, so a customer can grow transparently into a larger platform. Once achieved, Java will be the dominant Internet platform."
Some challenges still lie ahead, however. As Java now runs on systems with up to 32 processors, one of IBM's key focus points with J2EE is to make the Java Virtual Machine (JVM) 100 per cent compatible. Currently, with the 1.3 release, IBM has stated that its JVM is now 90 per cent cross-platform compatible, with that extra 10 per cent being worked through the just in time (JIT) compiler and the host porting interface layer (HPI), the platform-dependent layer that runs below the Java virtual machine. Other work remains, such as security and reuse issues and developing a high-performance JVM to handle short and repetitive transactions. Additionally, the typical customer enterprise is striving more and more for 24 x 7 x 365 reliability. Many applications require their systems to be down only a few minutes per year, and Java is still nowhere near handling that capability.
There is also the potential for the proliferation of different Java flavours, making compatibility more difficult, which is similar to what happened with Unix.
Hebner has expressed concern about Java's future. "If Java becomes a control or choke point to open standards in the future, then this is not what it was originally all about. It is the industry's agreement to these shared standards that represents the magic of the Internet and the economic transformation that it sparked. It must remain open, and we as an industry must resist the temptation of turning the Internet into a battleground of competing, proprietary control points. [Some people's] approach to the business issues surrounding the Java technology is dangerously close to the creation of a proprietary and unnecessary control point in the technology foundation of the Internet. This is simply not in the best interest of any e-business customer or the Internet economy in general."
As the Internet matures, the move will be away from Perl/CGI toward the J2EE EJB environment because of Java's cross-platform and use of easy, reusable modular components. In two years Java's strength will stretch from the largest mainframes to the smallest mobile phones. IBM is developing a strategy in which a customer can start with Linux, or any Unix flavour, Windows NT, and an AS/400, or a System 390. Java allows the customer to grow with the system and into the IBM product line. With Sun, Oracle, BEA, and others mapping their future from mobile phones to the enterprise, the Java rocket is only beginning to take off.
* XML enables dynamic content, Buyers Guide, page 30