There's no doubt about it. Borland makes great products for developers.
They're definitely expensive and usually complex but very powerful. I've
been using JBuilder 6 for several months, and when I had the opportunity to
review the latest version, I jumped at the chance. I won't take up much of
your time by comparing this version with earlier ones, although I will
definitely highlight the new features that I found most useful. This review
focuses on the Enterprise Edition of JBuilder, not the Standard or
Professional.
To do serious Java development, especially in a project team of more
than two developers, you need a Java IDE. And you need one that provides
features that will free your development life from mundane, tedious, and
error-prone tasks. The following are some of the criteria I used to evaluate
JBuilder 7.0:
Ease of installation and setup
Flexible and intuitive project setup
Support for multiple developmentprojects
Powerful code-editing features
Ability to visually inspect class design
Facilities for deploying a distributed application, including deploying
to leading application servers
Support for refactoring techniques
Support for multiple JVMs
Support for generating test classes for all types of Java components
(JSP, servlets, Java classes, EJBs)
Support for JSP editing and viewing
Powerful debugger
Flexible project handling
Support for version control systems
I found JBuilder 7.0 met most of my criteria. What follows is a summary
of the results of my evaluation.
Product Description
JBuilder is one of the leading IDEs for Java development, and the
Enterprise version is used to build distributed J2EE-based applications. In
addition, version 7 includes the option to download a Web services pack for
developing Web services from your Java components.
Installation and Setup
Installation took 10 minutes. JBuilder's installation is based on Zero G
Software and was very smooth. Since I wasn't running short of disk space, as
is my standard policy, I selected the full install. However, starting the
IDE cost me another 15 minutes since I had to go on the Internet to register
my license. This was a minor annoyance, as I wasn't connected to the
Internet when I installed the product.
Setting up the project was fairly easy (see Figure 1). I also found that
there's a lot of flexibility in configuring the source directories,
including libraries and setting up test directories. One of the most useful
features is the ability to work on two different projects simultaneously.
JBuilder lets you open multiple IDE browsers, one for each project (see
Figure 2).
|
|
Menus
JBuilder has a plethora of useful tabbed menus, and describing each one
in detail is beyond the scope of this review. However, I will highlight some
of the features that I found useful. Figure 2 shows the tabs with an
expanded Tools menu in one project and an expanded Wizards menu in another.
The navigation through the menus is very intuitive. Besides the tabs, the
coding area and the Object Explorer bring up the appropriate menus when you
right-click. The window on the bottom left gives a granular view of the
class being coded and also continuously refreshes with errors as you type.
The following are some of the useful and distinguishing capabilities of
JBuilder 7:
It has wizards and tools for configuring deployment to application
servers including BEA WebLogic, iPlanet, IBM Web-
Sphere, and Tomcat. My applications are built on WebLogic, and it was very
easy to set them up for EJB compilation and deployment.
The Team menu provides direct access to source control systems. I set
this up to work with VSS, our source code repository.
JBuilder 7 is well integrated into supporting flexibility in build
processes. I set up the project for external builds using Ant.
It has an Object Gallery from the File menu (select New) for creating
servlets, JSPs, EJBs, XML, Java classes, test classes, etc. I used the
option for pulling in EJB definitions from an existing deployment descriptor
and it worked like a charm.
JBuilder 7 includes EJB development wizards with support for EJB 2.0
BMP.
The File menu includes an option, Compare Files, to compare two source
files and to merge changes between them.
Figure 3 shows the Object Gallery for Enterprise components, the app
server configuration window, and the EJB Test Client generator wizard.
The Code Editor
The code editor is the meat of the IDE. Besides code completion,
parenthesis matching, smart indentation, and other neat editing gimmicks
(which are very useful), I found JBuilder's editing capabilities far
superior to most other IDEs in the market today. A right-click in the main
editing window allows you to set up and configure the editor to your heart's
content. As shown in Figure 2, I set up the colors to my favorite theme.
Shortcuts and meta keys can be completely reconfigured in a manner that
Emacs users would be proud of. Other useful features I found included the
ability to set up bookmarks, code insight options, and coding style.
At the bottom of the main editing window is a set of tabs that made
development so much easier. In a class design window, the tabs Source,
Design, Bean, UML, Doc, and History are available (see Figure 2). This
enables you to switch from writing code for designer wizards to writing code
for Javadocs, UML-style class diagrams, or your source control system
while in the same window. The UML-based feature was most useful in
documenting code and understanding existing code. The diagrams are linked
via clickable references that allow you to navigate between classes. The
shortcomings of the UML features are that there's no way to get the overall
class diagram (you can only view one class at a time) and the diagrams can
only be saved in .png format.
Refactoring
JBuilder 7 provides good support for refactoring, including finding
references and definitions; optimizing imports; moving, renaming, and
repackaging classes; surrounding existing code with try-catch blocks (very
useful!); and extracting methods from existing code. These options are
available through the right-click menu. The relevant ones can also be
accessed via right-clicks in the Object Explorer window. I've used each of
these features at some point in the development cycle. The refactoring
support makes redesign and coding much easier.
I could go on and on about the neat features that JBuilder provides.
I've probably used about 20% of the functionality in its arsenal (remember
the 80-20 rule). However, such details are beyond the scope of this review.
In a nutshell, JBuilder is a great IDE for Java enterprise development that
saved me a lot of development and debugging time in my projects while
allowing me to manage the entire life cycle of my application.
Borland JBuilder 7.0 Snapshot
Target Audience: Enterprise Java developers
Level: Medium to expert
Pros:
Excellent editing features
Robust support for design and deployment of J2EE components,
including EJBs, JavaBeans, Java servlets, and JSPs; visual EJB
designer
Powerful J2EE component development wizards
Deployment support for popular application servers
Option to automatically generate Javadocs within the IDE
Excellent project management
Good support for refactoring
Excellent user interface, including intuitive and easy-to-use
menus; visual designer for switching between source code and visual
representation
Robust support for databases through DataExpress
Support for Ant builds and CVS, ClearCase, and VSS for source
control
Support for XML parsing
Support for JDK 1.4
Support for Web services via a downloadable Web services kit
Cons:
Multiple layers of panes require large real estate on the
screen. It's very easy to open up too many windows, which leads to confusion
JBuilder is expensive as compared to other functional IDEs with
similar features
Borland
100 Enterprise Way
Scotts Valley, CA 95066-3249
Phone: 831 431-1000
E-mail: customer_service@borland.com
Web: www.Borland.com
Specifications
Platforms: Windows 2000/NT/XP, Linux and Solaris, Mac OS X
Test Environment
Computer: Sony Vaio Laptop
Processors: 1GHz Intel
Memory: 512MB RAM
Platform: Windows 2000, SP 2
Reviewed by:
Ajit Sagar ajit@sys-con.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail: info@sys-con.com
Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.
|