Wednesday, 12 September 2012

Client-server Interaction

The client/server characteristic describes the relationship of cooperating programs in an application. The server component provides a function or service to one or many clients, which initiate requests for such services. A notable example of this is the way OpenGL treats the video card of a computer as a server, with the actual application making rendering requests to it. This model is further solidified with the OpenGL Shading Language, with the user writing small programs that live in video memory, and are requested from the main program through the graphics driver.
Functions such as email exchange, web access and database access are built on the client/server model. Users accessing banking services from their computer use a web browser client to send a request to a web server at a bank. That web server runs a program which may in turn, forward the request to its own database client program, which sends a request to the bank's database server (which runs on another computer) to retrieve the account information. The balance and transaction records are returned to the bank database client, which in turn serves it back to the user's web browser client, displaying the results to the user. The client–server model has become one of the central ideas of network computing. Many business applications being written today use the client–server model, as do the Internet's main application protocols, such as HTTP, SMTP, Telnet, and DNS.

The interaction between client and server is often described using sequence diagrams. The Unified Modeling Language has support for sequence diagrams.

Specific types of clients include web browsers, email clients, and online chat clients.

Specific types of servers include web servers, ftp servers, application servers, database servers, name servers, mail servers, file servers, print servers, and terminal servers. Most web services are also types of servers.

No comments:

Post a Comment