There are numerous ways in which a machine may use DP4 networking to act as either a server to or a client of other machines (possibly both at once). This topic introduces the various possible configurations and the names used for them.
You will see in the list below, that several of the possible configurations use "Resilience" in their names. In some ways this is misleading as you may want to use a particular configuration for reasons other than resilience. In addition in some cases more than one DP4 networking configuration can be used to implement the same Resilience Architecture.
The wide range of possible configurations, may seem rather intimidating at first, particularly if you start to worry about which permutations of machines at either end of a connection are compatible. In general you can assume that any configuration that has network client capabilities will be able to access databases on machines with any configuration that has server capabilities. However there are a few restrictions and limitations. These are summarised at the start of the sections dedicated to each configuration.
You may find How to Choose an Appropriate DP4 Networking Configuration useful in deciding which of the various possibilities to use on a given machine.
These are the most commonly used configurations of DP4 networking.
A server only machine runs one or more DP4 network managers to allow client machines to access the DP4 databases stored on it. The clients may use any of the client architectures described below. Simple servers may also run DP4 applications. The network manager program and the applications on these machines all access the local databases - there is no access to databases on other servers. Instructions for loading and using DP4 as a Server machine can be found here.
A Client Only machine runs a DP4 network client and always accesses DP4 databases across the network. There is no "local" database on the clients (and so no fallback if the network is down). This configuration is easy to set up, and is suitable for environments where the network is reliable and fast, and downtime is permissible.
In a Multiple Resilience Client configuration the DP4 database is accessed across a range of machines, usually but not necessarily including the local machine, and usually more than one server machine. Multiple resilience uses the AUXDISTR router ADC as well as the regular network requester. Using AUXDISTR imposes some restrictions on a DP4 system, so it is necessary to design a system with AUXDISTR in mind if it is planned to use it.
This type of configuration is similar to the last, but in addition machines are capable of acting as a DP4 database server for other machines on the network.
In a typical Multiple Resilience Combined Client/Server configuration terminals mainly access and update a local database. Information that must be synchronised across the whole system may be accessed from a "central" server. (If this central server is not available, some aspects of the system may have to be disabled). The central server uses the server capability of the terminals to collect transaction information.
In a named connection configuration machines are also capable of acting both as clients and servers. Applications have complete control over where databases (and remote files) are accessed, but whereas with the other resilience configurations the database may appear to be distributed because the DP4 interface hides the details of exactly how the various machines are contacted and kept synchronised, with this configuration the application takes control of this, by opening a number of connections to specific machines and databases.
The final scheme is a DP4 Terminal Server configuration. This scheme offers potential performance benefits and radically simplifies deployment of systems, the value of which may more than offset the loss of resilience inherent in such a system. Compared with using Telnet or a product such as Terminal Services for Windows 2000 it is more flexible - for example a program running on the server can make use of POS devices on the client via the OSDI, and a program running on a Unix server will work exactly like a native Windows program on a Windows client (and vice versa). Background information on DP4 Terminal Server can be found here. One way of achieving a measure of resilience in this type of solution is to use multiple application servers.