The Client/Server Model
The term client/server
describes a type of distributed processing
in which an application is divided into two parts, each possibly residing
on separate operating systems, but working together to provide a service
to the end user. As shown in Figure 1, one part of the
application, the client, typically resides on a workstation and requests
a service for the end-user. The other part of the application, the
server, usually resides on a larger machine, such as a mainframe computer.
The server program uses the resources of the mainframe computer to
perform services requested by each client.
Depending on how it is designed, a server can process requests from multiple clients concurrently. Generally, there is one server for many clients.
The client is usually the part of the application that is seen
by
the end-user. Therefore, the client half of a client/server application
most often resides on a workstation, where the end-user can interact
with the application through the workstation operating system's graphical
user interface.
Servers, on the other hand, are usually transparent to the end-user. That is, the person who sits at the workstation only perceives the client half of the application, the part that displays the information (though it was actually retrieved by a remote server). Because there is only one server for a given set of clients, servers provide an ideal way of managing shared access to system resources, such as data sets. For this reason, servers are likely to reside on larger machines such as z/OS mainframe computers.
Usually, the same person writes both the client and server parts of a client/server application.
This book explains how to write servers for an APPC/MVS environment. These servers can be written to serve client programs (also called client transaction programs, or client TPs).
For information about writing client programs to interact with APPC/MVS servers, see the appropriate programming manual for the particular operating system on which the client program will reside.
- OS/2 APPC Programming Guide and Reference
- VM/ESA CP Programming Services
- AS/400 APPC Programmer's Guide
- z/OS MVS Programming: Writing Transaction Programs for APPC/MVS