Client Sessions

Communication between a client and an interface is done in "sessions" each of which comprises a number of commands sent by the client for the translator to execute.

When a translator is dedicated to a single client (i.e. client/server mode), the length of one of these sessions does not matter, but when a translator is serving multiple-clients (i.e. web service mode), the length of a session must be kept to a minimum to prevent one client "hogging" the service.

Most client applications should be written as though they are connected to a web service.

In Fire language terms, a session is defined by the length of a channel.session language block, e.g.

open mychan,-s='fxarc'
mychan.session { # Start of translator session
    * select * from brisbane7/rlwy.pat
    * objfetch
} # End of translator session

In this example, we have created a connection to fxarc, the ARC/Info coverage translator.

Then we have run a session to get data from a table available to the interface.

The tables available for selection depend on the type of interface, e.g.

Database interfaces: all database tables to which the user has access,
File translators: all data files within a supplied file hierarchy,
Coverage translators: all logical coverage tables within a supplied file hierarchy.

For data discovery purposes, there is an iselect command to retrieve the names of all available tables and meta-data for any table.


Prev Chapter    Next Chapter