Parts for Java bypasses coding and links components visually
- By Peter D. Varhol
- Apr 28, 1997
"Parts" is an acronym for program assembly and reuse tool set. The original
Parts helped Smalltalk programmers put together programs in a largely visual manner,
adding features with Smalltalk scripting. Parts preserved the object nature of Smalltalk
and its full inheritance of both objects and methods.
Java and Smalltalk share many characteristics, so it was natural for Parts to
support Java when the Sun Microsystems Inc. language became popular. Both are fully
object-oriented. Both have comprehensive class libraries as building blocks for
About the only difference is that Smalltalk has a comprehensive development and a run-time
environment, whereas Sun delivered Java with only the run-time environment-the Java
To develop a Java program with Parts, you draw your user interface on the Workbench. The
Workbench Catalog contains the Java user interface classes (window, frame, buttons and so
on), plus other classes that let you manipulate text strings and data. This is similar to
starting a program with Symantec Corp.'s Visual Cafe, although Parts has a few more visual
Instead of using a code editing window, as you would in any other environment, you keep
working visually, connecting components of the user interface with links.
A link, shown by drawing a colored line in the editor, signifies an activity between the
linked components. A link can be an event, an activity or the passing of an argument.
Many times, Parts understands the nature of the link. For example, drawing a link from a
push button to the Close button of a window clearly defines the activity as closing a
window, and no code needs to be written. It's possible to develop simple applets
In other cases, you must write Java code to tell Parts just what the activity is. Ideally,
this enables Java to function entirely as a scripting language. In reality, the Java class
library isn't yet comprehensive enough. You have to create some of your own objects and
many of your methods from scratch.
Several Parts tools have a Smalltalk heritage. The Class Master, related to the
Smalltalk object browser, examines your class hierarchy, selects classes, examines methods
and produces code. It displays the code for the methods, so you can modify it easily.
The Workspace lets you monitor the build process and use debugging tools for break points,
compiling and running selected code, and inspecting variable and object content.
There are two wizards. The Component Wizard lets you easily derive your own classes from
the Java class library. The CORBA (Common Object Request Broker Architecture) Wizard is a
single location for linking up with an object request broker.
Parts for Java does not have its own Java compiler or virtual machine. Distribution comes
via the Java Developer's Kit, or you can install and use a third-party compiler. I tried
Symantec's Visual Cafe compiler and had no problems, but I did no benchmarking.
There's one discordant note in Parts for Java. It has a sophisticated interface to
CORBA-compliant object request brokers, which are starting to play an important role in
developing networked applications and object-based communications. This interface can
communicate with Iona Technologies' Orbix, Visigenic Software's Visibroker and the Java
Interface Definition Language ORBs. That covers most of the ORB market.
Conspicuously absent, however, is support for SunSoft's Java Beans and Microsoft's Common
Object Model (COM). Java Beans was designed to work with CORBA and COM, so support
probably exists, but there's no Java Beans development kit to test this yet.
The lack of support for COM is understandable because it demands Microsoft Windows
interfaces, but ignoring COM flies in the face of market wisdom. Sure, CORBA has wide
support outside Microsoft's sphere of influence, and ActiveX is Windows-only. But a
Windows-based development tool without COM support has a rough road ahead.
Overall, moving the Parts environment from Smalltalk to Java seems a natural step. The
languages are remarkably similar in philosophy and structure. Smalltalk looks like Pascal,
and Java looks like C.
Anyone who knows Smalltalk can be productive immediately in Parts for Java. If you don't
know Smalltalk, don't be scared off by its artificial intelligence heritage. Unlike
Symantec's Visual Cafe and Microsoft's Visual J++, which are programming environments that
primarily support coding, Parts for Java is an application development environment of
which coding is only a part.
If you're planning major application development with Java, look at Parts for Java. Anyone
willing to move beyond coding will find Parts a pleasant surprise. But if you think
application development and coding mean the same thing, Parts won't do much for you.
Peter D. Varhol is chairman of the graduate computer science department at Rivier
College in Nashua, N.H.