Macintosh Client/Server Database Development Summary, Revision 1.1

From: Liam Breck <breck_at_twain.ucs.umass.edu>
Date: 20 Oct 1994 19:25:56 -0400
Message-ID: <386ua4INN2jh_at_twain.ucs.umass.edu>


         Macintosh Client/Server Database Development Summary
                            Revision 1.1

This is a summary of client-builder tools, data access layers, and database servers applicable to Macintosh (and cross-platform) client/server database development. It includes explanations of the three categories and describes over 25 products. Its sources are vendors' product literature, DBMS magazine, and discussions with vendors at the Database and Client/Server Expo in Boston on June 29-30 and the MacWorld Expo in Boston on August 2-5.

It does not include information about separate products in these categories:   CASE tools (automate the design of databases)   Administration tools
  Ad hoc query tools (query a database in a freeform way)   Report writers
  Decision support and executive information tools (do complex data analysis)   Screen scrapers (place GUIs over terminal interfaces)   Non-SQL-accessible database servers
  Tools which support deployment to Mac, but not development on Mac

I feel that some of the products described herein are actually better suited than the leading Mac databases for smaller multi-user database applications. Features such as a flexible query language, full-featured GUI tools, and comprehensive language libraries are very important even for small projects, while capabilities like transparent connectivity and cross-platform delivery let small systems grow easily into large services. The leading Mac database tools lack most of this functionality.

Please ask to JOIN THE MAILING LIST! If this summary is interesting or useful to you, let me know and I will email you new revisions of it as they come out. I also welcome comments, war stories, and mentions of missing products or important product details. My (new!) email address is breck_at_external.umass.edu.

Changes in revision 1.1:
  Vendor phone number list added
  Client-builder features list revised
  Most product descriptions revised
  Eight client-builder descriptions added   One data access layer description added   Four database server descriptions added

  • Client Application Development Tools ---

Client applications are the users' windows into databases which are usually located on other machines on the network. The following tools assist in constructing such apps. And I do mean ASSIST. Don't believe the hype about building clients in a few hours without writing any code. Another caveat is that many of these products were developed originally for a different OS, and not all such tools support the Mac as well as they should. (And there's even a Mac-only tool that has that problem!)

Most client-builder tools include these features:   support for development on and deployment to the major OS platforms   transparent access to various data sources     ("The major database servers" generally means Oracle, Sybase and      possibly Informix and ODBC-accessible servers. See next section.)   a graphical GUI builder with special objects for data presentation   a (possibly OO) language with a full-featured library   library extensiblity with internal and external functions or classes   an interpreter or GUI testing capability   a debugger

And some also include these:
  a database definition tool
  a SQL database engine for development use   a graphical query builder
  a graphical report writer
  support for development teams
  a compiler which generates native code, pseudo-code or 3GL code   a reasonable memory footprint for compiled apps :-)   GUI builder extensibility
  data access system extensiblity to initially unsupported data sources   a business rule modeling system, which obviates the need to implement     such rules throughout the GUI
  distribution of application components across a network   no runtime/distribution fees

Omnis 7 by Blyth, once primarily aimed at desktop and workgroup database development, has been retargeted at the client/server market. It is a 4GL-based, cross-platform (Mac, MS Windows, OS/2, Unix, Windows NT) client-builder that accesses many database servers. Blyth's single- and multi-user database engines are available separately. It is probably the most popular client-builder product for the Mac currently.

Uniface by Uniface is a 4GL-based, cross-platform (Mac, MS Windows, OS/2, Unix) client-builder. It includes a system for implementing the business rules that govern data, the ability to partition the application among different networked systems, support for development teams, and fairly wide reaching database server access.

VisualWorks by ParcPlace is a Smalltalk-based cross-platform (Mac, MS Windows, OS/2, Unix) environment. It includes a comprehensive, extensible class library and a pseudo-compiler. It accesses the major database servers. Runtime modules are required.

Vision by Unify is a cross platform (Mac, MS Windows, Unix, Windows NT) client-builder featuring a pseudo-compiled 4GL, support for development teams and access to a variety of database servers. Vision automates the creation of a number of common features that other tools may not. Runtime modules are required.

C/S Elements by Neuron Data is a cross-platform (Mac, MS Windows, OS/2, Unix) client-builder that generates C code for compilation by a third party compiler. It includes a somewhat extensible class library and support for scripting in its 4GL, C and C++. A business rules development add-on is available. It accesses the major database servers.

Oracle Forms (formerly SQL*Forms) by Oracle is part of the CDE family of tools. It is a cross-platform (Mac, MS Windows, OS/2, Unix, Windows NT) front-end tool for Oracle servers, though other servers can be accessed via middleware. It supports development teams and its language is based on SQL with procedural extensions.

CPX by Prograph is a completely grahical object-oriented "language" and development environment that includes an extensible class library, interpreter and compiler. Extensions to access the major database servers are available separately. It's currently only available for the Mac, but MS Windows and Unix versions are in the works.

Visual AppBuilder by Novell is another completely graphical environment in which applications are created by linking components (ALMs). It is cross-platform (Mac Q4 94, MS Windows), but portability requires compatible ALMs on the target platforms. It includes a compiler, and ALMs to access the major database servers are available separately. Eventually, it will support network distribution of applications.

Forte by Forte Software is a cross-platform (Mac, MS Windows, and Unix clients plus others as servers) tool for constructing very large scale, distributed applications. It is based on an OO4GL, generates C++, and automates the distribution of services across diverse networked systems. It assumes development teams and accesses a wide range of database servers.

PowerBuilder by PowerSoft is an OO4GL-based client-builder for MS Windows. A Mac port of the product should ship by Q1 95. It comes with a pseudo-code compiler, support for development teams, a multi-user database server and broad database server access. This is a very popular product, though the current version is said to be a bit buggy.

SQLWindows by Gupta is a 4GL-based client-builder for MS Windows. Versions for other platforms, including Mac, are under development. It comes with 3GL and pseudo-code compilers, support for development teams, a multi-user database server, and access to a variety of database servers.

NewEra by Informix is a cross-platform (Mac Q4 94, MS Windows, Unix) client-builder with an OO4GL, extensible class libraries, pseudo-code and 3GL compilers and support for development teams. It primarily supports the Informix database server; other servers are accessible via middleware.

JAM by JYACC is a cross-platform (Mac by Q2 95, MS Windows, DOS, OS/2, Unix, Windows NT, VMS) client-builder with support for scripting in its 4GL, C and C++. It generates C++ for use with a third party compiler and includes a development database engine, support for development teams and access to many database servers.

4D Passport by ACI is a bundle with the tools necessary to build clients with 4th Dimension. 4D was not designed for this task, though it has been extended to access some SQL servers. Its model for the user interface of an app is odd, and working around it can be awkward and requires third party extensions. ACI's single- and multi-user database engines are not SQL-accessible. It is Mac-only, though a MS Windows version is planned.

FoxPro by Microsoft is a cross-platform (Mac, MS Windows) database package that can access SQL servers via ODBC. Like 4D it was not designed with such access in mind. It has a limited 4GL and a local engine which is not SQL-accessible. ODBC capability is not available in the Mac version yet.

Many Mac developers roll their own client-builder toolkits around a C++ or Smalltalk compiler and a (possibly cross-platform) application framework. One would also add a data access layer (see next section), and a development database engine such as Personal Butler. A third party GUI builder, such as AppMaker by Bowers Development (v2 of which is nearing release), is also a useful addition.

One last product, this one on the horizon. I've heard that a cross-platform database development package which generates C++ for a wide variety of compilers and frameworks may be in the offing for next year. I'm told that the interface builder is killer, SQL data access is simplified by a sophistocated graphical query builder, it comes with a quality database server and it's amazingly flexible and extensible.

  • Data Access Layers ---

A data access layer is an API that lets you submit statements in SQL (the standard database management language) from clients on different platforms to (possibly diverse) data servers, and handles the network protocols and server differences behind the scenes. It provides a function library which can be called from 3GL and 4GL environments, and (in some cases) intermediate server software that resides on the server host and passes client requests to the database engine. The implementation of the library for a particular client platform, network and data server is usually called a driver, and a client needs a driver for each data source it accesses.

There are two types of data access APIs, server-specific "native" systems from server vendors (Sybase Open Client, Oracle OCI/SQL*Net, Informix INet, etc.), and server-general "middleware" systems from third parties (listed below). Native systems are tuned for their target servers, do not require intermediate server software, and generally perform better than middleware systems. Middleware systems are useful where the API is not transparent (ie, in a 3GL) and there are diverse servers, or when a native solution is not available for a required data source. (Non-relational database systems, in which 85% of all corporate data is said to be housed, often do not have native APIs.) Transparent support for different data access APIs, especially native ones, exists in many of the client-builders listed above.

DAL, from Independence Technologies, was invented by Apple and has been around for a while, so it is the most prevalent middleware system currently employed on Mac clients. It supports several network protocols, including Appletalk and TCP/IP. It adds some useful extensions to SQL which enable offloading of some data processing from client to server. However, its performance may be limited in some environments. It accesses the major database servers on a variety of host platforms. It also supports MS Windows clients, and a handful of development environments.

SequeLink by TechGnosis is popular on the Mac because it also supports Appletalk, as well as TCP/IP, Netware and other protocols. It accesses a wide range of database servers on varying host platforms, and supports many client platforms and development environments.

EDA/SQL by Information Builders also supports Mac clients, however it does not speak Appletalk, so Macs must use TCP/IP or another protocol. It also accesses a wide range of data servers, including non-relational systems, on different host platforms, and supports many client platforms and development tools.

Open Client by Sybase can be combined with their Open Server intermediate software to allow access via the Open Client API to a range of database servers, including non-relational ones, on various host platforms. It supports DECNet and TCP/IP protocols and a range of client platforms and development environments.

ODBC is a Microsoft invention for which Apple has recently released a Mac SDK. Unlike the other middleware mentioned, it is implemented with client-side drivers alone. Driver development is the province of server vendors and third parties, and thus the availability of Mac drivers may be limited if vendors perceive the demand as small. Network protocols are not specified; the driver vendor implements network support as needed. A driver is usually implemented as a translator for a native API, resulting in poor performance. ODBC is criticized for its three-level specification which means different drivers may not support the same functions. Microsoft is beginning to downplay ODBC in favor of new OLE capabilities.

Q+E Database Library by InterSolve (formerly Q+E Software) is a cross-platform (Mac, MS Windows, OS/2, Unix, Windows NT) layer which accesses data sources via ODBC drivers (from Intersolve and other vendors). It is intended to ease the implementation of client ODBC capability. It comes with a graphical query builder and query by example functions, and supports a variety of client development environments.

  • Database Servers ---

Database servers are the workhorses in a client/server system. They consist of two integrated components, an SQL parser and a native database management system. They translate and optimize SQL queries for their native DBMS, perform the queries and return the results to clients. Data servers generally need significant horsepower in the host computer and multi-tasking capability in the host operating system in order to process queries from concurrent users in a reasonable time frame. Due to these requirements there are just a few, lighter-duty servers available for Mac System 7. The PowerPC architecture, running PowerOpen (Apple's and IBM's new Unix) or Netware, has the potential to attract more server vendors to Apple hardware. Versions of these operating systems for the PowerMac are still under development, however.

Butler by Everyware Development is the most popular SQL server for System 7. It is accessible by DAL and (soon) ODBC. The new version (now in beta) is said to be much faster than the previous one, and faster still when accessed via ODBC, support for which is built into the engine. Personal Butler is a development version that runs on the same Mac as the client.

dtF by dtF is a cross-platform (Mac System 7, MS Windows, OS/2, Unix) SQL server that comes in single-user library and multi-user server versions. It is accessible via its own data access API which can be used in various development environments. Its performance is said to be excellent.

Oracle for Mac v2.0 is a version of Oracle v6 that runs under System 7. Oracle7 is available for AUX, Apple's Unix OS, but not System 7 (and hence not the PowerMacs since AUX does not run on them). A version of Oracle7 for PowerMac is said to be in the works. These servers are accessible by Oracle's native data access layer.

Inside Out by Sierra Software will be available in SQL-accessible versions for System 7 as both a single-user library and a multi-user server around Q2 95. Details are a bit sketchy yet, but the products should be Oracle7 compatible in terms of access and functionality.

Faircom SQL Server by Faircom is a cross-platform engine which is accessible via their c-tree Plus API and ODBC. A version for System 7 is under development and should be available by Q2 95.

P.Ink SQL [I need contact info for this product]

Watcom SQL and Gupta SQLBase are being ported to the Mac, but they are likely to be available only with the development environments that bundle them (PowerBuilder and SQLWindows).

  • Vendor Phone Numbers ---

(For the columns to line up, this section must have a fixed-width font, such as Monaco or Courier.)

                           US toll free  US/Can. toll
                           ------------  ------------
ACI US                                   408-252-4444
Apple (APDA)               800-282-2732  716-871-6555
Blyth                      800-346-6647  415-571-0222
Bowers Development                       508-369-8175
dtF                        800-383-1790  408-996-0465
EveryWare Development                    905-819-1173
Faircom                    800-234-8180  314-445-6833
Forte Software                           510-869-3400
Gupta                      800-876-3267  415-321-9500
Independence Technologies  800-605-9010  510-438-2000
Information Builders       800-969-4636  212-736-4433
Informix                   800-331-1763  913-599-7100
InterSolve                 800-876-3101  919-859-2220
JYACC                      800-458-3313  212-267-7722
Microsoft                                206-635-7191
Neuron Data                800-876-4900  415-321-4488
Novell                     800-638-9273  801-429-7000
Oracle                     800-672-2531  415-506-7000
ParcPlace                  800-759-7272  408-481-9090
PowerSoft                  800-395-3525  617-229-2200
Prograph                   800-927-4847  902-455-4446
Sierra Software            800-621-0631  702-832-0300
Sybase                     800-879-2273  510-922-3500
TechGnosis                               617-229-6100
Uniface                    800-365-3608  510-748-6145
Unify                      800-248-6439  916-928-6400



Macintosh client/server database development summary,   Copyright 1994 by Liam Breck, all rights reserved. All trademarks are the property of their respective owners. Redistribution of this document is encouraged provided it retains its   original form, and is free.
Publications are encouraged to use this document as a source, and are asked   to mention that readers may join the electronic mailing list to receive   new revisions of it by emailing breck_at_external.umass.edu. Received on Fri Oct 21 1994 - 00:25:56 CET

Original text of this message