Sie sind auf Seite 1von 8

Clientserver model

The clientserver model of computing is a distributed application that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients.[1] Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server machine is a host that is running one or more server programs which share their 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 incoming requests.

Description
The clientserver 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 clientserver 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 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 clientserver model has become one of the central ideas of network computing. Many business applications being written today use the clientserver model. So 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. 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.

Comparison to peer-to-peer architecture


A client-server network involves multiple clients connecting to a single, central server. The file server on a client-server network is a high capacity, high speed computer with a large hard disk capacity. By contrast, peer-to-peer networks involve two or more computers pooling individual resources such as disk drives, CD-ROMs and printers[2]. These shared resources are available to every computer in the network, while each two of them communicate in a session. Each computer acts as both the client and the server which means all the computers on the network are equals, that is where the term peer-to-peer comes from. The advantage of peer-to-peer networking is the easier control concept not requiring any additional coordination entity and not delaying transfers by routing via server entities. However, the collision of session may be larger than with routing via server nodes. In the peer to peer network, software applications can be installed on the single computer and shared by every computer in the network. They are also cheaper to set up because most desktop operating systems have the software required for the network installed by default. On the other hand, the client-server model works with any size or physical layout of LAN and doesn't tend to slow down with a heavy use. [3]. Peer-to-peer networks are typically less secure than a client-server networks because security is handled by the individual computers, not controlled and supervised on the network as a whole. The resources of the computers in the network can become congested as they have to support not only the workstation user, but also the requests from network users. It may be difficult to provide

systemwide services when the client operating system typically used in this type of network is incapable of hosting the service. Client-server networks with their additional capacities have a higher initial setup cost for networking than peer to peer networks. The long-term aspect of administering a client-server network with applications largely server-hosted surely saves administering effort compared to administering the application settings per each client. In addition the concentration of functions in performant servers allows for lower grade performance qualification of the clients. It is possible to set up a server on a modern desktop computer, but it is recommended to consider investment in enterprise-wide server facilities with standardised choice of hardware and software and with a systematic and remotely operable administering strategy. It is easier to configure and manage the server hardware and software compared to the distributed administering requirements with a flock of computers[4][5].

Challenges
Generally a server may be challenged beyond its capabilities. Then a single server may cause a bottleneck or constraints problem. However, servers may be cloned and networked to fulfill all known capacity and performance requirements. Limitations include network load, network address volume, and transaction recovery time. Aspects of comparison for other architectural concepts today include cloud computing as well. Possible design decision considerations might be:

As soon as the total number of simultaneous client requests to a given server increases, the server can become overloaded. Contrast that to a P2P network, where its aggregated bandwidth actually increases as nodes are added, since the P2P network's overall bandwidth can be roughly computed as the sum of the bandwidths of every node in that network. However, this simple model ends with the bandwidth of the network: Then congestion comes on the network and not with the peers.

Any single entity paradigm lacks the robustness of a redundant configuration. Under clientserver, should a critical server fail, clients requests cannot be fulfilled by this very entity, but may be taken by another server, as long as required data is accessible. In P2P networks, resources are usually distributed among many nodes which generate as many locations to fail. If dynamic rerouting is established, even if one or more nodes depart and abandon a downloading file, for example, the remaining nodes should still have the data needed to complete the download. Mainframe networks use dumb terminals. All processing is completed on few central computers. This is a method of running a network with different limitations compared to fully fashioned clients. Using intelligent client terminals increases the maintenance and repair effort. Lesser complete netbook clients allow for reduction of hardware entities that have limited life cycles.

Introduction to Client Server Networks


The term client-server refers to a popular model for computer networking that utilizes client and server devices each designed for specific purposes. The client-server model can be used on the Internet as well as local area networks (LANs). Examples of client-server systems on the Internet include Web browsers and Web servers, FTP clients and servers, and DNS. Client and Server Devices Client/server networking grew in popularity many years ago as personal computers (PCs) became the common alternative to older mainframe computers. Client devices are typically PCs with network software applications installed that request and receive information over the network. Mobile devices as well as desktop computers can both function as clients. A server device typically stores files and databases including more complex applications like Web sites. Server devices often feature higher-powered central processors, more memory, and larger disk drives than clients.

Client-Server Applications The client-server model distinguishes between applications as well as devices. Network clients make requests to a server by sending messages, and servers respond to their clients by acting on each request and returning results. One server generally supports numerous clients, and multiple servers can be networked together in a pool to handle the increased processing load as the number of clients grows. A client computer and a server computer are usually two separate devices, each customized for their designed purpose. For example, a Web client works best with a large screen display, while a Web server does not need any display at all and can be located anywhere in the world. However, in some cases a given device can function both as a client and a server for the same application. Likewise, a device that is a server for one application can simultaneously act as a client to other servers, for different applications. [Some of the most popular applications on the Internet follow the client-server model including email, FTP and Web services. Each of these clients features a user interface (either graphic- or text-based) and a client application that allows the user to connect to servers. In the case of email and FTP, users enter a computer name (or sometimes an IP address) into the interface to set up connections to the server. Local Client-Server Networks Many home networks utilize client-server systems without even realizing it. Broadband routers, for example, contain DHCP servers that provide IP addresses to the home computers (DHCP clients). Other types of network servers found in home include print servers and backup servers. Client-Server vs Peer-to-Peer and Other Models The client-server model was originally developed to allow more users to share access to database applications. Compared to the mainframe approach, client-server offers improved scalability because connections can be made as needed rather than being fixed. The client-server model also supports modular applications that can make the job of creating software easier. In so-called "two-tier" and "three-tier" types of client-server systems, software applications are separated into modular pieces, and each piece is installed on clients or servers specialized for that subsystem. Client-server is just one approach to managing network applications The primary alternative, peer-topeer networking, models all devices as having equivalent capability rather than specialized client or server roles. Compared to client-server, peer to peer networks offer some advantages such as more flexibility in growing the system to handle large number of clients. Client-server networks generally offer advantages in keeping data secure.

Client-server architectures are sometimes called two-tier architectures.

How is a server different How do you know when from a desktop? you need a server?

How much memory and disk space will it need?

What are storage area networks?

client/server architecture
Do I need more than one server?

Will I have to replace it in six months?

Can I use a high-end desktop in place of a server?

How much will a server cost?

CLIENT/SERVER MODEL OF COMPUTING


This is client/server computing described. To truly understand how much of the Internet operates, including the Web, it is important to understand the concept of client/server computing. The client/server model is a form of distributed computing where one program (the client) communicates with another program (the server) for the purpose of exchanging information. The client's responsibility is usually to:
1. Handle the user interface.

2. 3. 4. 5. 6.

Translate the user's request into the desired protocol. Send the request to the server. Wait for the server's response. Translate the response into "human-readable" results. Present the results to the user.

The server's functions include: 1. Listen for a client's query. 2. Process that query. 3. Return the results back to the client.

A typical client/server interaction goes like this: 1. 2. 3. 4. 5. 6. 7. 8. The user runs client software to create a query. The client connects to the server. The client sends the query to the server. The server analyzes the query. The server computes the results of the query. The server sends the results to the client. The client presents the results to the user. Repeat as necessary.

A typical client/server interaction This client/server interaction is a lot like going to a French restaurant. At the restaurant, you (the user) are presented with a menu of choices by the waiter (the client). After making your selections, the waiter takes note of your choices, translates them into French, and presents them to the French chef (the server) in the kitchen. After the chef prepares your meal, the waiter returns with your diner (the results). Hopefully, the waiter returns with the items you selected, but not always; sometimes things get "lost in the translation." Flexible user interface development is the most obvious advantage of client/server computing. It is possible to create an interface that is independent of the server hosting the data. Therefore, the user interface of a client/server application can be written on a Macintosh and the server can be written on a mainframe. Clients could be also written for DOS- or UNIX-based computers. This allows information to be stored in a central server and disseminated to different types of remote computers. Since the user interface is the responsibility of the client, the server has more computing resources to spend on analyzing queries and disseminating information. This is another major advantage of client/server computing; it tends to use the strengths of divergent computing platforms to create more powerful applications. Although its

computing and storage capabilities are dwarfed by those of the mainframe, there is no reason why a Macintosh could not be used as a server for less demanding applications. In short, client/server computing provides a mechanism for disparate computers to cooperate on a single computing task.

Das könnte Ihnen auch gefallen