Client/Server Computing in 1994

The New Generation of C/S Development Tools

Conceptual Overview

Client/Server: Today and Tomorrow

The purpose of this overview is to identify many of the key trends in client/server computing. The term client/server itself can have a broad variety of meanings. I will restrict its usage as follows. Client/serve computing refers to computing in a distributed, local or wide area network environment. The term client/server is typically used to refer to a physical environment consisting of a workstation that accesses relational and/or non-relational databases residing on a server or mainframe via SQL or other means.

Typically the workstation is a DOS machine utilizing the MS-Windows GUI. However other GUI environments such as Macintosh, OS/2 Presentation Manager, OPENLOOK and MOTIF are also widely used when looked at as a whole.

Today's leading Relational database management system vendors include Sybase, Oracle and Informix. Oracle's greatest strength since its introduction is its portability across multiple operating environments, including VAX/VMS, over 30 versions of UNIX, Data General, Novell, OS/2, etc. Another Oracle strength is significant third party support. Also with the release of Version 7.0 Oracle has begun to address true distributed processing, i.e., transparent access to data residing on multiple remote or local systems and/or platforms. Further, Oracle offers strong support for symmetric multiprocessing and massively parallel processing. Sybase is Oracle's closest rival and has traditionally been a technological leader. In the mid-range UNIX environment, Sybase offers native support for symmetrical multi-processing systems. Their Open Client/Open Server API provides support for client access across multiple protocols to a variety of non-Sybase RDBMS's. SQL Server was the first to support stored procedures and triggers. Transact SQL supports scrollable cursors and has been recently updated to provide true declarative referential integrity. Previously this was implemented through stored procedures and triggers.

Legacy non-relational databases are still very much in use today. They breakdown into three types: (1) File Management System; (2) Hierarchical and (3) Network. Though often complex and relatively inflexible, such databases can be fast and efficient performers. Examples of such mainframe databases in use today include IMS and IDMS.

Given the above definition of client/server one of the most crucial questions is to ascertain whether it is a fad and what are the full implications of the technology. First, client/server (C/S) computing is not a fad. This is because C/S is the technological manifestation of two significant trends in business: Total Quality Management (TQM) and Business Process Reengineering (BPR). Both trends have been accentuated by thinning profit margins for big business and rapidly shortening business cycles. To put it simply, business must be leaner, meaner and more committed to quality. The end user must be empowered to make critical business decisions, thus eliminating the need for corporate bureaucracies and their associated overhead. The key to success of client/server/distributed computing is the technology's ability, if properly employed to allow MIS departments to rethink their IS structures along BPR lines and respond rapidly to change. Old style COBOL mainframe based applications, by lumping every aspect of the program into one, horizontal, tightly integrated architecture, are difficult to change, difficult to get decision support information out of and very costly to maintain.

The last paragraph and the one before it make two very important points. Because of expense and heavy reliance, mainframe applications and their associated databases will be with us for a long time. Further, mainframes still excel in certain areas such as business rule/processing functions. During the transition period away from the mainframe, it is important that its data be made readily accessible for real time or decision support needs. Today's leading C/S development environments provide connectivity to the middleware required to do this.

Second, improvements in hardware and database technology will allow business to cost effectively reengineer their IS structures and applications along client/server lines. Since the benefits of C/S technology are integral to the business function, eventually all or most business applications will leave the mainframe. The mainframe itself will either be totally replaced or be nothing more than a data server.

Client/server technology is undergoing extremely rapid evolution. Only a couple of years ago, it was considered experimental in many corporations. Slowly, but surely companies have been building increasingly larger, more sophisticated applications as their confidence level and expertise grow. Applications are moving from being of a decision support nature to mission critical (OLTP and Non-OLTP). Today the overall market is reaching a kind of maturation. In the next 5 years corporations will apply object oriented business process analysis to break down their key functions and business rules. Applications will be designed that are granular, modular, and highly object oriented. MIS departments are gearing up to redesign their enterprise wide applications from the ground up along client/server lines. In fact, they are planning for IS structures that are ahead of today's current technology. Further, they expect their C/S development environments to be closely integrated with their CASE tool and repository environments. CASE tools are far from dead. Besides design and analysis functions (particularly at the database modeling level), CASE Tools provide absolutely essential repository functions.

Today's C/S product offerings easily address the client/server needs at the departmental level. They are just beginning to address them at the enterprise level. Later, two new second generation C/S application development environments will be reviewed that make the first attempt to address enterprise client/server needs.

The opposite spectrum of the market from the enterprise, the so-called end user market, is extremely crowded. Powersoft, Borland, Microsoft (Access) and a plethora of others have products that address this segment.


Application Architecture and GUI Design Environments

Application Architecture

Today's software is being designed in three distinct application layers:

bullet Desktop Application (GUI design)
bullet Business rules processes (sometimes placed in the database layer as stored procedures)
bullet Database Management

The key for today's developer is to clearly separate the layers so that changes to one of the objects in a layer, will have minimal impact on the other objects within that layer as well as objects in the other layers.. For example, within the business process layer, object orientation is important. A "Shipping" object (process), interacts with a "Billing" object. If the company should change shipping rules and procedures than the "shipping" object can be modified and will ideally not effect the function or design of the Billing object or for that matter other objects/processes it may interact with such as order entry, credit approval or inventory allocation. The key result is that applications can be modified quickly to address rapidly shortening business cycles.

At the desktop level, a window environment is essential to most end user functions. Typically some kind of design tool is used to develop the application's GUI/desktop environment. It is estimated by some that 60% of the development effort is used in building the GUI interface itself!.

The GUI Design/Application Development Environment Tool (ADE)

GUI /Application Builders obviously need to offer RAD (Rapid Application Development). However, in today's environment they need to do much more. GUI/Application Builders allow developers to standardize the look and feel of a GUI interface throughout a business or enterprise (repository controls, object inheritance functions, on-line style guides, etc.). Tools are needed to help plan the event driven sequence of forms, popups and messages that occur as users explore and navigate the GUI environment. Further, design tools are needed to develop applications that exchange data and interoperate. Microsoft's answer to this integrating function, for example, is OLE 2.0 and its office automation features. It is also important that the GUI designer enable both the developer and/or user (may be one and the same) to rapidly prototype the application. Ideally, the end user will have access to a program that will enable him to build his own forms that may be incorporated into a full blown application. Gupta (Quest) and Powersoft (PowerMaker) already have products to accomplish this. Ideally the GUI should handle all the data types allowed by the database, including full motion video, BLOBS, etc.

The GUI/Application Builder needs to use a business oriented, easy to use 4 GL programming or script language. Today, though the majority of vendor off the shelf applications are written in C or C++- the majority of business applications written by corporate IS departments are not written in C. C or C++ is still considered difficult to use by many experienced business programmers. Powersoft and Gupta both use proprietary scripting languages. In the case of Powersoft, they use p-code, with resultant decrease in performance as compared to compiled C code. The same applies to Gupta. For example, a Carnegie Technology Group Study dated January 5, 1994, shows both Gupta and Powersoft's programs significantly slower than ObjectView (itself a 4GL using a proprietary scripting language). The Carnegie Study benchmarked windowing, interpreter and SQL access speed. Dynasty and Forte, two leading second generation products, however, while having their own 4 GL scripting language, generate ANSI C and/or C++ code for optimal speed.

A requirement for enterprise-wide development is that the GUI builder generate a portable GUI interface in a variety of different GUI environments such as Motif, Windows and OS/2 Presentation Manager. Neither Powersoft nor Gupta have this capability yet, though Powersoft is expected to have multi-GUI capability before the end of the year. Dynasty, utilizing technology from Neuron Data has this capability and does it quite well. Forte' also has multi GUI support, including drag and drop functionality.

Another requirement for a GUI design/application builder is that it effectively "puts all the pieces together." It is beyond the capabilities of almost all developers or end users to, for example:

bullet Write their own ODBC drivers
bullet Provide their own security, locking and transaction monitoring services in a heterogeneous three tiered UNIX environment
bullet Develop their own TCP/IP drivers
bullet Write extensions to the Novell operating environment and messaging environments such as MAPI, Lotus Notes, etc.

It is the responsibility of the GUI design/application development environment to either support these functions or provide interfaces to third party vendors that perform the required services. Powersoft has taken the third party approach with much success. Dynasty, since they address the enterprise level need has embedded three communications options within their environment: normal, intra-machine (DDE) and most significantly remote procedure call (RPC). Working with vendors such as Netwise RPC, Dynasty developers can easily generate C code that enables RPC calls to remote servers. Forte' has broad middleware support for DCE/DME, Object Request Brokers and various TP monitors. Forte' also offers integration with multiple data input devices. Further it can actually wrapper Legacy systems to enable control access to the legacy application.

Another important feature for the GUI design builder is the ability to implement application partitioning. This is particularly important in the enterprise wide environment. Dynasty and Forte', for example, provide the ability to move objects, methods and process models between machines and build the underlying communications support automatically. Neither Gupta nor Powersoft has this capability. Forte' also offers decoupled development, adjustable partitioning and configuration independence.

Still another requirement for an application development environment/design tool is an open API that allows third party tools to easily integrate and move information in and out of the environment. Powersoft, has done an excellent job at this. They have worked closely with PVCS/Intersolv and LBMS, two CASE tool vendors to integrate repository and other functions. An open API can also help in the design of third party application code testing tools. This is very important in a C/S environment where there are so many pieces to the performance puzzle.

Another key feature of a GUI design environment is object orientation, including inheritance, encapsulation and polymorphism. Object orientation helps reduce development time by encouraging reuse of code. Further, in the case of a GUI builder, it makes it easier to enforce GUI standards across an organization. Closely related with enforcement of standards is the presence of a repository. A repository is essential for implementing version control, for tracking changes to software, check in and check out functions, monitoring developer actions and productivity, etc.. Even in a small teamwork environment, repository based functions are very useful. In a large development environment they are essential. Gupta has a very strong repository function and good object orientation. The same can be said for PowerBuilder when joined to PVCS, LBMS, etc. Repository storage of the entire application, both data and procedures, is key if a GUI builder/4GL is truly to be considered an integrated development environment.

Another key feature of GUI Builders/Design Tools is scalability. Powersoft has done a very nice job of this with the introduction of PowerBuilder Desktop, PowerViewer (Report Writer/Query) and PowerMaker (Report Writer/Query tool and forms generator). Gupta with its Quest Tool has also done well in this area. In any case, end user/reporting and query tools are essential parts of the corporate C/S environment. Integration of Visual SQL to for example, Crystal Services API and print DLL, would allow Crystal user reports to be incorporated into full blown Visual SQL applications and provide a necessary tool for developers who need to incorporate reports in their Visual SQL C/S applications. Scalability also means, for example, the ability to join tables on local databases such as FoxPro and Access with an Oracle table residing on a remote server.

Another important function that relates to the GUI Builders capabilities and target market is training and support. Large corporations and their MIS departments are accustomed to handholding by mainframe/mini vendors such as IBM, Sequent and Hewlett Packard. They devote a significant portion of their IS budgets to training, support and maintenance services.

Finally, though the cost of development tools is a consideration in their selection, far more important is whether the tool will do the job. Though some C/S implementations have yielded immediate cost savings , typically such savings are perceived as a long term end result. The paramount question is whether the tool will allow the IS Department to be responsive to the rapidly changing business survival needs of the corporation..


Market Segmentation and Analysis


End Users, Products and Applications


Market Segmentation

The C/S market can be segmented by (1) Product Type (2) Application Type and (3) End User Type.

With respect to Product Type:

bullet Database Management Systems
bullet Middleware
bullet Enterprise Management
bullet Database Design and Modeling, such as CASE Tools
bullet Applications Development: :This includes 4GLs, front end tools, report writers and query builders.
bullet Tools and Utilities

This report will obviously focus on Application development tools, however middleware is also extremely important.

With respect to Application Type:

bullet Read-only/ad hoc query
bullet Decision Support
bullet Non-mission critical OLTP (On-line Transaction Processing)
bullet Mission Critical OLTP)

With respect to Application Type:

bullet Low End (Single User, small workgroup)
bullet Mid (Department wide)
bullet High End (Enterprise wide)

With respect to End User

bullet Software developer of off the shelf applications
bullet Corporate software developer/consultant
bullet Government/military software developer/consultant
bullet End user developer/consultant (Example: Excel macro programming, Word Basic, etc.)
bullet End user categories (1), (2), (3) and (4) can also be further subclassed by programming language and operating environment

I will make reference to these different market segments throughout this report. Each segment has unique concerns and needs. Further, in most development environments or companies all of the various product, application and end user types will need to be integrated. Indeed, a key determinant for success in the C/S market is the ability of the Application Development Environment to integrate and/or satisfy the needs of all segments and segment types.

Major Players

The enclosed spreadsheet entitled: "Target Market Analysis: Visual SQL: ISV, identifies many of the key players in the client/server market. It breaks them down by product type. For the purpose of this report, I will only focus on a few of the key players. These include:

RDBMS: Oracle and Sybase

GUI Builder: Powersoft, Gupta, Microsoft, Forte' and Dynasty

CASE: LBMS and PVCS/Intersolv

Middleware: Transarc, CrossAccess, Information Builders, Sybase, Microsoft; Q+E software

Report Writers: Crystal Services

Of these major product classes, I will concentrate on GUI/4GL environments and the following specific products:

Product GUI Market Share

PowerBuilder, Enterprise Edition 44%

SQLWindows, Team Windows 9%

Visual Basic 3.0 Professional Edition 19%

Dynasty <1%

Forte' <1%

Market Share information was obtained from the SoundView Financial Group. I have selected these products because each company exhibits a high degree of marketing and/or technical excellence.

Analysis of Key Players

I will analyze the key players identified above using one or more of the following criteria:

bullet Market Positioning
bullet Market Alliances
bullet Market Share
bullet Pricing
bullet Product features
bullet Future Product Direction
bullet Key market segments
bullet Development alliances and third party support
bullet Training and Support policies
bullet Third Party Products that they integrate with



PowerBuilder 3.0A: The Industry Leader


Powersoft's growth has been explosive. Powersoft is a publicly traded company on the OTC. It currently trades at a P/E of 75 and its stock has risen 300% in the last year !. In 1991 it lost 36 cents per share. In 1992 it earned 41 cents per share and had sales of 21 million. In 1993 it earned an estimated 77 cents per share on sales of about 50 million. In 1994, the company hopes to duplicate or improve upon last years growth, becoming a 100 million dollar company.

Powersoft's has experienced growing pains. Their support lines, for example, have long waiting periods. Their product, being one of the earliest of the recognized C/S development products, has had its share of problems. Their current release is 3.0A.

Powersoft has grown because they had the foresight and luck to position themselves early (1990-1991) as a key player in the Window's C/S market. Further, they have continued to solidify this position with:

bullet Good customer support that is recognized by business. According to a recent BRG Study, 2% of their respondents indicated that Powersoft provided the best service and support for C/S tools. This compares to 2% for DEC, 1% for Informix and 3% for Sun, 3% for Novell, etc. Though Powersoft's needs to grow their support staff to retain industry leadership, this is still an impressive percentage.
bullet Brilliant marketing strategies and alliances. Early on they recognized the importance of partnering in a technologically complex age where no one vendor has access and expertise in all key markets. In addition to striking marketing alliances with major RDBMS vendors and various CODE Partners, Powersoft also sells directly to a variety of third party consulting/system integration firms such as Grant Thorton, Ernst and Young, etc. Powersoft has also entered the mass retail channel to market PowerViewer, PoweMaker and PowerBuilder Desktop. CompUSA, for example, stocks their products.
bullet Database independence
bullet A Strong emphasis on third party development alliances through their CODE program (Client/Server Open Development Environment). Powersoft has a series of libraries, tool kits, external function calls, custom objects and interfaces to support a variety of databases, hosts, Novell, MAPI, CASE Tools, testing tools, etc.
bullet A successful CODE program. So successful that the CODE partners themselves have not only made PowerBuilder a much better product for the end user, they have greatly contributed to PowerBuilders already strong market/product momentum. Beyond the CODE program, the list of third party support vendors who provide add ons or links to PB is staggering. These include:
bullet All the major DBMS vendors
bullet Middleware vendors such as Attachmate, DCA, Netwise, MicroDecisionWare, Information Builders, The Frustrum Group, DEC, Wall Data, Computer Associates, Rochester Software, etc.
bullet CASE Tools from such vendors as: Bachman, Chen & Associates, Ernst & Young, Intersolv, LBMS, LogicWorks and Popkin
bullet Software testing tools from: Softbridge, Software Quality Automation
bullet Version Control: PVCS, Legent Corporation
bullet Miscellaneous: Software Integration Consulting Group: A set of custom controls; AJJA Information Technology: a package of standards, procedures, guidelines and object libraries; The list goes on.
bullet A Strong company direction into the future that includes:
bullet Multi-GUI compatibility (though apparently not at the superset level).
bullet Acquisition of companies such as Watcom to improve their programming/technical base as well as position themselves as a player in the RDBMS market
bullet Links to high end imaging and document management products
bullet Support for DCE and enterprise wide computing (so called three tier architecture)
bullet Concentration on all segments of the market through Common Object Technology and Scalable tools. Powersoft divides the end user market into: (1) IS (2) Power User and (3) End User. Each "segment" will use a product designed or scaled to their needs and yet be able to share objects throughout the enterprise workplace. The end user will use PowerViewer. The power user will use PowerMaker or PowerBuilder Desktop and IS will use PowerBuilder/Enterprise edition.
bullet A growing technical customer support base that includes:
bullet FAXBack
bullet BBS Service
bullet Compuserve access
bullet CD-ROM updates and service
bullet On-site and classroom training, including PowerStart and PowerPilot
bullet Use of system engineers assigned to an account
bullet Telephone/Hotline Support
bullet Consulting Services that cover:
bullet Application Design
bullet Project Review
bullet Performance Tuning
bullet Problem Solving
bullet Multi-Day Startup packages
bullet PowerBuilder Utility Product

Another important thing to note about Powersoft's technical support services is that they charge for it through on-going subscription agreements, course registrations and consulting contracts. Thus, technical support has become a profitable revenue center in and of itself.

Powersoft Product and Support Pricing

PowerBuilder Enterprise 3.0 which includes:

bullet PB 3.0A Development Environment (including all the various painters, including Application, Window, Menu, DataWindow, Structure, Preferences, Query, Database, Functions, Library, Reporting, etc.
bullet ODBC Database Development and Deployment Kit. ODBC drivers are from both Q+E and Microsoft. Q+E drivers include: Btrieve, Clipper, Dbase, Paradox and Netware Sql. Microsoft drivers include: ASCII, Access, Dbase, Excel, FoxPro and Paradox for DOS
bullet Enhanced Database Kit (All Native Drivers, including: Allbase/SQL, Database Manager for DB2/2, Informix, MicroDecisionware and Gateway interface for DB2, ORACLE, SQL Server, SQLBase, Sybase Net-Gateway for DB2 and XDB)
bullet All Version Control Interfaces, including PVCS
bullet Open Library API (CODE Product Integration)
bullet PowerBuilder Application Library
bullet PowerBuilder Developer Toolkit

Watcom Image Editor $3,395

PowerBuilder Enterprise 3.0 Upgrade Subscription: $615

PowerBuilder Enterprise 2.0 to 3.0A Upgrade Kit: $795

PowerBuilder Desktop 3.0 which includes:

bullet PowerBuilder 3.0A Development Environment

Desktop ODBC Database Development Kit $695

PowerBuilder Team/ODBC Kit

bullet ODBC Database Development and Deployment Kit
bullet All Version Control Interfaces
bullet Open Library API $695

PowerBuilder Enhanced Database Kit

Includes all native database drivers and requires Team/ODBC Kit $1,595

PowerMaker 3.0 $349

PowerViewer 3.0 $199

Technical Support Pricing:

Annual Customer Support Agreement, includes:

bullet Two primary contacts
bullet Guaranteed 15 minute maximum hold time
bullet Dedicated pool of senior support engineers
bullet Monthly reporting of calls/status of open issues
bullet Interim maintenance releases
bullet Quarterly release of Powersoft Infobase CD-ROM


Annual Support Agreement

Includes support for two contacts $3,695

Annual Support Additional Contract $1,295

Annual Support Addition 10 pack of Contracts 10,000

10 Pack of Support Calls $1,295

900 Number Support per minute $3.50


Transition to C/S Environment $375

Effective GUI Design for PowerBuilder $275

Introduction to PB $1,500

Advanced DataWindows $750

PowerBuilder Performance and Tuning $750

Integrating External Applications with PB $375

Object Oriented Analysis and Design using PB $750

General Consulting (per Day) $1500

PowerBuilder Software Features

It's is beyond the scope of this report to address every feature and function of PowerBuilder. Product literature has been enclosed that will review this in some detail. However, I would like to address some key areas.

First, PowerBuilder is memory/resource hungry. Like many second or third generation Windows products, such as Word for Windows 6.0 or Excel 5.0, its resource needs have outgrown the limitations of the Windows 3.1 environment.

The heart of PowerBuilder is its painters. The DataWindow (DW) painter is among its most powerful and best known. Through the DW painter one can create data window objects that can be placed in datawindow controls that in turn can be made part of any PB form or Window. The screen for creating a new DataWindow presents a variety of data source options, including: Quick Select, SQL select, Query and External. Presentation styles include: Crosstab, Freeform, Graph, Grid, Group, Label, N-Up and tabular. After the appropriate selections are made, the program presents a list of tables in the database application. After selecting tables, one can then select various fields in a user defined order. It is easy in PowerBuilder to switch from design to preview mode in a manner very similar to Visual SQL. The datawindow painter has a number of flexible design tools to allow precise formatting of the datawindow objects you create. Once the datawindow object is created it is easy to place it in a datawindow control located in your application window. To make the dataobject "work" one must tell it: (1) Where to obtain its data during execution and (2) What do with this data. To accomplish this one can code all this information into the application or read the necessary information from a file. In any case, scripts are associated with the application window, data windows object or various controls (including support for third party controls) to add functionality to the application. There are a variety of system functions and reserved key words to accomplish such operations as connect, open, close, retrieve, delete, rollback, commit, update, etc. There are also a variety of transaction objects to pass database information to the data controls.

When defining tables via the database painter, it is easy to designate primary and foreign keys as well as specify user defined masks and field validation rules. Further, extended attribute information is also easily added. Users may easily define custom error messages when validation rules fail.

The application object itself is created through the Application Painter. When an application is created, all of its components are placed in an application library (extension *.PBL). In the Application Painter the user can also specify an application icon.

Through the Window Painter one can design windows (primary, child, MDI, modal, modeless, popup, menu, etc.) and employ a variety of different widgets such as check boxes, picture buttons, list boxes, command buttons, radio buttons a well as objects such as graphs, data windows, etc. It is easy to position and name various objects and widgets in the window. It is also here where by merely clicking on the object a variety of its properties including scripts can be specified or designed. PB's PowerScript Painter is also quite powerful. It has an integrated object/event browser, allows commenting, cut and paste, undo, etc. On-line help for any command is accessible by pressing shift F(1). Scripts are automatically compiled and debugged when editing is complete.

PowerBuilder has a number of strong object oriented features. Its object oriented features enhance support for code reusability, simplified maintenance and rapid prototyping/ application development.

Broadly speaking PB comes with a number of different types of objects including windows, data access objects, user interface objects and user or custom objects. Objects are specified using variables and code. Code is stored either as object functions or event scripts.

PowerBuilder objects support inheritance to the extent that:

(1) When you change an ancestor object, the changes are reflected in all the descendants

(2) The descendant inherits the ancestor's scripts

Functions for objects can be classed as public, private or protected, thus encapsulating the function within the object. Further, two or more PB objects can have functions with the same name that do different things (polymorphism). For example, each window can have its own Initialize function, which performs processing unique to it. Actually the program supports two types of functions, Global, which is not associated with any particular object and object level functions.

PowerBuilder Summary

PowerBuilder is being used by an increasing number of mid to large size companies to implement mission critical applications. For example, Reliance Electric, a 1.5 billion dollar manufacturer of mechanical power equipment, telephone switching equipment and electric motors has used PB in its Dodge division to completely redesign their production control system. They use Sybase on a UNIX HP 9000 server for the RDBMS. Dodge used stored procedures for all database activities, thus reducing network activity and encouraging reuse by many application functions.

According to their Manager of Manufacturing Systems, Gary Oberg, it took six weeks to get up to speed with PB. A large part of their learning curve was making the transition from a 3GL to a 4GL event driven model of programming.

Number of code lines has dropped from 1.5 million, on their old COBOL/mainframe application to just 100,000 with PB. The PB application consists of 200 Windows divided into 18 functional modules such as Resource Definition, Product Definition, Master Product Scheduling, Material Requirements Planning, Inventory Management, Shop Floor Control, Order Processing, Quality Assurance, Scheduling and Purchasing.

Thus, despite performance problems outlined in the Carnegie study alluded to earlier, PB is being used with great success in an increasing number of complex mission critical applications. Further its ease of use and flexible 4GL language have enabled corporate developers to quickly develop applications and realize rapid payoffs. For example, according to Oberg, "We are several steps closer to a paperless operation. All printing is performed by the user on demand from within the PowerMan application. The shop floor workers use PCs to view scheduled jobs, engineering drawings and other process information..."

Adding to PowerBuilders momentum in the marketplace is, as mentioned earlier, its wide support from third party vendors. For example, LBMS, a leading CASE Tool vendor has a product called SE/Open for PowerBuilder 3.0. According to LBMS, it delivers a seamless, bi-directional integration between LBMS's Client/Server CASE tools set, Systems Engineer 5.0 and PB 3.0. The SE/Open product contains three main vehicles for interaction between PB and SE (System Engineer): (1) Library Transfer Application; (2) Extended Attributes Transfer Application and (3) Library Services Application. In addition, LBMS enhances PB's repository features by offering: (1) Object Storage; (2) Version management; (3) Configuration Control; (4) Access Control and (5) Reporting and Impact Analysis. All of these facilities are supported in the Library Services Application installed with PB. Details concerning SE/Open for PowerBuilder are enclosed. A list of other CODE vendors is enclosed for review.

PowerBuilder Problems

PowerBuilder is still considered by many a first generation C/S products. Despite its success in the market place, it is still not widely viewed as a vehicle to develop enterprise wide, mission critical applications. While Powersoft shores up the desktop/end user market with PowerViewer, PowerMaker and PowerBuilder for the Desktop, it is also attempting to evolve PowerBuilder and position it as a second generation C/S development tool. However, though lacking their marketing muscle, Uniface, Forte' and Dynasty have second generation products now. Both Dynasty and Forte' are emulating Powersoft's marketing/development alliance strategies. Both companies have been infused with venture capital and are gearing up for major marketing thrusts. For example, Forte' has 23 million dollars in funding from venture capital firms and strategic partners.

Other criticisms of PowerBuilder, include:

bullet Moving between painters is unwieldy compared to Gupta's single workspace.
bullet PowerBuilder provides no locking capabilities, relying on the RDBMS;
bullet PB has limited transaction control through non-visual transaction objects. The developer must, for example, define and use additional transaction objects than the ones provided to access multiple databases concurrently.
bullet There is no built in relationships between DataWindow Objects such as master detail or zoom relationships. All of these relationships must be defined through the scripting language.



SQLWindows 4.1


Though Gupta has received less press attention, they have greatly benefited from the recent attention being given to C/S computing. Gupta's stock, like Powersoft's has also tripled within the last year. Gupta's sales were about 40 million in 1992, but they have been in business since 1984 (far longer than Powersoft). Their stocks P/E ratio is at 72, earnings per share at 44 and most significantly they experienced a 60% growth rate in 1993.

Gupta's products include:

bullet SQLWindows with Team Programming, a 4GL for meeting the collaborative needs of C/S projects. In addition to the Corporate/team edition there is also a standard edition.
bullet Quest, a client/server query and reporting tool for end users.
bullet SQLBase Server: Their relational database management system.
bullet SQLNetwork, a family of gateway and router software to connect to popular RDBMSs such as DB2, Oracle, Sybase, Informix, Cincom Supra, ALLBASE, AS/400 and OS/2 Database Manager.

I shall go into their products in more detail. Gupta's marketing strategy is to sell direct through a telemarketing force as well as strike up relationships with key consulting/software development/systems integration firms through the Gupta Partner Program. The Gupta Partner Plan offers the following Technical Support Services (also available to corporate end users):

bullet Strategic Technical Account Representation (STAR Service): Designed for corporate sites with mission critical production applications, STAR Service includes 2 hour response time to phone calls, a designated STAR representative and backup person and access to senior technical support personnel.
bullet Hotline Support: Unlimited telephone hotline support to support engineers
bullet Evaluation Support Assistance
bullet License Subscription Service: Includes maintenance release, access to BBS services, access to Gupta Technical Notes, preferred placement in training courses, discounted product upgrades
bullet Pay Per Incident 10 Pack

For Gupta Partners, in addition to the above, there is a National Partners meeting, marketing collateral support, free advertising in Gupta's Client-Server Directory, etc. The Gupta Partners enrollment fee is $4,000. For Gupta, like Powersoft, service and support are obviously separate profit centers.

Gupta Pricing Structure, Effective 1/01/94

Quest, a client/server data management tool for end users offers forms development, Query, Reporting, Graph, Table and Catalog Activities; Also includes SQLBase Single tasking engine for Windows.


SQL Windows Standard Edition, includes: (1) SQL Windows Application Development Module; (2) SQL Windows Application Runtime Module (may be freely copied for use on multiple PC's); (3) SQLBase Multitasking engine for Windows; (4) SQL Talk/Windows Interactive Data Manager; (5) Report Windows Graphical Report Writer


Annual License Subscription Service (LSS) $350

SQL Windows Corporate Edition, includes: (1) SQL Windows Standard Edition; (2) TeamWindows Collaborative Programming Environment; (3) EditWindows Translation and Customization tool; (4) Quest Standard Edition; (5) SQLBase Multitasking Engine for Windows (Repository)


LSS $500

SQLWindows for AS/400, includes: (1) Sql Windows Corporate Edition and (2) SQL Router for the AS/400


LSS $500

TeamWindows $995

LSS $150

EditWindows $595

LSS $100

SQL Routes for Oracle, Ingres, SQL Server, AS/400 and Informix, includes: (1) SQL Router; (2) SQLTalk/Windows Interactive Data Manager; (3) SQLTalk Character Mode; (4) SQLRouter software for client PCs and (5) SQL/API - C Applications Programming Interface.

Note: Based on the recent moves by Powersoft to bundle their drivers as part of PowerBuilder Enterprise, I expect a similar move by Gupta.

Oracle (Client License) $250

Sybase/Microsoft SQL $250

AS/400 Client $250

Informix Client $250

Ingres Client $250

All Server Versions of Above $1,595

All LSS Client fees $50

All LSS Server Fees $350

SQL Gateways

Netware for SAA to DB2, includes (1) SQL Gateway Server; (2) SQLTalk/Windows Interactive Data Manager; (3) SQLTalk (Character Mode); SQLRouter for Client PC's


IBM OS/2 to DB2 $4,995

LSS Cost for Gateway Products $700


Below Group 40 $40,000

40-49 $60,000

50-59 $80,000

60-69 $100,000

70-79 $120,000

80-89 $140,000

90+ $160,000

LSS Cost varies from $9,000-$24,000

Telephone Support Costs

Pay Per Incident $175

Pay Per Incident 10 pack $1,500

Hotline Support per year $5,000

Additional contract price per year $2,500

Premium Support Programs

STAR Support $15,000/yr

Additional contract price per year $3,000

STAR Plus Support $25,000/yr

Additional contract price per year $3,000

Additional enrolled license per year 22.5% of List

Technical Training

SQLWindows "The Complete Class"; 5 day at Gupta $1,595/person

Above at Customer Location $15,000 + Exp

Introduction to SQLWindows Dev (2 Days) $495/per

SQL Windows Programming (3 Days) $1,295/per

Consulting Services

Hourly rates $150 + exp

Daily Rates $1,200 + exp

SQLWindows Product Specifics

Since I have not been given the opportunity to actually review the product this review will be based on third party sources.

The QuestWindow is at the heart of SQLWindows. It appears to offer similar functionality to Powersoft's DataWindow. QuestWindow allows easy creation of objects ranging from browse screens to master detail forms, without writing code (compare this to PowerBuilder that requires code to for example build master/detail forms). These database objects can then be easily dropped into a SQLWindow application.

SQLWindows uses a tool pallet very similar to Visual SQL for dragging controls such as list boxes, custom VBX controls, and radio buttons on to a form or window. The pallet also has buttons for dragging database objects such as tables and queries on to a Window. A TableWindow automates data retrieval, display and updating in tabular form. Unlike, PB, scripts are not required for database retrieval and update functions. Further, unlike PB, there is one seamless workspace in Gupta's product, like Visual SQL, for application design. Object attributes are specified, like PB, by simply clicking on an object and selecting menu options for color, font, title, picture contents, etc.

While creating the application, an Application Outliner is continually updated. The Outliner tracks all application objects, menus, functions, tool bars and Windows that are created. It is designed to provide the developer a convenient, flexible way of documenting, navigating and maintaining large applications. The outline created can be expanded or collapsed to the level of detail that is desired. Further, changes in the outline also propagate in the form window.

SQLWindows supports OLE, DDE, MDI, Graphics, Multimedia and Video for Windows. It also has a built in report writer called ReportWindows. Further, reports created with Quest, the end user reporting and query tool, can be easily integrated into SQLWindows applications. Through the EditWindows Tool it is possible to change the applications text while protecting the original source code and functionality. This is obviously very useful in developing code for multi-lingual environments. Gupta's 4GL language is called SAL. It has 500 SQLWindows and Microsoft Windows functions and offers the ability to create and share new functions. It supports any back end data type, supports variables and arrays and offers access to externally developed C or C++ code through calls to DLLs. Coding can be done through a point and click process and contact sensitive help is always available. Like PB, SQLWindows has an integrated debugger that allows the developer to instantly test the application or script code associated with an object.

TeamWindows, according to Gupta is the only tool that combines OOP (Object Oriented Programming) functionality with a system for collaborative programming. Like Powersoft, Gupta does not force the user to use OOP techniques such as inheritance and polymorphism if he does not want to. When one creates an object one can name it, save it as a class and reuse it. One can also easily create class libraries that can be used by other developers who access the library browser. SQLWindows supports class/object inheritance.

TeamWindows consists of four elements: (1) Template driven development (2) A Central multi-user repository; (3) Source code control and (4) Project control facilities. A template is defined as a predesigned and stored functional screen of objects. Templates can be used as building blocks to piece together entire applications. Templates can be used to set standards for GUI design across the enterprise. The templates are completely database independent. Templates access information on the databases schema, business rules and attributes, all of which are also stored in a centralized repository.

The centralized repository stores all program information, including: (1) Source code; (2) Screen components; (3) Programming standards and (4) Staff Information. Data can also be imported from various CASE Tools. TeamWindows tracks checking in and checking out as well as all changes that are made to application code, libraries or database structure. TeamWindows also automatically provides version control and source code archiving. TeamWindows also has various project control features to track progress, maintain security and establish standards. Project control has become a key issue in the C/S development environment. Companies are experiencing difficulty monitoring their programmer's productivity. TeamWindows Project control features allow managers to oversee multiple projects and assign staff members specific tasks for certain projects. It provides various reports to monitor productivity and staff assignments. Security features that are part of project control allow a user, for example, with "tester" privileges to be barred from editing source code.

The SQLNetwork series of routers is designed to allow SQLWindows to, in the words of Gupta's founder, Umang Gupta, "allow connectivity to every database known to man". The list of currently supported databases is contained in the price list (above). SQLWindows and its middleware drivers will also support connectivity across all major network operating systems, including Novell, UNIX (TCP/IP), LAN Manager and Banyan. SQLRouters also support stored procedures, functions and SQL extensions that are unique to a particular RDBMS. SQLRouters provide an API (SQL/API) through which client applications issue remote data requests to a wide support a variety of target DBMSs. The router interfaces between the client application and, in the case of Sybase, for example, the SQL Server DB-Library. The router for SQL Server provides full support for Transact-SQL function as well as triggers and other stored procedures. The router provides two transaction models for application design, cursors and db-processes and allows mapping of the db-processing model to the cursor model if required. SQLRouters also support browsing/scrolling through multiple records returned by a query even if the RDBMS does not directly support this feature.

Gupta does not currently support ODBC, but plans to release support in 2 months. It appears likely that the SQLRouters offer better performance than standard ODBC drivers, though benchmarking has not been done on this yet. Gupta will apparently develop their own drivers and not use Q+E and their API. Gupta also plans support for IDAPI, DRDA and EDA/SQL. Though whether they will write directly to the EDA/SQL's API/SQL or use ODBC to EDA/SQL is unclear. Probably the former.

Like PB's Watcom SQL RDBMS, SQLWindows comes with a RDBMS, called SQLBase (single user) for rapid prototyping and development

Gupta: Summary

Gupta's marketing strategies have been far less brilliant than Powersoft's. They have not done nearly as well encouraging third party developer and marketing support. They do not have a readily available desktop tool that they are promoting through mass retailing, though Quest would certainly fit the bill well. They were probably a victim of their own technology and spent to much energy promoting their own rather popular RDBMS, SQLBase, versus stressing openness and database independence. However, with today's burst of interest in C/S computing, they are experiencing explosive growth and should emerge a strong player. They must however quickly begin incorporating second generation features into their products (Ala. Dynasty and Forte'). Another requirement is that they place much greater emphasis on co-development and joint marketing partnerships. Their TeamWindows environment is superb and ideal for larger enterprises. However, that environment does not in and of itself make SQLWindows an enterprisewide development environment.

According to the Carnegie Study, SQLWindows is a poor performer in the areas they benchmarked. Frequent calls to DLLs written in C or C++ are still required for computationally intense code (though such code is not frequently used in business applications). There appears to be a preference for SQLWindows versus PowerBuilder when the target is a real time application such as credit validation, tracking systems and applications where performance is the bottom line. However neither SQLWindows nor Powersoft will be able to match the speed of C or C++ applications written with Dynasty or Forte'.

Visual Basic Professional 3.0

Departmental Workgroup Solution

The review on Visual Basic will be the shortest. After all it's a $495.00 product marketed by every almost every major computer software retailer for under $300. Microsoft, needs no introduction. Their marketing strategy with respect to Visual Basic is closely tied to their product development strategy. Visual Basic uses a version of Basic that is the new glue binding the full suite of current Microsoft applications. Because of Visual Basic's openness and wide popularity, there are a slew of third party support/add on products and training courses.

Changes introduced in version 3.0 include:

bullet The Data Control which can manipulate existing databases. However, Visual Basic's data control/data object features are far less powerful and intuitive than Powersoft's DataWindows Object. Visual Basic does not even ship with bound grid, combo or list box controls, label styles, graph presentation styles, etc. Further, there is no support for object inheritance or polymorphism.
bullet The Access engine, with links to Paradox, dBase and FoxPro. VB also fully supports ODBC drivers for Oracle and Sybase/Microsoft SQL Server. However IAW the VB Professional user manual those drivers have certain limitations.
bullet OLE 2.0. OLE 2.0 is very important to Microsoft's distributed computing strategy because of its support of OLE automation. In addition, OLE 2.0 supports In-place activation, a means of activating an OLE object within the boundaries of an OLE control. It also supports inter-window drag and drop and nested objects.
bullet Financial Functions that provide loan and annuity information
bullet Pop-Up Menus
bullet The Common Dialog Custom Control
bullet The Outline Custom Control.
bullet The Professional version is bundled with Crystal Reports 2.0 (3.0 is Crystal Service's current version). Crystal Reports utilizes the Microsoft Access 1.1 engine for data access and includes a custom control to embed reports in VB applications.
bullet The Professional Edition also comes packaged with a large number of new custom controls, some of which were formerly offered by third party add on vendors. Examples of custom controls include: the Serial Communications control, MAPI controls, Multimedia MCI Controls and Pen Edit Controls.
bullet The HC31.EXE Help Compiler to create Windows help files.

Visual Basic Third Party Products

Visual Basic has a host of add on tools for a variety of different application and development environments including:

bullet VBAssist from Sheridan Software Systems offers an Advanced Project Management Module for project management and version control. They also offer a team Programming Support function that tracks VB based source code down to the module level.
bullet Q+E Multilink/VE allows a VB application to access more than 20 PC and SQL database formats through Q+E's ODBC drivers.
bullet Extra! for Windows from Attachmate to write powerful PC to mainframe C/S applications using their HLLAPI.
bullet M.4 from Cimflex Teknowledge, an expert system tool, that integrates the M.4 or user defined VB custom control with their library of subroutines.
bullet QuickPak Professional, a collection of handy subroutines, functions and custom controls
bullet ImageMan/VB from Data Techniques that allows VB applications to offer sophisticated scanner display and print support.
bullet HP-IB Instrument Control that adds instrument control capability via a DLL.
bullet The latest "Companion Products and Services Directory for Visual Basic" was provided to Jorgen late last week. This should provide additional listings.

One of Visual Basic's greatest strengths is its openness, including the ability to design custom third party controls and full support for OLE 2.0.

Visual Basic Functional Summary

Visual Basic, like all the products reviewed here uses an event driven programming model. It offers full support for standard and custom controls, menu generation, windows design, MDI, dialog boxes, message boxes, grid controls, etc. A VB project, consisting of forms and their associated controls, dialog boxes, windows and programming code is saved as a .MAK file. A MAK file in turn can be compiled into an .EXE file through selection of a menu option. All Visual Basic applications require the appropriate vbrunX00.dll, with x equal to 1, 2 or 3 depending on the version of VB that was used in development. VB has a built in debugger that supports breakpoints. The Visual Basic programming language supports arrays, structures, object variables and a variety of different conditional and unconditional branching, testing and looping commands.

The Data Control is the link between Visual Basic and a database. Once you have attached a Data control to a database, you can bind data-aware controls to the Data control. The Data aware controls display the contents of each field as you navigate with the data control. When a database is opened by the Data control it creates a Dynaset, which is similar to a table. However, a Dynaset can also be the result of a query that joins more than one table. The records created in the Dynaset object are represented by the recordset property of a Data control. A Dynaset can be used to add, change and delete records from underlying tables using various methods. There are also transactions' properties, rollback methods, UpdateRecord, UpdateControls methods, error events, fieldSize, GetChunk and AppendChunk methods that are used when multi-user and data integrity issues arise in the development/user environment.

Databases created in VB or Access work interchangeably. One can use Access's QBE windows to create complex queries, test the results and then copy the generated SQL code in to the VB application. VB Professional Edition also offers a data access layer that allows the developer full control over the functionality of the Access engine.

VB supports OLE 2.0 standards. PowerBuilder and Gupta do not yet have this support, but will soon. One of the most exciting new features OLE 2.0 is its support of OLE automation. OLE automation allows a Windows application to manipulate objects contained in other applications. Through OLE automation, one application can direct the operation of another. For example, a spreadsheet application that supports OLE automation might offer complete worksheets, cell ranges or charts as objects. Other applications can access these objects and direct how the spreadsheet program manipulates them. Other important features of OLE 2.0 are inter-windows drag and drop, in place activation and nested object support.

Visual Basic Assessment

Visual Basic Version 3.0 Professional Edition, is no threat to the emerging second generation of client/server application development tools for obvious reasons. It is well suited for the development of small departmental applications and work environments where non-relational databases such as Access or FoxPro are used. Its strengths are its openness and wide third party support. It is also far easier to develop in than C or C++ and thus has gained wide acceptance among both the novice and experienced business programmer.

Dynasty and Forte'

The Second Generation of C/S Development Tools

Enclosed is extensive product literature on both Dynasty and Forte' software. Dynasty's product was released in December of 1993. Forte''s product should ship in July or August of 1994. Both products are vastly superior to all products reviewed thus far in terms of functionality and suitability for the enterprise wide user and development environment.


To summarize, below are the key features of Dynasty. I viewed DYNASTY at Software World.. The product exhibited a dazzling interface and demoed very impressively):

bullet Client/Server applications development across multiple production environments.
bullet Support for multiple GUIs, including MS-Windows, MOTIF, OPENLOOK, Macintosh and OS/2 PM.
bullet A complete object oriented language and object management system.
bullet Support for cooperative processing through DDE, IPC and RPC technology.
bullet Automatic generation of industry standard C and SQL code.
bullet Advanced management of development teams.
bullet Connectivity to mainframe (legacy) data and processes.
bullet Automatic generation of Help facilities and documentation.
bullet A large variety of pre-existing process models, methods, business application templates and object class libraries.
bullet A superset approach to cross platform development. Whether it generates database queries or graphical client screens, DYNASTY takes advantage of the unique, native characteristics of each system.
bullet Support for a broad variety of distributed processing and communications protocols that allow developers to specify and generate applications that distribute processes among multiple systems. DYNASTY supports over 50 different production environments, inter-process communications (IPC), DDE, links to external functions, links to DLLs and links to a variety of application programming interfaces such as EDA/SQL.

A reprint of an article by the Hurwitz Consulting Group is enclosed. It discussed in some detail the key components and features of the DYNASTY environment including: (1) Knowledge bases; (2) Object Editors; (3) Layout Tools; (4) Process Models and Business Objects; (5) Code Generation; (6) Application Partitioning; (7) Communications Support; (8) Platform Support and Development Approaches.


Forte' appears to be as powerful a 4GL development environment as DYNASTY. Enclosed is a White Paper by Paul Butterworth, their Vice President of Engineering. The Forte' development environment has these very important features

bullet Application Partitioning: Forte' decouples development from the physical environment. Forte' developers build a logical application that, after development, is automatically partitioned (i.e., split up into components) to execute in a distributed deployment configuration. This relieves developers from the complexities of programming on multiple systems and setting up communications. The same application can be repartitioned as requirements change.
bullet Portability: A Forte' application transparently supports multiple hardware and operating system platforms, networks, GUIs and RDBMSs.
bullet Open Integration: Forte' applications use open interfaces to integrate data from multiple databases, legacy applications and electronic data sources such as machine tool controllers and stock feeds.
bullet Reliability: Forte' simplifies the developer's task of handling errors and transaction failures. Forte' also supports application failover and provides a means to optionally integrate external reliability services such as a TP monitor.
bullet Performance. Forte' enhances performance by compiling applications in C and C++ code, generating optimized access to RDBMS and reducing network traffic.

The enclosed White Paper goes into its features in more detail.

Both DYNASTY and Forte' have formed technology partnerships. DYNASTY also has an affiliate program that is directed at consulting groups such as BEST, Ernst & Young, SPL, IA, CRG, etc. Thus when a major client is ready to buy their tools, DYNASTY and the client's development team work hand in hand with the consulting firm in designing applications, setting methodologies, etc. Further, DYNASTY's technology partners are companies that are on the cutting edge of GUI/Middleware/CASE Design. These companies include: Neuron Technology, Information Builders, Netwise, Platinum Technology, etc. Many of these companies also have a strong presence in the legacy market.

Top of Page
Lowell Greenberg
Copyright Lowell Greenberg. All rights reserved.
Revised: August 05, 1996.


Home • Up • Business Process Reengineering Pitfalls • Transforming Your Company: Business Process Reengineering and Client-Server Technology • BPR Introductory Article • Client/Server Accounting Systems Article • Client Server:1994 • Software Development Projects Article