server computing, which is an extension of modular programming, which in turn makes the basic assumption that when you separate a large piece of software into its constituent parts ("modules") , you have created the possibility for easier development and better maintainability. Client/server computing takes this a step farther by recognizing that those modules need not all be executed within the same memory space. With this architecture, the calling module becomes the "client" (that which requests a service), and the called module becomes the "server" (that which provides the service) (Barbetta, 1996).
The logical extension of this is to have clients and servers running on the appropriate hardware and software platforms for their functions. For example, database management system servers running on platforms specially designed and configured to perform queries, or file servers running on platforms with special elements for managing files. The client is a process (program) that sends a message to a server process (program), req
...