The RSA interface is also notably slower than those two products. It never quite reaches the point of frustrating users, but
it feels sluggish and lacks the snap of the other products, especially when switching among views of a project (such as moving
from design to coding).
Part of the sluggishness is due to the amount of software IBM has wrapped around the Eclipse base -- a remarkable collection
of enterprise-oriented software spanning 14 CDs. This includes IBM's WebSphere application server as a test environment, an
entire software stack for developing Web portals, and tip-top modeling and design tools.
The modeling tools support nine UML diagrams -- more than Borland and Oracle's products. These diagrams can be analyzed for
the patterns they contain or might contain, as well as for what IBM calls anti-patterns -- that is, infelicities of program
design. Poorly designed classes, for example, will pop up with explanations of violated design patterns and markers showing
what should be fixed.
When combined with IBM's rule-based code analysis, these tools help an architect see how well projects are being implemented
and how they fit within design guidelines and site requirements. In addition to structural and object-oriented patterns, RSA
can recognize and analyze seven of the Gang of Four design patterns.
Rational's Web interface technology of choice at the moment is JSF, a technology that simplifies implementation. RSA tools
include a WYSIWYG editor for JSF backed up with SDOs (service data objects) for database interfaces.
RSA has partial support for C/C++, in addition to full support for Java. The modeling tools can perform transformations to
C++ and various source code tools can analyze C++. However, the C++ IDE lacks a compiler and debugger, which must be procured
and installed separately. You can install your own if you already have one of these tools, or you can download the GNU C++
compilers to do this. These features seem like an odd and incomplete addition.
IBM RSA is the most feature-rich product in this review (see "Java Tool Time," right). The additional software mentioned above
further separates it from the rest of the pack. For enterprise architects willing to put in the time to master the interface
and the tools, it is the Java development product of choice.
Oracle JDeveloper 10.1.3
Oracle eschews Borland and IBM's model of multiple, role-based versions and touts one high-end product at a single low price.
The company uses its own GUI, which has an intuitive design that steps around much of the screen clutter of other IDEs.
The interface has another aspect I especially like: It is the only product that feels snappy. With JDeveloper, I feel as though
I am working in a taut, highly responsive environment. The timing of start-up delays and other functions show its performance
is in a virtual tie with Borland JBuilder, slightly ahead of Sun's product, and significantly faster than IBM's RSA. But at
the level of personal interaction with the IDE, Oracle feels fastest.
JDeveloper's feature set maps well to the other packages here. Many of these features, however, are more accessible than they
are on competing products, making it easier to get things done quickly.
Oracle also provides some interesting add-ons. The first is a tool that performs a run-time analysis of your code. Based on
its examination, the analysis makes suggestions about classes that can be made final. These suggestions go beyond the usual
platitudes that all the IDEs (Oracle included) provide as you type in code, such as how to optimize import statements. On
the Windows version, JDeveloper includes its own JVM, which is optimized for debugging. (For deployment purposes, however,
Oracle reverts back to the system JVM.)
For working with Web services, JDeveloper provides a TCP monitor that enables developers to examine packets individually --
logging their transit and making their data visible. The monitor also permits editing and resending of a request packet.
Other tools in Oracle's software-development suite provide higher-level support for Web services, such as orchestration and
BPEL (Business Process Execution Language).
The principal limitation of JDeveloper lies in its UML modeling, where the product supports only the "big four" diagrams:
activity, class, sequence, and use case. JDeveloper does support several non-UML diagrams such as page flows for Struts and
EJB diagramming.
While not as feature-rich in enterprise architecture as Borland or IBM, Oracle JDeveloper provides all the functionality most
developers will need. And given its considerable price advantage over those two competitors, it's likely to be the product
of choice for many sites.
Sun Java Studio Enterprise 7
In the 1990s, few vendors offered development tools as advanced as Sun's. The company was the first to make many innovations,
such as the ability to change code in the debugger and continue running.
However, Sun lost its mojo when it came to Java development tools, and it let other vendors take away a market that was rightfully
its own. The release of JSE (Java Studio Enterprise) 7 is specifically aimed at
re-establishing Sun in the Java tools market. The company worked hard to refine the product and, in the process, it has delivered
several unique features.
JSE is based on NetBeans, the open source platform that competes with Eclipse. Despite Eclipse's recent ascendancy, NetBeans
is a worthy platform, capable of doing most everything Eclipse can do. And like Eclipse, NetBeans enjoys the support of numerous
plug-in developers, even though Eclipse has a much greater number of active plug-in projects.