
Friday, January 30, 1998
Santa Cruz, CA
Object Modeling Tools for Borland and Visigenic Products
Are you designing enterprise applications? Are you building object-oriented applications and components?
Don't you think you should be modeling your objects and applications? What methodology should you use? These
are some of the questions I get asked by customers when I am travelling the world. Should everyone use a modeling
tool - yes. What methodology to use - there are many but I would use the Unified Modeling Language (UML).
In my June 16, 1996 Sip From the Firehose (SipFH) column titled
Object Modeling - Required
for all Object Oriented Development, I talked about UML
developed by the "Three Amigos" of Rational Software Corporation - Grady Booch,
James Rumbaugh, and Ivar Jacobsen. Last November, the Object Management
Group (OMG) adopted UML into its Object Management Architecture allowing architects
working on different platforms, languages, and object architectures to use one modeling
language.
Object Modeling Tools
I'm often asked which object modeling tools work with Borland products. The table
below contains a list of the tools that support Borland and Visigenic products. Please contact me if
there are other tool vendors that should be on the list.
Open Tools APIs
Tools, like the Object Modeling tools listed above, can easily be hooked into the Borland family
of products. An Open Tools API is available for Delphi, C++Builder and JBuilder. For Delphi and C++Builder (Professional,
Client/Server, and Enterprise editions), you will find the Open Tools API documentation in the Source/ToolsApi folder.
For the JBuilder Open Tools API (implemented via Java interfaces) contact the Developer Relations Department.
In general, the Open Tools APIs give you the interfaces, documentation and examples that show how you can add menu items to the environments, build custom
component and property editors, hook in to the project and build systems, create wizards, connect to external tools, and allow you to add other specialized
customizations to the environment. Each product supports its own set of APIs.
Delphi and C++Builder
The Delphi and C++Builder Open Tools APIs include the following capabilities:
| API | Description |
| dsgnintf | Property and Component editor interfaces |
| editintf | Program Editor interfaces |
| exptintf | Wizards interfaces |
| fileintf | Development Environment Virtual File System interfaces |
| istreams | Stream interfaces |
| toolintf | Menu and Tool interfaces |
| vcsintf | Version Control System interfaces |
JBuilder
JBuilder provides the support for building custom Add-ins, Wizards, Designers, and Custom Property Editors.
Addins interact with the various subsystems within JBuilder, such as the project manager, browser,
galleries, editor, Two-Way-tools, menus, and various designers. Addins might have no user
interface, or may just make adjustments to the JBuilder UI or environment. But most Addins
will present user interfaces. Addins can watch for certain sorts of events within the
JBuilder environment, and perform special operations on those events. Addins are versioned and checked so that
compatible Addins and Addin APIs are loaded.
Wizards can be designed to do almost anything
that can be done in JBuilder. Typically the perform some operation on the system, or on
all of the nodes, or the selected node, in the Navigator pane. The user interface for a wizard usually
involves the presentation of a series of dialogs. The last step for a wizard will perform some operation, normally
generating a project, project nodes, and source code. Designers are typically built
to manipulate the properties, events, and relationships between certain types of
subcomponents in the currently-selected class. Examples of designers in JBuilder include the UI designer and the
menu designer.
Addins can write to the status line, add menus and menu items onto the JBuilder environment, display
custom dialogs or frames. Wizards can send text to any text or HTML note in the project. Wizards
can also look at, create, and edit Jave source code in the project. JBuilder also includes a lightweight
framework that allows you to create multipage wizard dialogs. Designers can modify the Java source
code for the class that is being designed. JBuilder addins can access external tools and make calls to
native code using the Java native method support.
Go Forth and Model!
Object Modeling is an important part of building successful enterprise applications. Using one
of the tools, listed above, along with Borland Delphi, C++Builder, JBuilder, and Visigenic VisiBroker
will help ensure your development success.

davidi@inprise.com
|
Connect with Us