See Figure 3 on page .
In a client/server architecture the service is divided into at least two pieces. One piece, running on a local user machine, is called the client. The other, running on potentially another machine, is called the server. Traditionally the server provides the computational power or a database engine. The client concentrates on the presentation layer or GUI.
Data is sent over a network from the client to the server. The client and server may be involved in a protocol where commands and meta information are sent along with the data. Since the client and server may be of different hardware architectures marshaling the data is important. Some environments provide secure, encrypted channels and then send all data over these channels while other environments encrypt the message and send the data over the non encrypted channel. Some data may be digitally signed with a MD5 checksum.
The logic in the application may reside at either client or server but traditionally the application logic resides at the client, making the client ``fat''.
The client server architecture allows for the data to be at one server location while the access of the data to be distributed on many clients. In addition, a larger computer can be used at the server location to meet system response requirements. Many different clients that follow the conventions of the server can reuse this architecture.
Typical client/server services use messaging or remote procedure calls for underlying communication paradigms.