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.
Today's software is being designed in three distinct application layers:
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!.
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:
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..
The C/S market can be segmented by (1) Product Type (2) Application Type and (3) End User Type.
With respect to Product Type:
This report will obviously focus on Application development tools, however middleware is also extremely important.
With respect to Application Type:
With respect to Application Type:
With respect to End User
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.
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%
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.
I will analyze the key players identified above using one or more of the following criteria:
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:
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.
PowerBuilder Enterprise 3.0 which includes:
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:
Desktop ODBC Database Development Kit $695
PowerBuilder Team/ODBC Kit
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:
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
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 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 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:
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:
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):
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.
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)
SQLWindows for AS/400, includes: (1) Sql Windows Corporate Edition and (2) SQL Router for the AS/400
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
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
SQLHost/DB2 (CICS or VTAM)
Below Group 40 $40,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
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
Hourly rates $150 + exp
Daily Rates $1,200 + exp
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'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'.
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:
Visual Basic has a host of add on tools for a variety of different application and development environments including:
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, 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 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.
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):
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
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.