Client-server computing or networking is a distributed application architecture that partitions tasks or work loads between service providers (servers) and service requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server machine is a high-performance host that is running one or more server programs which share its resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await ( listen to) incoming requests.
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.
Functions such as email exchange, web access and database access, are built on the client-server model. For example, a web browser is a client program running on a user's computer that may access information stored on a web server on the Internet. Users accessing banking services from their computer use a web browser client to send a request to a web server at a bank. That program may in turn forward the request to its own database client program that sends a request to a database server at another bank computer to retrieve the account information. The balance is returned to the bank database client, which in turn serves it back to the 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. So do the Internet's main application protocols, such as HTTP, SMTP, Telnet, DNS. In marketing, the term has been used to distinguish distributed computing by smaller dispersed computers from the "monolithic" centralized computing of mainframe computers. But this distinction has largely disappeared as mainframes and their applications have also turned to the client-server model and become part of network computing.
Each instance of the client software can send data requests to one or more connected server s. In turn, the servers can accept these requests, process them, and return the requested information to the client. Although this concept can be applied for a variety of reasons to many different kinds of applications, the architecture remains fundamentally the same.
The most basic type of client-server architecture employs only two types of hosts: clients and servers. This type of architecture is sometimes referred to as two-tier . It allows devices to share files and resources. The two tier architecture means that the client acts as one tier and application in combination with server acts as another tier.
The interaction between client and server is often described using sequence diagrams. Sequence diagrams are standardized in the Unified Modeling Language.
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.
In peer-to-peer architectures, each host or instance of the program can simultaneously act as both a client and a server, and each has equivalent responsibilities and status.
Both client-server and peer-to-peer architectures are in wide usage today. Details may be found in Comparison of Centralized (Client-Server) and Decentralized (Peer-to-Peer) Networking.
While classic client-server architecture requires one of the communication endpoints to act as a server, which is much harder to implement, Client-Queue-Client allows all endpoints to be simple clients, while the server consists of some external software, which also acts as passive queue (one software instance passes its query to another instance to queue, e.g. database, and then this other instance pulls it from a database, makes a response, passes it to database etc.). This architecture allows greatly simplified software implementation. Peer-to-peer architecture was originally based on the Client-Queue-Client concept.
insert the description to be displayed by the search engine. Also searched by the search engine.
ClockWatch Client/Server communicates with external timeservers to maintain the correct time on each of your network client computers. It's the ideal network time sync solution ...
client/server network. A computer network in which one centralized, powerful computer (called the server) is a hub to which many less powerful personal computers or workstations ...
The client-server paradigm lacks the robustness of a good P2P network. [citation needed] Under client-server, should a critical server fail, clients’ requests cannot be fulfilled.
The term client server refers to any network design utilizing networked client and server computers and application software. Web, FTP, email, DNS and many other database ...
QP Internet-Client/Server Division.
Client Server Software Informer. Featured Client Server free downloads and reviews. Latest updates on everything Client Server Software related.
Acronym Definition; CSN: Crosby, Stills, and Nash (band) CSN: Confédération des Syndicats Nationaux (French) CSN: Consejo de Seguridad Nuclear (Spanish: Nuclear Safety Council)
Patent number: 6853713 Filing date: Dec 17, 1999 Issue date: Feb 8, 2005 Application number: 9/466,619
cleaned additionnal test on static __inline function in the server, added an exec directory