IBM bets on Java
One of Sun's biggest competitors is on an all-out Java campaign. Why?
These days, IBM is focusing its attention on Java. With VisualAge for Java, IBM is trying to make Java as simple to use as possible. What is VisualAge, and how does it fit into IBM's product line? What are its implications for Sun, and why is IBM's new Java strategy so crucial to the company's continued growth? (3,000 words)
One of the fruits of this initiative is VisualAge for Java, a family of integrated development environments (IDEs) designed to make Java easier to use for everyone from the desktop power user to the corporate information technology group.
IBM isn't the only company pushing an IDE for Java. Visual Cafe from Symantec, JBuilder from Borland, Sun's own Java Workshop, and even VisualJ++ from Microsoft all offer easy-to-use environments for Java programmers. It isn't the quality of the tools that sets IBM's offerings apart, either. VisualAge for Java is impressive, but so is, say, Symantec's Visual Cafe. Rather it is the strategy behind the tools.
"100% Pure Java becomes the glue you use to build network-aware applications in cross-platform environments," says Scott Hebner, manager of application development marketing for IBM's Software Group. "We see the benefits in Java as being a way to integrate [existing] systems together into a cohesive solution."
"The second thing we're doing with Java," Hebner says, "is we're using it to provide a common programming infrastructure to the components that make up the computer environment. Java will be on OS/390 (IBM's mainframe architecture); Java will be on the AS/400; it will be on AIX, and it will be enabling network computer devices and set-top boxes." Java will be used to provide a consistent deployment environment across different tiers. Having a common environment on both the mainframe and mid-tier server as well as on the client takes advantage of the different assets on those platforms."
This is critical for IBM. Not only is it the mainframe company, but it is a major player everywhere from PCs up. Integration, however, has never been IBM's strong suit and historically each of its lines has been a separate, and mostly incompatible, entity. To leverage its presence in all these markets, IBM needs a simple, widely accepted way to tie together and present the information on all of its systems via a standardized interface. Java and the browser-centric view of computing looks like just the ticket.
"Java is crucial for IBM," says Larry Perlstein, principal analyst with Dataquest, who follows Java closely. "It's really the centerpiece of their overall network computing strategy. IBM's entire e-business architecture that ties various platforms together, and a lot of their tool strategy all center around Java. In essence it's become the sort of central integrating factor that IBM's been looking for for years."
What's more, Perlstein says, the strategy may very well work. "I think there's a good chance for IBM to be successful with Java, primarily because there is much more consistency with Java across IBM than I've ever seen in any other initiative. This is not every lab running around doing their own thing.
"Second, even IBM's services organizations are tied into it. They are using Java in their consulting engagements. That's a real solid model for helping to spread Java."
To make this work, the glue (e.g., Java) has to be broadly accepted. It has to be something that everyone who develops software can feel comfortable with, rather than another obscure technology known only to the initiates of the glass house. So IBM is doing everything it can to make Java a part of the corporate computing scene. One part of this effort is making sure that Java is easy to acquire and easy to use.
Enter VisualAge for Java
VisualAge looks somewhat different than most Java IDEs because it comes from a different background. VisualAge was originally developed to support Smalltalk, and there is still a version of the product for that language. Later IBM developed other versions to support Java, C++, and other languages.
The price for the Entry edition of VisualAge is unbeatable. It's free from IBM's Web site. "We think it is a worthwhile investment to provide the tool at no cost," Hebner says. Although VAJ Entry includes "professional" features such as incremental compile, it is limited to no more than 100 classes per project and includes very limited technical support. That's enough to build most applets and simple applications, and at the current price it is likely to find its way onto a lot of desktops -- which is exactly what IBM wants.
The next step up is VAJ Professional, which lists for $99. That removes the 100-class limit and includes full technical support. At the top of the line is the Enterprise Edition of VisualAge for Java, which includes features such as version control, which is needed for group development of Java applications.
The Enterprise Edition of VisualAge includes class libraries, which IBM calls Enterprise Application Beans (EABs), which let Java applications access mainframe databases, like Oracle and DB2, and services, such as CICS (Customer Information Control System). Using EABs, mainframe information and services can be made available to any Java Virtual Machine. It also includes the tools, such as version management, to let teams of programmers work simultaneously on a given project.
With VisualAge for E-Business, IBM is taking the idea a step further. Besides IBM's VisualAge for Java IDE, the package includes a number of tools for conducting business on the Web. They include the Lotus Bean Machine, a WYSIWYG tool for embedding pre-written Java beans into a Web page; WebRunner, a package that includes a class library of beans; and NetObjects Fusion, a Web site development tool. With wizards and other aids, VisualAge for E-Business aims at making the process of putting up a sophisticated commercial Web site as painless as possible.
The multi-tier approach of Java IDEs is common across most of the major companies who are developing them. Symantec, for example, did the same thing with its Visual Cafe IDE.
"What we wanted was to have a product for about $100 or so for anyone who wants to learn Java or come up with a quick applet," says Allen Bannon, director of developer relations at Symantec Corp. "Our goal was to have a value-packed package for that segment of the market that would include all the pieces needed to be successful, including the things you generally want to see run in an HTML Web page."
The middle tier is a package aimed at professional developers. This
usually includes more software development tools as well as the
features needed for development work in teams. For example,
Symantec's Cafe Professional Developers' Edition includes version
control, incremental debugging, and the ability to turn native Java
The high-end systems, like IBM's VisualAge for Java Enterprise Edition, are generally aimed at developers who intend to tie their Java applications and applets to a database, such as Oracle or DB2.
"It's fundamental that there's a need for tools if the technology is to be implemented," says Bannon. "The entry level for any technology has primarily been the tools. If there isn't a good set of tools available to develop solutions on the technology, you never develop solutions which leverage that technology."
This is undoubtedly correct. One of the interesting things about Java, however, is the kind of tools that are being offered. All of the major vendors have come out with highly visual integrated development environments that let even someone unskilled in Java produce useful applets by dragging and dropping and filling in a few property boxes.
Most of the entry-level tools are aimed at applet writers. You can write full-blown applications in them, but they are really oriented toward applet writing. Indeed, Symantec's documentation, like the others, stresses writing applets, and IBM's VisualAge is limited to 100 classes.
Given something like VisualAge or Visual Cafe, writing Java applets is not much more complex than writing Web pages with HTML. Of course this is only true as long as you stay within what the IDE designers provide. Typically this will be heavy on general Web applications.
How much can you do with an entry-level visual IDE like VisualAge? The answer, in general, is not everything, but a lot. Although you can develop full-blown applications of considerable complexity with these products, that's not really their strong point.
In a sense, these entry-level tools are the fulfillment of the promise of that QBasic interpreter that came with every copy of MS-DOS. They are great for churning out little applications quickly.
Dodging the learning curve
The implications of this for Sun are considerable. First, of course, good Java tools will make Java more popular because it will be easier to write applets and applications in Java. Perhaps more importantly, the very easy to use IDEs encourage the spread of applet writing -- and Java -- well beyond the software development groups. In fact, with them Java could become the Visual Basic of the next decade.
That's a fairly breathtaking notion when you look at the Java language itself. One of the problems with Java is that it is not easy to learn. It has its roots in C++, which is not the clearest language around, and unlike C++, it is relentlessly object-oriented. If you write Java you have to think in terms of objects.
Traditionally, that's a fairly steep learning curve even for software developers. The conventional wisdom in pure object-oriented languages like Smalltalk is that it takes between six months and a year to get really comfortable with the object way of doing things. C++ avoids this problem somewhat because you can write more-or-less conventional C code in the language. The result isn't object-oriented, but it gets product out the door without giving the programmers brain strain.
However, Java's object orientation can be used to help circumvent the learning process. An object, after all, is a pre-written piece of code, something like a subroutine with associated data. If you have a collection of the right objects you can build up applets and full-blown applications basically just by stringing them together -- dragging and dropping them, in other words.
That's the theory behind the new generation of IDE tools for Java. Pick your applets, fill in the appropriate properties and string them together by dragging and dropping and -- voila! -- instant applet. In practice things aren't that smooth -- yet -- but the tools are improving rapidly and more capabilities are being added with every revision. This is especially true of new classes. A library of pre-built classes is the foundation for this style of Java non-programming.
Of course there are limits to what you can do in any language without learning the language. First, there are the limits inherent to the Java language. Then there are the limits imposed by the availability of pre-constructed classes and methods. Leggo-style programming only works if you've got the right Leggos, after all.
One of the key assumptions is that developers aren't going to write systems from scratch in Java as much as they are going to use Java's superior interfacing and Web abilities to tie into existing legacy applications. Thus IBM's e-commerce offering includes Enterprise Access Builders to automatically generate ties to existing database systems using RMI (Remote Method Invocation), the Java External Call Interface (JECI), and JDBC (Java Data Base Connectivity).
The Java proposition and IBM
From IBM's viewpoint, if Java is widely accepted everyone wins. The customers win because they have a fairly simple, universal method of tying the enterprise information resources together. The users win because they can get the information and applications they need faster and cheaper. Even Sun wins because its vision of Java is widely accepted. And IBM wins, big time.
In fact, you could argue that IBM has more at stake in Java than even Sun. For Sun, Java is a way to move into the future and expand into new markets. For IBM, Java is a way to hang onto its existing market share as well as move forward.
As computing moves increasingly to a network-centered, open systems model, IBM faces a set of problems unlike any other computer maker. Unlike any of the other major players (except perhaps DEC to a lesser extent), IBM has to deal with many platforms, many operating systems, and many data formats. All of IBM's computer divisions have traditionally worked in isolation, developing their own products for their own customer base almost as if they were separate companies.
Today, that leaves IBM with the best and the worst of worlds simultaneously. It's the best of worlds because (as IBM's marketeers never cease to point out) something like 70 percent of the world's corporate information is stored on IBM systems, mostly mainframes. It's the worst because in spite of IBM's enterprisewide reach, sharing that information is quite difficult. In fact, entire industries have grown up and flourished just to let customers do what users of nearly any other computer maker's products can do automatically -- move information among the various classes of platforms.
IBM has been quite successful in fighting back with families such as the AS/400 minicomputers (to use an old term), the RS/6000 workstations, and the cheaper CMOS versions of its mainframes. It still has major problems, however, and those problems will only get worse, unless IBM's customers can easily tie all this information together. After all, if a customer has to convert all the corporate data and applications currently on an IBM platform to go to the next level of IBM platforms, why not just convert to an open architecture like Unix? If you can use what you've got, the value proposition for switching from IBM becomes much less compelling.
The last thing IBM or its customers need is a new architecture, either in hardware or information. There are too many architectures already. What they need is a way to let the existing systems communicate better -- an enterprisewide "glue." Java, in other words.
IBM's approach to Java stresses interoperability of legacy systems and information, unlike, say, Vision Software and its Vision Jade development environment. Vision Jade not only assumes that you want to write your system from the ground up in Java, it assumes that you want to start with the business rules that underlie the applications. Vision Jade aims to automatically convert business rules into Java applications.
IBM wants to make it easy for everyone, from the IT professionals who maintain the big mainframes to the power users at their desks, to link into existing information and use it in new ways. For that, Java and the browser-centric environment of intranets provide an excellent approach -- if corporate America will adopt it quickly, broadly, and deeply.
Of course, for IBM's strategy to work, Java has to become a truly cross-platform language. Given its broad product line this is probably more important to IBM than to any other company -- except perhaps Sun. This is why IBM is such a strong supporter of Sun's pure Java initiative and why IBM repeatedly emphasizes its commitment to "100% Pure Java."
This puts IBM at odds with Microsoft and solidly in Sun's camp in the Sun-Microsoft battle over the future of Java. For IBM, a Java that doesn't run on everything from mainframes to desktops to cell phones is a much less valuable proposition than one that does. Moves to split the language, as Microsoft is attempting to do, even in the name of increased efficiency, are very damaging to IBM's bet on Java.
At the same time, IBM is vulnerable if the battle over Java drags on too long. "I think all the current problems between Sun, Microsoft, and what's going on with the ISO [the fight over Java standardization] have a potentially negative impact for anyone to be successful with Java," says Perlstein. "If things don't settle down soon it's going to be hard to get customers to commit to Java in the big way IBM wants them to."
That is critical to IBM for two reasons. First, because its strategy succeeds most strongly if Java's acceptance is both broad and deep in the corporation. Second, because IBM has a recent history of strongly backing -- and eventually abandoning -- losing horses in the industry standards sweepstakes. "With Java as an industry initiative with everyone tied together and moving ahead, IBM had a sound strategy," Perlstein says. "As an IBM-only strategy Java starts to look like another IBM-Apple initiative." (Remember Taligent, IBM and Apple's ill-fated venture to build an object-oriented operating system?)
While there isn't a lot IBM can do to end the feuding over the future of Java directly, it can try to get 100% Pure Java widely accepted. In fact, if the efforts of the Pure Java backers succeed, the outcome of the Sun-Microsoft lawsuit becomes moot. Clearly the current uncertainty is not going to cause IBM to back away from seeking to win Java a solid place in the enterprise. It continues to roll out Java initiatives, Java-enabled products, and Java tools. And in the long run, that may be the most important thing IBM can do for Java.
About the author
Rick Cook divides his time between writing about the Web, computers, and high technology, and novels. His most recent stories for SunWorld are "Sun turns its rays on big iron" (November 1997), "Running Windows 95 under Solaris -- Is it smooth sailing now?" (May 1997), and "Developers at a crossroads: How will Apple's incorporation of Next impact the future of NextStep for Solaris?" (March 1997). Reach Rick at firstname.lastname@example.org.
If you have technical problems with this magazine, contact email@example.com