Four Java IDEs duke it out
Enterprise environments from Borland, IBM, Oracle, Sun provide remarkable toolsets
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.)