Basic Concepts of Dad
Servers and Clients
The main purpose of the Dad library is to distribute Adamo data
between different processes on the same or remote computers over
Usually programs take files as input, perform various calculations,
and output the results into other files. In the Dad model, Servers
play a similar role as files; they collect information from
writing clients and distribute this information to
reading clients. Clients (which can
be both reading and writing) can select information servers and the
information on a selected server as they usually do with files.
Clients can output information also on regular files, using
an internal Dad format. Such files can, of course, also be read in again.
Just like standard Adamo files,
Dad files contain metatable information which describes
the data structures used by the writing client.
A reading client is thus able
to read such files even if it uses a different internal data representation
or byte ordering than the writing client.
A special case of the Dad files are the Dad pipes where data is
written to and read from named pipes or via unnamed pipes exchanged
between different processes directly.
Here you can get a connection diagram of a
small dad client-server model.
The Dad library provides four basic operating modes.
1) Operation on the dataflow record level
This mode is used to transfer complete records of dataflows. The
client can read complete records, clear records, and
write records to the server. This is the only mode
available for writing and reading files.
2) Operation on tables
In this mode, a client can use tables to select records, and can read
and write tables and selected rows of tables.
3) Operation in update mode
In update mode, all the rows of the tables of a dataflow have an implicit
period of validity. A client can either add new rows with specific
validity periods onto the server or set the validity period for
Further references to such tables at a later time will cause
the server to send only rows which have been modified since the last access
and are therefore of date at the client side.
4) Operation in booking mode
In booking mode, a client receives information which is new on the
server and satisfies certain conditions. For instance, a client can
book all commands which are sent to a receiver whose name is identical
to its own. Another client may want to receive all warning messages
that concern a certain part of a detector.
This page is maintained by Wolfgang Wander.