For decades, programmers dreamt of development environments in which powerful, integrated tools could provide enormous productivity.
The first advanced environments of this kind appeared in the Unix community during the early 1990s. But the inability of hardware
platforms of the time to support the computational needs of such complex products condemned them to an early demise.
Today, with developer workstations sporting 3GHz processors and 1GB RAM, truly powerful environments can run without overtaxing
the hardware. As a result, the last few years have seen the advent of remarkable products, such as Visual Studio .Net and
Eclipse 3.0, that have raised the bar for IDEs.
I examined four leading IDEs for enterprise Java development (and the tool ecosystems bundled with them) from Borland, IBM,
Oracle, and Sun. Interestingly, these products all use different IDE metaphors. IBM's product is based on the free open source
Eclipse 3.0, which enjoys wide adoption among Java developers; Sun's product is based on the rival open source IDE platform
NetBeans; and Oracle and Borland's products are constructed around proprietary user interfaces.
The collections of tools assembled on these foundations vary significantly from vendor to vendor. I chose tool suites that
include modeling, substantial Web integration, and J2EE support -- important elements of any enterprise Java platform. These
four IDEs are all impressive in their own way and show how far the state of the art has come during the last few years.
Borland JBuilder 2005 Enterprise Edition
The JBuilder IDE was the first modular IDE to support Java. Its architecture is well documented and the guidelines for writing
plug-ins are well known; many third-party vendors and open source contributors have written plug-in tools for the platform
(a list can be found here).
JBuilder comes in three versions: Personal Edition, which is a freely downloadable, basic IDE plus a few additional tools
such as a GUI designer, integrated JUnit framework, and some other items; Developer Edition, which adds a host of features,
especially XML and Web support, the latter including servlets, JSP, and JSF (JavaServer Faces); and the Enterprise Edition,
which adds Web services, J2EE, CORBA support, and UML diagramming. I reviewed the JBuilder Enterprise Edition.
Because of its maturity, the IDE is the smoothest of the four reviewed here: It has no rough edges, navigation is intuitive,
and clicking through tasks never leads to dead-ends or unexpected dialog boxes.
Should you become lost, an excellent help system is available -- the best among the four. And for developers who prefer to
begin with tutorials, Borland provides many clear, well-designed options.
JBuilder's support for the features expected in a high-end enterprise IDE are all solid, well-thought-out, and practical.
The sole exception is the generation of build files for Ant (an open source "make" utility commonly used in Java), which is
cumbersome. Other than this odd shortcoming, the environment is a pleasure to use.
Beyond the IDE functionality, JBuilder 2005 provides support for some unique technologies, such as integration with CORBA,
code obfuscation, and code security analysis via a bundled Fortify plug-in. (Read a review of Fortify Software's stand-alone tools.)
JBuilder also has remarkably complete support for XML and its numerous derivatives, a good HTML editor, many useful tools
for Web services development and testing, and support for J2ME and WAP. No matter which technology is integrated into your
Java project, JBuilder likely supports it.
Modeling, however, is weak. The package supports only two UML diagrams. This shortcoming results from Borland's acquisition
of Together, a high-end modeling package that the company points you to if you need robust modeling. As of early March, Borland
adopted a sales model that combines Together with JBuilder and other Borland tools depending on the needs of the developer.
This role-based product suite, called Core SDP, will form the basis of Borland's enterprise offerings from now on.
Another interesting note: At the annual Eclipse user conferencein March, Borland announced that it will ship a set of Eclipse plug-ins that duplicate the functionality of JBuilder 2005.
How long the company will support two GUIs for the same product is hard to guess, but the announcement suggests that JBuilder
2005 might eventually make a transition to Eclipse. If it does, it will abandon a terrific IDE, around which Borland has built
impressive functionality.
IBM Rational Software Architect 6.0
IBM's new line of Rational Software products replaces the WebSphere Studio family. RSA (Rational Software Architect) 6.0 is
-- despite its version number -- the first generation under the new moniker. Of the various suites I reviewed, RSA has the
broadest sweep.
IBM uses the same role-based model as Borland. RSA 6.0 is built upon several layers. Just underneath is Rational Web Developer,
which omits a substantial portion of the modeling functionality; below that is Rational Application Developer, which lacks
the Web-facing design capabilities. At the very base of the stack is Eclipse 3.0, the freely available Java-oriented IDE that
is gaining tremendous popularity (see "Eclipse Casts a Long Shadow," page 36).
Unfortunately, almost all of RSA's drawbacks arise from this bottom layer. First, Eclipse is not an intuitive interface. Until
you've practiced with it for a long time, you are likely to come across inexplicable dialog boxes or unexpected pathways.
IBM simplifies the task with a set of terrific tutorials, yet the IDE is still more difficult to navigate than JBuilder 2005
or Oracle JDeveloper.