The client-server software architecture model distinguishes client systems from server systems, which communicate over a computer network. The software architecture of a program or computing system is the structure or structures of the system, which comprise software components the externally visible properties A client is an application or system that accesses a remote service on another Computer system, known as a server, by way of a Network. A server is a Computer dedicated to providing one or more services over a computer network typically through a request-response routine A computer network is a group of interconnected Computers. Networks may be classified according to a wide variety of characteristics A client-server application is a distributed system comprised of both client and server software. Distributed computing deals with Hardware and Software Systems containing more than one processing element or Storage element concurrent A client software process may initiate a communication session, while the server waits for requests from any client. [1]
Client/server describes the relationship between two computer programs in which one program, the client, makes a service request from another program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is a more important idea in a network. In a network, the client/server model provides a convenient way to efficiently interconnect programs that are distributed across different locations. Computer transactions using the client/server model are very common. Most Internet applications, such as email, web access and database access, are based on the client/server model. For example, a web browser is a client program at the user computer that may access information at any web server in the world. A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a To check your bank account from your computer, a web browser client program in your computer forwards your request to a web server program at the 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 your account balance. The balance is returned back to the bank database client, which in turn serves it back to the web browser client in your personal computer, which displays the information for you.
The client/server model has become one of the central ideas of network computing. Network computing is computers working together over a network as opposed to stand alone computers like Laptops and Home computers Most business applications being written today use the client/server model. So do the Internet's main application protocols, such as HTTP, SMTP, Telnet, DNS, etc. Hypertext Transfer Protocol ( HTTP) is a Communications protocol for the transfer of information on the Internet. Simple Mail Transfer Protocol ( SMTP) is a De facto standard for electronic mail (e-mail transmissions across the Internet. Telnet ( Tel ecommunication net work is a Network protocol used on the Internet or local area network (LAN connections The Domain Name System (DNS is a hierarchical naming system for computers services or any resource participating in the Internet. 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. Mainframes (often colloquially referred to as Big Iron) are Computers used mainly by large organizations for critical applications typically bulk data
Each instance of the client software can send data requests to one or more connected servers. 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. Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform
The most basic type of client-server architecture employs only two types of hosts: clients and servers. The software architecture of a program or computing system is the structure or structures of the system, which comprise software components the externally visible properties This type of architecture is sometimes referred to as two-tier. It allows devices to share files and resources.
These days, clients are most often web browsers, although that has not always been the case. A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a Servers typically include web servers, database servers and mail servers. The term web server can mean one of two things A Computer program that is responsible for accepting HTTP requests from web clients which are A database server is a Computer program that provides Database services to other computer programs or Computers as defined by the Client-server A mail transfer agent (MTA (also called a mail transport agent, message transfer agent, or smtpd (short for SMTP daemon) is a Online gaming is usually client-server too. Online games are games played over some form of computer network. In the specific case of MMORPG, the servers are typically operated by the company selling the game; for other games one of the players will act as the host by setting his game in server mode. A massively multiplayer online role-playing game ( MMORPG) is a genre of Computer role-playing games (CRPGs in which a large number of players interact with
The interaction between client and server is often described using sequence diagrams. A sequence diagram is a kind of Interaction diagram in UML, that shows how processes operate one with another and in what order Sequence diagrams are standardized in the Unified Modeling Language. Unified Modeling Language ( UML) is a standardized general-purpose Modeling language in the field of Software engineering.
When both the client- and server-software are running on the same computer, this is called a single seat setup.
Contents |
Another type of network architecture is known as peer-to-peer, because each host or instance of the program can simultaneously act as both a client and a server, and because each has equivalent responsibilities and status. A server is a Computer dedicated to providing one or more services over a computer network typically through a request-response routine For other uses of the term see Peer-to-peer (disambiguation For peer-to-peer networks used for file sharing see File sharing Peer-to-peer architectures are often abbreviated using the acronym P2P.
Both client-server and P2P architectures are in wide usage today.
While classic Client-Server architecture requires one of 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. Client-Queue-Client Software architecture, also known as Passive Queue architecture consists of two or more clients (where all clients can have either g. database, and then this other instance pulls it from database, makes a response, passes it to database etc. ). This architecture allows greatly simplified software implementation. Peer-to-Peer architecture was originally based on Client-Queue-Client concept.
Specific types of clients include web browsers, email clients, and online chat clients. A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a An e-mail client, aka Mail User Agent (MUA aka e-mail reader is a frontend Computer program used to manage E-mail.
Specific types of servers include web servers, ftp servers, application servers, database servers, mail servers, file servers, print servers, and terminal servers. The term web server can mean one of two things A Computer program that is responsible for accepting HTTP requests from web clients which are In n-tier architecture an application server is a Server that hosts an API to expose Business Logic and Business Processes for use by other A database server is a Computer program that provides Database services to other computer programs or Computers as defined by the Client-server A mail transfer agent (MTA (also called a mail transport agent, message transfer agent, or smtpd (short for SMTP daemon) is a In Computing, a file server is a computer attached to a network that has the primary purpose of providing a location for the shared storage of Computer files (such A print server, or printer server, is a computer or device that is connected to one or more printers and to client computers over a network, and A terminal server is a specialized computer which aggregates multiple communication channels together Most web services are also types of servers. A Web service (also Web Service) is defined by the W3C as "a software system designed to support interoperable machine-to-machine interaction