VisualAge Java marries IBM's well-established visual development system with Sun's Java technology in its JDK 1.1 guise. Key features include the visual composition editor, which lets you build applications graphically using JavaBeans, a repository which includes version control features, browsers for classes, packages and projects and a comprehensive debugger.
The IDE (Integrated Development Environment) runs on IBM's Universal Virtual Machine, which is capable of running both Java byte code and SmallTalk.
The first VisualAge product was for SmallTalk, and in order to share code between products IBM still uses SmallTalk throughout the range. In the words of an IBM engineer, the VisualAge Java IDE is itself "75% SmallTalk".
That means it is all running in a Virtual Machine, even though it is not solely a Java Virtual Machine, and helps IBM to make VisualAge a cross-platform product. Another benefit is that eventually you will be able to use JavaBeans components seamlessly in VisualAge SmallTalk.
The disadvantage of this approach is a heavy performance penalty, something also seen in other VisualAge products. IBM specifies 32Mb RAM as a minimum requirement, but to be realistic you should double that figure, particularly on Windows NT. The machine used for this review was a Pentium 133MHz with 64Mb RAM running NT 4.0. In fairness, serious developers should buy a faster machine for running this type of application.
The problem is made worse by the help system, which requires a frames-capable browser and which installs its own help server to handle searches.
Since the two leading browsers, - Microsoft's Internet Explorer and Netscape's Navigator - are themselves large applications, a session with VisualAge Java is enough to stress any system. The point is worth emphasising, since time spent waiting for the interface to catch up with your last mouse click is time wasted, and spoils the excellent productivity that VisualAge Java would otherwise offer.
When you run VisualAge Java, it opens a workspace which retains its contents and setting from one session to another. The workspace has tabs and panels, allowing you to navigate the standard Java-class libraries together with any others currently loaded. Elements such as packages, classes, class methods and fields are presented in a tree view, with informative colour-coding and icons. For example, runnable classes such as applets or classes with a Java main() method have a run icon, native methods show a small "N", static methods have an "S" icon, private methods have a square red dot, and so on. Selecting a method shows the source in a separate panel, and you can edit it simply by typing into this panel. VisualAge Java automatically saves and compiles the code when you select another method, reporting any errors as it does so. Methods that have unresolved errors are shown with a red cross, and a detailed error description appears in the status bar when the method is selected.
VisualAge Java is entirely repository-based, and IBM describes it as "development without files". Conceptually, you never open a file or save it. Instead, you import and export to and from the file system. For example, when an applet is completed, you would export it in order to deploy it on your web site. Export supports class, Java and JAR formats. There is also a native Interchange format that lets you move a project from one VisualAge installation to another. A strong feature of the repository is integrated version control. At any time you can right-click a project, package, class or interface and choose Version to create a new version in the repository. This freezes the current state of the project as a version. Further edits are automatically entered into a new working edition.
At the heart of VisualAge Java is its Visual Composition Editor. This lets you assemble applications from JavaBeans parts, connecting them together without writing any code. It will be familiar to anyone who has worked with VisualAge SmallTalk or C++.
Components are placed on a composition area, just as you would create a form in Visual Basic or Borland's Delphi. Both visual and non-visual beans can be used, with non-visual components represented as icons. Any standard bean can be imported into the beans palette. Once placed, you connect one bean with another by right-clicking the bean and choosing Connect. For example, to get something to happen when a button is clicked, you would right-click the button and choose its action Performed event.
Dragging the mouse to another bean lets you connect to one of the destination bean's methods. Connections are shown visually as lines and arrows, and you can edit the functionality of the connection by inspecting its properties.
The editor generates Java code that you can browse and inspect, although a comment warns you not to edit it since it will be regenerated.
Although simple to describe, the Visual Composition Editor is a powerful programming tool and will delight those who like to see the logic of an interface exposed visually, along with its graphical appearance. The weakness of the system is that the resulting tangle of connections can be confusing rather than illuminating.
Throughout VisualAge Java, assistance with common tasks is provided by SmartGuides - tools that in a Microsoft environment would be called Wizards.
For example, to add a method to a class, you select it in the browser, and click the Create Method button. A SmartGuide lets you define the method's characteristics in a dialog, choose the exceptions it may throw from a list and click Finish to create the method.
Other SmartGuides handle creating applets, creating a new class or interface, adding Event Listeners to beans, import and export, and more. If you have the Enterprise edition, there are SmartGuides to generate interface classes for database tables, connected through JDBC, and to handle Remote Method Invocation, the standard for distributed Java-to-Java communication. IBM's DB2 database has a full JDBC driver as a standard feature in versions 2.1.2 and above. You can also access ODBC data through the ODBC-JDBC bridge.
A frustration at the time of writing is that most current browsers do not support the full JDK 1.1, and in particular JavaBeans, a key part of VisualAge Java. Beans are so useful that IBM is justified in producing VisualAge Java on the assumption that updated browsers will soon be widely used. Unfortunately, compatibility will remain a problem as new versions of the JDK are released. The alternative is for developers to concentrate on server-side applets, delivering lowest-common-denominator HTML to the browser. These are difficult decisions, particularly for those deploying on the web rather than doing intranet development.
In addition to VisualAge Java itself, IBM has announced VisualAge PartPaks, suites of pre-programmed JavaBeans components for business applications.
Going beyond this is the Shareable Frameworks initiative, also known as San Francisco.
This is a set of Java server-side components that provide a framework for server-based business applications. The idea is to provide a foundation of low-level objects, which form the structure for building distributed business objects. The details of San Francisco are sketchy at present, but it does illustrate the extent to which IBM has bought into Java. The success of Java has become important to IBM's credibility.
There is much to admire in VisualAge Java. Project management is a delight, with easy browsing, quick access to the source where available, seamless editing and background compilation. It is a refreshing change from the relentless cycle of coding, compiling and debugging which afflicts C++ development. Syntax errors are quickly exposed and easily fixed. SmartGuides boost productivity, and the end result is code compliant with the JDK 1.1 standard. Unfortunately these elegant features are spoilt by sluggish performance even on a well-specified system. The help system is ungainly, despite the supposed attraction of an HTML-based solution, and the help search server is overkill for what should be a simple task.
Not everyone will like the Visual Composition editor, which is great in concept but can be confusing to use. Fortunately there is an entry-level version available for free download, and even the Professional edition is inexpensive. Serious Java developers should take a close look.
VisualAge Java has been released for Windows NT, Windows 95 and OS/2.
Unix versions will appear in the next major release, which will come after Sun has finalised JDK 1.2. IBM suggests that means sometime in the first half of 1998.
The next version will also plug some of the gaps in the current product, which lacks support for inner classes and some Java Native Interface APIs.
It should also bring Corba compliance in the form of a light Java Object Request Broker.
I am impressed with VisualAge Java though - it is far better than I had expected.
Provisional prices are:
Professional edition #66;
Enterprise edition #1,326. Demonstration edition free from www.software.ibm.com
IBM 01329 242728
VERDICT: VisualAge Java
- Repository makes project management easy
- Integrated version control
- True visual development with JavaBeans
- Poor performance of development environment
- Visual Composition Editor can be confusing
- Requires JDK 1.1 compatible clients.
Geoengineering on the sea floor near glaciers would form a new ice shelf to prevent melting
Alterations in capillary blood flow can be caused by body position change
Curiosity rover is in 'normal mode' but not transmitting scientific data back to base
NatWest outage comes a day after Barclays' IT systems shut out customers and staff