c-- styles for logos and headline links do not modify internet, red, or black styles -->

Intranet Journal   Earthweb  
Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts

   Intranet Journal Subjects
Search Earthweb

Privacy Policy



internet.com
IT
Developer
Internet News
Small Business
Personal Technology

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

internet commerce
Be a Commerce Partner
















 

[ Home | Discussion Forum | How Do I... | Lotus Notes Intranets | Microsoft SharePoint | Products | Shopping  ]

free news!

Cup of cappucino Software Review
JBuilder 1.0
Professional Edition

Borland International Inc.

By Sachin Gangupantula

Although only two years old, JavaTM has grown impressively from proto-langauge to its current release. JDK 1.1.3 provides most of the features and functions that developers have been clamoring to see as standard APIs, notably JavaBeans, Java DataBase Connectivity (JDBC) and Remote Method Invocation (RMI). And as the reviews in this month's special Java RAD issue of Intranet Journal reveal, the makers of visual programming tools have begun to expose Java's newest capabilities in highly productive ways.

Borland JBuilder was one of the first tools to leverage the power of Java 1.1, including JDBC and JavaBeans. Well known for its impressive line of development suites -- think Delphi, IntraBuilder and C++Builder -- Borland delivers in JBuilder a worthy addition that will please Java developers. JBuilder marks the company's entry into the Intranet/Intranet Java programming arena. Together, Borland's JavaScript automation tool IntraBuilder and JBuilder have the potential to make a killer combo for designing Web-to-database applications.

Like other Borland tools, JBuilder comes in three editions to support users from personal programmers to developers of mission-critical client/server applications.

  • Standard Edition, without the optimized compiler, JDBC, JavaBean support
  • Professional Edition, with documentation, development wizards in addition to the above
  • Client/Server Suite, with multi-tier RMI and CORBA Support, SQL Builder, SQL Explorer, SQL Monitor and Intersolv's PVCS version control software. Included is a single server license for Borland's DataGateway that provides the much needed multi-tier support with native database drivers to most major databases.

I reviewed the Professional Edition of JBuilder, which adds the extra wizards, graphing components and a database tool set.

Borland's documentation has always been solid. This package came with hard copies of the User's Guide and excellent Programmer's Guide to supplement the online help. In addition, Borland is scrupulous about posting errata and updates to its web site. JBuilder is one of the better documented Java RAD tools on the market today.

Highlights

JBuilder provides next-generation Rapid Application Development tools for high performance Java-based development. It brings to the table a host of features that has already made customers -- and competing vendors -- sit up and revise their wish lists:

  • Java optimized tool set
  • High performance compilers
  • Robust database connectivity using JDBC
  • Scalable database solution using Borland InterBase
  • Distributed Computing
  • Component-based visual development
  • Integrated Debugging with thread state views

JBuilder comes with the classic IDE Borland pioneered in Delphi. With its award-winning graphical design methodology, this feature alone ensures JBuilder's success with Borland admirers. In addition, the interface makes use of some of the best features available in competing products, like the graphical class-hierarchy and browsing windows found in Symantec Visual Café.

Like all tools of this ilk JBuilder supports project-oriented development, allowing you to add/remove .class and .java files. I especially liked the consistent representation of changes to the code between the various browsers and editors. Finally, JBuilder comes bundled with a variety of prebuilt JavaBean, including data-aware components, that can be dragged and dropped into an application.

Installation Chores

The following are minimum system requirements to install the Professional Edition of JBuilder:

  • Intel Pentium/90 MHz or higher
  • Windows 95 or Windows NT 4.0
  • Memory 32MB (48MB or higher recommended)
  • 50 MB of free hard disk space for compact install

A complete install needs around 100 MB, normative for current Java RAD tools to support the ever-growing feature set. For this review I used a Windows 95 machine with 32 MB RAM. Despite my having only the minimum recommended RAM, the installation went smoothly, adding the necessary entries to the Windows 95 Registry for the extensions used by JBuilder.


Note: Do not use any other JDK 1.1 release with JBuilder itself - use only the JDK 1.1 included with JBuilder. However, you can deploy your target applications with any JDK version 1.1.3 or higher.

Getting Started

Upon launching JBuilder, you see the main window and AppBrowser. The main window contains the menu bar, tool bar and a tabbed component palette (Figure 1). The menu and the tool bar provide the routine tasks that you perform using any RAD tool.

I particularly liked the Component Palette, which lists the available visual and data-access components (including Beans) that can be dropped onto the application window. The Component Palette also provides a clean interface for importing your own classes to extend Borland's IDE.

Fig 1 - Component Palette
Fig 1 - Component Palette (Enlarge)

AppBrowser is the primary development window and it occupies the rest of the screen which lets you explore, edit, design and debug the application. Borland pioneered this interface with its Delphi product line. It remains the cleanest visual programming environment I have come across, allowing you to add/remove files from a project, or open new AppBrowser windows for each project, without the need to track individual project components.

The AppBrowser is divided into three panes. The two left panes contain a tree and the corresponding detail for the object or the directory view of the project. The right pane (Content Pane) provides a window for the code, design or documentation view of the project. The AppBrowser is all you need to examine an entire project, so becoming familiar with this view is key to using JBuilder effectively. You can browse into source files, class files, zip files, and jar files--a single viewer for understanding the structure of your code.

The extensible design of the IDE is a welcome feature that allows a developer to customize not only the look and feel but able to add new components, wizards, Objects as they become available - a true Object-Oriented environment.

Creating a new application, applet or project is an easy task, as Borland has incorporated a Wizard for each. All of the Wizards create the new Jbuilder project file Welcome.jpr with configurable template code. Powerful as the are, the Wizards are a potential source of confusion when it comes to choosing between a new application/applet vs. a project. This is because the Application and Applet wizards themselves launch the Project Wizard (if there isn't already a project open). Neophytes may wonder just where in the lifecycle JBuilder is taking them.

The Applet Wizard (Figure 2) presents a series of screens which allow you to specify the comments, documentation, applet parameters, HTML page and comments.

Fig 2 - Applet Wizard
Fig 2 - Applet Wizard (Enlarge)

Customizing the code and the interface is a breeze, using the Component Inspector. The AppBrowser's Structure Pane provides a complete picture of the selected Applet, including all of its methods. Code navigation is well implemented in the JBuilder environment.

Event Handling, the essence of interactive GUI design, can be added to projects with minimal labor thanks to JBuilder's interface. Select the button in the UI Designer, then switch to the Events page in the Inspector and double-click the event of interest. JBuilder takes care of creating not only the event handling stub but also the components necessary to hook up the method to the control. See Figure 3.

Fig 3 - Event Inspector
Fig 3 - Event Inspector (Enlarge)

The optimized compiler was more than adequate; only Symantec's record-holding JIT compiler is faster. One feature I missed is the ability to change Java code incrementally during program execution, without recompiling. Admittedly, few Java RAD tools allow this, but having recently used one that does -- Asymetrix SuperCede -- I found myself missing it.

JBuilder's Debugger is quite complete with most of the features you find in today's RAD tools: thread, variable, and stack windows, the ability to set conditional breakpoints, and so on.

Deploying all of the classes associated with an applet is one of Java's least straightforward features. JBuilder streamlines the task with a Deployment Wizard that helps gather and bundle the requisite pieces.

Show me the Data!

As is common with the current Java tools, all isn't well and complete without looking at a tool's support for Java-based database application design. Fortunately, the most attractive part of JBuilder is its database integration. In addition to providing access to the SQL data through the JDBC API, JBuilder provides additional set of tools called, DataExpress that simplifies data access when used within the RAD environment.

Creating a database application is a three step process, which can either be implemented using visual data access tools or programmatically. The key is to set the dataSet property of the UI controls to the data-aware controls provided by JBuilder(DataExpress).

JBuilder provides excellent sample database applications with the installation.

  1. Add the Database component to the main window. It is one of the controls under Data Access. Set the Connection property for the component in the Inspector to the local database.
  2. Add a QueryDataSet component to the main window. Set the Database property to the instantiated Database component in Step 1. Set the SQL Statement to the required query.
  3. Add a GridControl (depending on the kind of data) and set its dataSet property to queryDataSet component created in Step 2.

Voila! You iterate Steps 2 and 3 for each of the UI controls to return data. In the Figure 4 you can see the simple search screen I created with two data-aware controls.

Fig 4 - Data-aware controls
Fig 4 - Data-aware controls (Enlarge)

Step 3 is illustrated as the Age UI control's dataset property is set to the AgeQuerySet object. In addition, JBuilder allows you to create updatable and parameterized queries, Stored Procedures. It provides synchronization of several data-aware controls by associating them with the same dataSet. This greatly simplifies database design without the added overhead of managing several events to update GUI controls.

Bean Mania

JBuilder uses standard Java 1.1 APIs, such as BeanInfo classes in creating the reusable JavaBeans components. It allows source-code editing and debugging of JavaBean components. Developers can build BeanInfo classes with JBuilder's BeanInfo tool, which guides them in formatting the required statements.

Once a newly created JavaBeans component is added to the JBuilder, it offers a wizard that lets the developer choose from the list and the events it can generate. There are over a hundred JavaBean components available that can be integrated into the JBuilder environment.

Pros, cons & prices

On the downside, JBuilder cannot change the source code of a running program. It doesn't provide a visual modeling tool to graphically depict Bean interactions as in IBM's VisualAge for Java (see Aron Benett's review for details). Nor does Borland's Professional Edition have the repository-based versioning found in all editions of VisualAge.

On the plus side, JBuilder's pace-setting IDE provides superior debugging environment and project management, standards-based component creation (JavaBeans), excellent online help and comprehensive database support. Borland provides dedicated technical support, newsgroups and other resources online. The links below are representative.

  • http://www.borland.com/devsupport/jbuilder/qanda/
  • http://www.borland.com/devsupport/jbuilder/BugList-1_0.html
  • http://www.borland.com/techpubs/jbuilder/

JBuilder Standard costs $99.95. JBuilder Professional costs $799.95 for new owners, $299.95 for owners of any development tool, or $249.95 for owners of any other Borland development tool. Estimate Street Price (ESP) for the Client/Server Suite is $2,495, or $2,000 for Borland tool owners.

Borland has a proud history of opening programming languages to the general public, from C and C++ to Pascal and Prolog. With JBuilder, Borland brings its accumulated experience to Java and the Internet. Even at version 1.0 this product is a top contender, and it has nowhere to go but up. -fin-

Borland International Inc.
100 Borland Way
Scotts Valley, CA 95066
Ph: 800-233-2444 or 408-431-1000
Fx: 408-431-4122

Java and other Java-based names are trademarks of Sun Microsystems, Inc. and refer to the family of Java-branded technologies. JBuilder is a trademark of Borland International Inc. All other trade names are property of their associated companies.

The extensible

design of

JBuilder's

IDE lets

developers

add new

components,

wizards, and

objects as

they become

available--

a truly

object-oriented

environment.

ial,Helvetica" COLOR="navajowhite">The Author

 
Sachin Gangupantula is a freelance writer and IT analyst. He welcomes comments on this review at saching@ix.netcom.com.
 
Of Interest
· Intranet eXchange Discussion Board

· Advice and Opinions