A Sip From The Firehose: Friday, January 30, 1998

By: David Intersimone

Abstract: Object Modeling Tools for Borland and Visigenic Products

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.

Borland ProductModeling ToolVendor
DelphiObjectTeamCayenne Software
PLATINUM Paradigm Plus/Enterprise EditionPLATINUM technology, Inc.
RoseBold for Delphi LinkBoldSoft AB
Rose Delphi LinkThe DSW Group, Ltd.
Rose Delphi LinkEnsemble Systems Inc.
Select EnterpriseSELECT Software Tools
SilverrunSilverrun Technologies, Inc.
Simply ObjectsAdaptive Arts Pty Limited
System ArchitectPopkin Software and Systems, Inc
Together/ProfessionalObject International
WinA&D DeveloperExcel Software
WithClassMicroGold Software Inc.
C++BuilderPLATINUM Paradigm Plus/Enterprise EditionPLATINUM technology, Inc.
Select EnterpriseSELECT Software Tools
Simply ObjectsAdaptive Arts Pty Limited
System ArchitectPopkin Software and Systems, Inc
Together/ProfessionalObject International
WinA&D DeveloperExcel Software
JBuilderRose JBuilder LinkThe DSW Group, Ltd.
Simply ObjectsAdaptive Arts Pty Limited
System ArchitectPopkin Software and Systems, Inc
Together/JObject International
VisiBroker/CORBAPLATINUM Paradigm Plus/Enterprise Edition PLATINUM technology, Inc.
SilverGen for VisiBrokerSR Gen Pte Ltd.

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:
dsgnintfProperty and Component editor interfaces
editintfProgram Editor interfaces
exptintfWizards interfaces
fileintfDevelopment Environment Virtual File System interfaces
istreamsStream interfaces
toolintfMenu and Tool interfaces
vcsintfVersion Control System interfaces


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.

David Intersimone

Server Response from: ETNASC03