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

 

Powersoft/Sybase

PowerBuilder 3.0A: The Industry Leader

Powersoft

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