Introduction to Ice
Copyright © 2005-2011 ZeroC, Inc.
Clients and Servers
A client–server system is any software system in which different
parts of the system cooperate on an overall task.
– A server is an entity that, on request, provides a service (such as a
computation) to clients. Servers are passive.
– A client is an entity that requests services from servers.
Clients are active.
– Client and server often run on separate machines, but might also
run on the same machine or be linked into a single process.
Frequently, clients and servers are not “pure” clients and servers.
– A server might act as a client, and a client might act a server.
– Client and server are therefore roles that have a well-defined
meaning only for the duration of a single request. The initiating side
is, by definition, the client; the responding side is, by definition, the