- Client-server architecture partitions tasks between service providers (servers) and service requesters (clients). Servers are dedicated machines that provide resources to clients.
- Common examples include web servers providing pages to browsers (clients) and database servers providing data to application clients. This allows for centralized management of resources and data.
- A multi-tier or n-tier architecture separates the user interface, business logic, and data access into independent logical layers or tiers, often on separate machines, for improved scalability and maintenance.
Download as PPTX, PDF, TXT or read online on Scribd
100%(1)100% found this document useful (1 vote)
2K views
Client Server Architecture
- Client-server architecture partitions tasks between service providers (servers) and service requesters (clients). Servers are dedicated machines that provide resources to clients.
- Common examples include web servers providing pages to browsers (clients) and database servers providing data to application clients. This allows for centralized management of resources and data.
- A multi-tier or n-tier architecture separates the user interface, business logic, and data access into independent logical layers or tiers, often on separate machines, for improved scalability and maintenance.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15
Client Server Architecture
A network architecture in which each computer or process on
the network is either a client or a server. Servers are powerful computers or processes dedicated to managing disk drives (file servers), printers (print servers), or network traffic (network servers). Clients are PCs or workstations on which users run applications. Clients rely on servers for resources, such as files, devices, and even processing power. Another type of network architecture, 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 widely
used, and each has unique advantages and disadvantages Client Server Architecture • Client-server architectures are sometimes called two-tier architectures. • Client-server computing or networking is a distributed application architecture that partitions tasks or work loads between service providers (servers) and service requesters, called client. 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 Client Server Architecture • Client-server describes the relationship between two computer programs in which one program, the client program, makes a service request to another, the server program. Standard networked functions such as email exchange, 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. Client Server Architecture
• 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 to the bank database client, which in turn serves it back to the web browser client in your personal computer, which displays the Client Server Architecture • 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 Client Server Architecture • 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. • 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 Client Server Architecture • The interaction between client and server is often described using sequence diagram. 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. Client Server Architecture
Multitier architecture
• In software engineering, multi-tier
architecture (often referred to as n-tier architecture) is a client-server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use of "multi-tier architecture" refers to three-tier architecture. Client Server Architecture
Multitier architecture
• The concepts of layer and tier are
often used interchangeably. However, one fairly common point of view is that there is indeed a difference, and that a layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure. Three-tier architecture Client Server Architecture • 'Three-tier' is a client-server architecture in which the user interfaces, functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms Client Server Architecture • Presentation Tier • This is the topmost level of the application. The presentation tier displays information related to such services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other tiers by outputting results to the browser/client tier and all other tiers in the network. • Application Tier (Business Logic/Logic Tier) • The logic tier is pulled out from the presentation tier and, as its own layer, it controls an application’s functionality by performing detailed processing. Client Server Architecture • Data Tier • This tier consists of Database Servers. Here information is stored and retrieved. This tier keeps data neutral and independent from application servers or business logic. Giving data its own tier also improves scalability and performance. • Note: In the Web development field, three-tier is often used to refer to Advantages of Centralized Client/Server Resources All data stored in one location Easier to backup files and data Easier to find files and data Efficient Software optimized for multiple users Hardware optimized for multiple users
Security One machine can secure entire
network One central login
Scalability Easy to add new resources
Disadvantages of Client/Server • If the server goes down, it takes part or the whole network with it. • It is more expensive to install. • Needs to be maintained by staff with high IT skills • Traffic congestion on the network has been an issue since the inception of the client-server paradigm. As the number of simultaneous client requests to a given server increases, the server can become overloaded • Under client-server, should a critical server fail, clients’ requests cannot be fulfilled.