|
|
|
Desktop Application (GUI design) | |
|
|
Business rules processes (sometimes placed in the database layer as stored procedures) | |
|
|
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!.
![]()
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:
|
|
Write their own ODBC drivers | |
|
|
Provide their own security, locking and transaction monitoring services in a heterogeneous three tiered UNIX environment | |
|
|
Develop their own TCP/IP drivers | |
|
|
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..
![]()
The C/S market can be segmented by (1) Product Type (2) Application Type and (3) End User Type.
With respect to Product Type:
|
|
Database Management Systems | |
|
|
Middleware | |
|
|
Enterprise Management | |
|
|
Database Design and Modeling, such as CASE Tools | |
|
|
Applications Development: :This includes 4GLs, front end tools, report writers and query builders. | |
|
|
Tools and Utilities |
This report will obviously focus on Application development tools, however middleware is also extremely important.
With respect to Application Type:
|
|
Read-only/ad hoc query | |
|
|
Decision Support | |
|
|
Non-mission critical OLTP (On-line Transaction Processing) | |
|
|
Mission Critical OLTP) |
With respect to Application Type:
|
|
Low End (Single User, small workgroup) | |
|
|
Mid (Department wide) | |
|
|
High End (Enterprise wide) |
With respect to End User
|
|
Software developer of off the shelf applications | |
|
|
Corporate software developer/consultant | |
|
|
Government/military software developer/consultant | |
|
|
End user developer/consultant (Example: Excel macro programming, Word Basic, etc.) | |
|
|
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.
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.
I will analyze the key players identified above using one or more of the following criteria:
|
|
Market Positioning | |
|
|
Market Alliances | |
|
|
Market Share | |
|
|
Pricing | |
|
|
Product features | |
|
|
Future Product Direction | |
|
|
Key market segments | |
|
|
Development alliances and third party support | |
|
|
Training and Support policies | |
|
|
Third Party Products that they integrate with |
![]()
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:
|
|
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. | |||||||||||||
|
|
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. | |||||||||||||
|
|
Database independence | |||||||||||||
|
|
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. | |||||||||||||
|
|
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:
|