Several features are built into the Dexterity system to allow you to easily make powerful, multiuser applications.

Network operation

Applications you create in Dexterity can be configured to operate across a variety of local area networks (LANs). In this environment, your application’s data is located on the network, allowing multiple workstations to read and write data from the database. Each workstation in a LAN uses a platform-specific runtime engine and a copy of the application dictionary.

The following illustration shows the relationships between various workstations and an application’s data.


Although a network server environment is an optimal configuration, data can also be shared between workstations using a peer-to-peer network environment, such as Windows networking.

Multiuser operation

Dexterity supports multiple users accessing the same data at the same time. To accommodate this, Dexterity applications apply Optimistic Concurrency Control (OCC), a form of record locking that allows multiple users to work in the same tables and access the same records with minimal restrictions, while helping to ensure data integrity.

Database independence

Internally, Dexterity has a Data Management Subsystem that takes generic data requests and translates them into the specific calls needed to access data from the chosen database. You write your application independent of a specific database type. This allows your application to use any of the database types supported by Dexterity.

Client/server architecture

Dexterity applications can operate in a client/server environment, which allows you to separate data management tasks from processing and display tasks. By distributing these tasks between a client computer and a server computer, you optimize the use of your computing resources. The following illustration shows a client/server configuration.


Data is located at the server, while the application (the runtime engine and dictionary) is located at the client. Client computers can then request data from or write data to the server computer. Dexterity supports Microsoft SQL Server 7 and SQL Server 2000.

Process Server

Processes are distributed between client and server workstations using the Process Server. With the Process Server, you can send certain processes – such as posting data or printing reports – to another computer that’s running the Process Server (either the server or another client):


Distributing your application’s processes allows you to take advantage of faster processing capabilities that you may have on more powerful computers in your network. It also can reduce the work load and improve the performance of busier workstations by off-loading processes to computers that are idle.

Macro system

The Dexterity macro system allows your users to play and record macros, allowing your users to automate tasks throughout your application. The macro system is also used while testing your application. Refer to Testing Your Application for information about using the Macro system.


You can implement security in any Dexterity application. Security allows you to control exactly which forms, reports and tables users of your application can access.

Pathname support

Pathname support allows your application to store information in designated locations. Dexterity applications have built-in support for pathnames.

Online help support

Dexterity applications can support Windows Help and HTML Help.

Documentation Feedback