HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

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).

    Figure 1 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.

    Figure 3

    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: [email protected]
    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 [email protected]

    All Rights Reserved
    Copyright ©  2004 SYS-CON Media, Inc.
      E-mail: [email protected]

    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.