ESQL Small Client Model

The ESQL small client model separates the large client executable into two components:

The OID can run on a machine that is either remote or local to the database server machine. In response to small client requests, the OIB starts OID processes — one server for each small client that logs into Progress.

An ESQL small client application can run on Windows or UNIX workstations, either remotely or locally on the OID machine. Figure 3–3 shows the process layering in the ESQL small client model.

Figure 3–3: Small Client Process Model

Network Configurations

Typically, an ESQL small client application runs remotely from its OID, and the OID runs as a self-service database client on the database server machine. As a general rule, having the OID on the same machine as the database server is the optimal configuration. The OID interprets and returns result sets for all ESQL database requests from the small client. The small client receives only the final results of these requests across the network from its OID, minimizing network traffic. (To ensure this advantage, the OID, database server, and database should reside on the same machine.)

If you use a remote large client instead, the database server sends all database tables that the Progress/SQL interpreter requires across the network to the large client, substantially increasing network load.

Unlike the large client model, where there are many potential areas of conflict between your application and Progress database client code (including signal handling, global name, and memory space conflicts), an ESQL small client virtually eliminates these conflicts because the bulk of Progress code in the executable comes from the client communication modules that you link with your application. These modules do little more than package and send your ESQL requests to the OID, and pass the results from the OID to your application code.

If you cannot place the OID on the same machine as the Progress database server (because of networking throughput, processing performance, or machine accessibility), you can run the OID on the same machine as the small client. You can also run it on a machine entirely separate from both the small client and the database server (see Figure 3–3). However, if the OID is remote from the database server, your network load is at least equivalent to using a remote large client.

The keys to optimal response in a remote small client configuration are:

Figure 3–4 depicts a typical ESQL small client configuration where each ESQL small client communicates with an OID using TCP/IP.

Figure 3–4: Typical Remote Small Client Configuration

Local Configurations

You might also want to run small clients local to OIDs on the database server machine. This configuration is functionally equivalent to the remote small client configuration in Figure 3–4.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095