[ Go to August 1997 Table of Contents ]|
-- by Martin Heller and Amy Helen Johnson
When choosing a set of enterprise development tools, it's wise to avoid pledging allegiance to any one vendor. In our evaluation of the offerings from three major vendors of client/server programming tools, no one set satisfied all needs. Each company-Borland International, Microsoft Corp. and Sybase's Powersoft division-targets a slightly different audience and packages its products differently, creating bundles of languages, development environments, SQL engines and database design tools with varying strengths and weaknesses. To give your programming teams the maximum power and functionality they need to build mission-critical applications, you may have to augment your favorite suite with carefully chosen third-party tools.
The three toolsets we reviewed-Borland's Golden Gate Strategy, Microsoft's Visual Studio 97, Enterprise Edition, and the Powersoft Tools Family-provide plenty of components that you can combine into your perfect toolset. Unlike single-user versions of integrated development environments (IDEs), commonly marketed as professional versions, the enterprise or client/server versions of IDEs come bundled with the design tools, repositories and utilities necessary to accommodate multiprogrammer teams and database-centric applications. In this review we'll focus on these additional components. We'll also take a brief look at the IDEs themselves and tell you where to find detailed information (see sidebar "The Key to IDEs")
The main way enterprise toolsets differ from standalone IDEs is that they provide software packages for coordinating programming teams, designing and partitioning multi-tier applications, creating and debugging a database design, and running a database engine. Our testing focused on the first three attributes of client/server tools; we eschewed evaluating the bundled database because it is often a design-time database, and many companies already have a production database to tap. Here's what we looked for in each of our three evaluation areas.
Team programming: We focused on the toolset's integrated source code control system and object repository.
When many developers work on a single project, some protocol is necessary to avoid having one developer's changes overwritten by another developer's. What's needed is a source code control module that enforces check-in, check-out and locking rules, as well as merges different versions of a file into a single unit that preserves all modifications.
An object repository is a system that holds components intended to be shared and reused. It allows groups to take advantage of one programmer's existing work and to avoid reinventing the wheel. The team can share plumbing like utility libraries and standard company forms. Companies that successfully reuse a large percentage of their software have a much lower overall development cost than companies that don't.
Multi-tier development tools: Three-tier applications are the new paradigm in client/server programming. By breaking the code into segments with discrete scope-client, server and application logic-a multi-tiered application can enjoy the benefits of speedier execution, easier debugging and the ability to run in a distributed architecture. Enterprise development software supports multi-tier development with multi-tier design tools, object brokering and application-partitioning services.
Database design: In the enterprise, database queries are often the backbone of applications; tools for quickly and easily building efficient databases and database queries are invaluable.
Because of the interpreted nature of SQL, applications can often be sped up dramatically by using stored procedures, a piece of SQL code that has been optimized, processed into native database code and stored in the database itself. If stored procedures are a big part of your application, tools for writing and debugging them are important.
The three enterprise packages we reviewed fulfilled, to a greater or lesser extent, all three of these needs. Microsoft Visual Studio 97 is the only toolset able to debug stored SQL procedures. Powersoft's products have the best overall database support. None of these vendors offers a good, centrally managed object repository of appropriate scale for a large enterprise, although most offer some sort of mechanism for code reuse. However, we can't recommend one package as the absolute best. The question of the best solution depends on the requirements of the application being built, and the skills and preferences of the team building it.
Borland Golden Gate Strategy
Although Borland groups its enterprise offerings under the rubric Golden Gate Strategy, it sells the IDEs individually. Borland produces three product suites, each centering on a different language: Delphi 3 Client/Server Suite, C++ Builder Client/Server Suite and IntraBuilder Client/Server. The company is working on a Java flavor, JBuilder, that may come in a similar package.
The Delphi and C++ Builder suites include an integrated Object Repository, the Borland Database Engine and the client/server database InterBase 4.2. Completing these suites are the database maintenance, data definition and query-building tool Database Desktop; a hierarchical Database Explorer; a Data Migration Wizard; and the Distributed Component Object Model (DCOM) management tool OLEnterprise. For Delphi, Borland offers an optional object broker, Entera.
Borland's team programming utilities are unexceptional, with their major flaw being that they are file-based instead of using a more flexible database for the repository. In addition, the team tools only exist for Delphi and C++ Builder; IntraBuilder has neither version control nor a repository, making it necessary to adopt a third-party product for those tasks. In Delphi and C++ Builder, the widely used PVCS Version Manager provides revision control within projects. PVCS is a conventional file-based version control system licensed from and supported by Intersolv. The file-based repository is basically a text file holding references to forms, dialogs, data modules or whole applications that you'd like to share and reuse.
If you don't mind paying extra, the multi-tier development tools that Borland sells are the best of the bunch. A full-blown object broker, Entera is a strong piece of software that will serve the needs of any size team. The bundled tools work well, too. For example, IntraBuilder does some automatic partitioning of processes among the Web server and alternate servers. OLEnterprise is more of a management tool for DCOM than a true development utility, but it's worthwhile nonetheless because it will handle some of the organizational headaches that accompany distributed applications.
The database design tools are aging and are better suited to working with desktop databases than enterprise SQL engines. The aptly named Database Desktop lets you work with Paradox, dBASE and SQL databases-viewing them, editing their data, restructuring them and constructing queries by example. Borland's SQL Explorer works with database definitions hierarchically.
Microsoft Visual Studio 97, Enterprise Edition
Visual Studio 97 supplies all of Microsoft's language offerings-Visual C++ 5.0 Enterprise Edition, Visual J++ 1.1, Visual Basic 5.0 Enterprise Edition, Visual FoxPro 5.0, Visual Modeler 1.0 and Visual InterDev 1.0. Microsoft also includes Visual SourceSafe 5.0 for version control and Microsoft Transaction Server 1.0 Developer Edition for transaction processing. Supplying the bundled database capabilities are the client/server database Microsoft SQL Server 6.5 Developer Edition, SQL Query Designer and Database Designer. You can build distributed applications using either DCOM or Remote Automation. Having all those tools in one package is both good and bad: You gain lots of functionality, but it's scattered across many programs and requires an enormous amount of disk space and learning time.
Microsoft supplies the best set of team programming tools, anchored by the Visual SourceSafe source code control system. Several things make Visual SourceSafe unusual: It manages projects as well as source code files; it keeps its information in a proprietary object database; it maintains a single shared copy of files used in multiple projects; and it has a number of features that support Web content management. Visual SourceSafe integrates with the languages in Visual Studio for seamless operation.
Visual SourceSafe can be said to act as a repository, in that it can contain and share objects, but it's not a full-bodied solution. Fortunately, Microsoft has another repository, built into Visual Basic, but the other Microsoft languages don't yet integrate with it. But if you're working primarily with VB, the VB repository will serve you well. It's implemented as an ActiveX automation object that manages an object-oriented database, plus a VB add-in that automatically maintains VB project information in the repository. Information in the repository maintained by VB follows the Microsoft Development Object (MDO) model, but developers can extend the repository with other tool information models. For instance, Visual Modeler is able to export and import its Unified Modeling Language models to and from the VB repository.
The multi-tier tools in Visual Studio are halfway there. Again, most of the capabilities work best with VB. VB has its own multi-tier application design tool, Visual Modeler, that works with the two mechanisms VB uses for multi-tier distributed applications: Remote Automation and DCOM. Most of the other Microsoft IDEs just use DCOM. One hole: Microsoft doesn't automate the partitioning, at least not yet-there's no object broker.
Visual Studio contains good tools for database design but spreads them out among several different programs. Database Designer gives you the important modeling capabilities, letting you view and edit a database schema as an Entity-Relationship diagram using, for example, an Access database or a development copy of SQL Server. SQL Query Designer lets you construct queries via an easy visual interface. Although a welcome addition for advanced database programming, the T-SQL Debugger, for debugging stored procedures, is severely limited in scope, working only with Microsoft SQL Server 6.5 and above; no other database vendors have adopted Microsoft's debugging hooks.
Powersoft Tools Family
All three of Powersoft's enterprise offerings-PowerBuilder 5.0, Power++ and PowerJ-share common tools: the client/server database Sybase SQL Anywhere, the InfoMaker reporting tool and data assistant, the ObjectCycle version-control system, and the DataWindow Builder, a versatile database query and manipulation tool. Powersoft also offers an object-oriented design product, PowerDesigner, which is not bundled with any of its other products.
PowerBuilder, essentially a database-oriented rapid application development (RAD) system, has additional database design, editing, query, display and manipulation tools built into its main integrated environment. PowerBuilder has its own distributed computing objects built on sockets and named pipes; it doesn't require DCOM for application partitioning. However, it does support OLE automation, so it will work with DCOM.
Flexibility is the key characteristic of Powersoft's team programming facilities. ObjectCycle is a client/server version-control and deployment system that uses a relational database (by default, Sybase SQL Anywhere) to store its information. If ObjectCycle isn't sufficient, Power++ and PowerJ support several other popular version-control systems. PowerBuilder has native source management from its Library Painter window in addition to tight integration with ObjectCycle. It also supports several third-party version-control systems-although not exactly the same ones supported by Power++ and PowerJ, which makes it more difficult to create a cohesive toolset that allows you to work with several Powersoft IDEs. All three development environments can add user-built objects to their palettes.
The multi-tier development tools need updating. PowerBuilder has its own distributed application support based on distributed computing objects, using sockets and named pipes for a transport and supporting OLE automation. Supporting DCOM or CORBA would bring it more into the mainstream. There isn't a specific object broker; Powersoft should add one.
Powersoft shines in the area of database programming. DataWindows are state of the art, providing an easy, flexible way to build database views and reports, and even graphs and QBEs. Powersoft's Data Pipelines move data around, and Query Builder simplifies building SQL for those cases where DataWindows are inappropriate. InfoMaker is a fast, flexible, easy report generator, based on DataWindows and Data Pipelines. The only glitch is in database design. Only PowerBuilder's database and table painters offer the full range of desired capabilities; in Power++ and PowerJ, these painters are available from the DataWindow Builder, which appears only to edit DataWindow objects added to a form.
Our evaluation revealed some general patterns among the three products we reviewed. First, each vendor has its own definition of an enterprise toolset, so one vendor's bundled software will not always compare on a one-to-one basis with that in another package. Second, with the advent of heterogeneous environments, programming tools have become highly specialized, focusing on particular aspects of an application, like the database, components or Web pages. Third, while big enterprise development packages are a convenience, ultimately you'll want to mix and match tools until you have exactly what you need. Fourth, you can also opt for third-party software if it's appropriate for your purposes-for instance, you can do database design quite nicely in Microsoft Access and source code control effectively with Revision Control System.
With each suite displaying varying sets of tools and varying strengths and weaknesses, no one bundle emerges as the overall best. Each has its niche. Borland excels at multi-tier development, Microsoft's team programming tools are superb, and Powersoft wins in database design. Ultimately, finding the right tool for the job always depends on the nature of the job.
How can you make an interactive Web application run on all browsers? It's not easy, but the guiding principle is to run as much of the application as possible on the server. Usually, that means writing CGI programs or scripts using Perl, C, C++, Delphi, Java, Tcl or a number of other languages.
CGI scripts are the mainstay of most sites on the Web today. However, they often slow down a Web server. Microsoft's Internet Server application programming interface (ISAPI), Netscape's Netscape Server API (NSAPI) and O'Reilly & Associates' WebSite API (WSAPI) offer alternatives to CGI scripts that scale better by using a thread per client instead of a process per client. That works well, but all of these APIs require considerable expertise on the part of the developer.
For many programmers, settling on a computer language for a project is like buying a car-it's a personal choice that reflects likes, dislikes and style. Still, there are some languages that, due to their capabilities, are better choices for certain projects than others. Sometimes, one is not enough, and a project may actually use several IDEs during the course of development.
In past issues we've published WinLab reviews of almost all the IDEs included in these packages of enterprise development tools. Here we tell you where to find the full reviews and give you a brief summary of their conclusions. For those development environments that we haven't previously reviewed, we recently evaluated them and give our conclusions here as well. -Amy Helen Johnson
Borland: Delphi 3
When Originally Reviewed/WinList: 6/97
Bottom Line: A stunning RAD environment, superior features for building ActiveX controls and Web-centric applications, and intelligent code-completion hints make it a programmer's dream IDE. Major flaw is that Web forms and Windows forms are incompatible.
Borland: IntraBuilder 1.0
When Originally Reviewed/WinList: 1/97
Borland: C++ Builder
When Originally Reviewed/WinList: 4/97
Bottom Line: An elegant visual design environment provides drag-and-drop development ease. A savvy compiler allows you to use both C++ and Delphi source code in the same application. Although you don't have to handwrite a lot of code, what you do write has a lot of pointers.
Microsoft: Visual C++ 5.0
When Originally Reviewed/WinList: 7/97
Bottom Line: Wizards, a template library, language extensions and improved tools dramatically ease the process of creating ActiveX controls and COM objects. The compiler optimizes efficiently, producing small executables. Microsoft-specific extensions to C++ and a poor RAD environment are weak spots.
Microsoft: Visual J++ 1.1
When Originally Reviewed/WinList: 1/97, 6/97
Bottom Line: This robust Java programming environment for 32-bit Windows platforms is best suited to experienced programmers. It offers good editing, browsing and debugging tools, but lacks support for drag-and-drop visual programming and for Java Beans.
Microsoft: Visual Basic 5.0
When Originally Reviewed/WinList: 5/97
Bottom Line: A native code compiler gives VB applications the zip they previously lacked. Wizards supply ease-of-use and rapid-development features. It builds Active Documents, ActiveX executables, DLLs and controls, but has dropped support for 16-bit applications.
Microsoft: Visual FoxPro 5.0
When Originally Reviewed/WinList:
Bottom Line: ActiveX support allows FoxPro database applications to be incorporated into multi-tier client/server architectures and to provide database services to Web servers. It works well as a way to visually develop multi-user applications for a local FoxPro database or front ends to client/server databases.
Microsoft: Visual InterDev 1.0
When Originally Reviewed/WinList:
Bottom Line: Microsoft chose to use wizards instead of creating a true visual design environment. The wizards can do only so much, so expect to edit code. It supports HTML, JScript, VBScript, Java and ActiveX. Deployment is limited to NT running IIS.
Microsoft: Visual Modeler 1.0
When Originally Reviewed/WinList:
Bottom Line: A good entry point into object-oriented design for VB programmers, it emphasizes a three-tiered design model, creates class diagrams in Unified Modeling Language (UML) and generates Visual Basic. It also reverse-engineers models from existing VB code.
Sybase: PowerBuilder 5.0
When Originally Reviewed/WinList: 9/96
Bottom Line: An incremental bytecode compiler and code reuse through inheritance speed up the edit-debug-compile cycle, while native code compilation speeds up the performance of the final application. Platform independence, database smarts and ActiveX support round out the package.
Sybase: Power++ 2.0 (formerly named Optima++)
When Originally Reviewed/WinList: N/A
Bottom Line: A highly regarded optimizing compiler is the star of this component-based C++ visual programming environment. Included are support for both native components and ActiveX controls; Internet components; and toolbar and gauge components. Power++ also has a toolbar editor and performs revision control.
When Originally Reviewed/WinList: N/A
Bottom Line: What this Java IDE lacks in visual ease of use, it makes up for in power, excellent help and class-reference systems, templates and a wealth of small conveniences. It supports full-duplex (FDX), Java Database Connectivity (JDBC), Internet connectivity, ActiveX and Java Beans.
Borland Golden Gate Strategy
Bottom Line: All of these Borland IDEs are on the WinList; any one is a good choice
Price: $1,999 each for Delphi 3 Client/Server Suite, C++ Builder Client/Server Suite or IntraBuilder Client/Server
Pros: Easy-to-use, high-performance development tools; object broker available
Cons: Some of the database development tools need work
Borland International, 800-233-2444, 408-431-1000. Winfo #622
Microsoft Visual Studio 97, Enterprise Edition
Bottom Line: A bargain if you need more than one development tool and have plenty of disk space
Price: $1,499 bundle includes Visual C++ 5.0 Enterprise Edition, Visual J++ 1.1, Visual Basic 5.0 Enterprise Edition, Visual FoxPro 5.0, Visual Modeler 1.0 and Visual InterDev 1.0
Pros: Lots of functionality; many excellent tools
Cons: An overwhelming collection with huge resource requirements and a long learning curve
Microsoft Corp., 800-426-9400, 206-822-8080. Winfo #623
Powersoft Tools Family
Bottom Line: Tops for database work, but you probably don't want more than one of these
Price: PowerBuilder 5.0 Enterprise, $2,995; Power++ Enterprise, $1,999; PowerJ Enterprise, packaging and pricing not yet set
Pros: DataWindows and other database-oriented features; PowerBuilder supports multi-tier directly
Cons: Power++ and PowerJ don't support multi-tier in the same way as PowerBuilder
Sybase, 800-395-3525, 508-287-1500.Winfo #624
95 and NT Supported on all products