0% found this document useful (0 votes)
27 views6 pages

PublishedPaperIJSRET V10 Issue1 125

Uploaded by

peanuttsujita
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views6 pages

PublishedPaperIJSRET V10 Issue1 125

Uploaded by

peanuttsujita
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/376512127

Architectural Review of Client-Server Models

Article in International Journal of Scientific Research and Engineering Trends · January 2024

CITATIONS READS

0 1,342

3 authors:

Samuel Mbuguah Victor Mony


Kibabii University ,Kenya, Bungoma Kibabii University College
28 PUBLICATIONS 31 CITATIONS 5 PUBLICATIONS 0 CITATIONS

SEE PROFILE SEE PROFILE

Geofrey Nyabuto
Kibabii University
11 PUBLICATIONS 4 CITATIONS

SEE PROFILE

All content following this page was uploaded by Geofrey Nyabuto on 30 January 2024.

The user has requested enhancement of the downloaded file.


International Journal of Scientific Research & Engineering Trends
Volume 10, Issue 1, Jan-Feb-2024, ISSN (Online): 2395-566X

Architectural Review of Client-Server Models


Mr. Geofrey Mwamba Nyabuto, Mr. Victor Mony, Professor Samuel Mbugua
Kibabii University, Information Technology, Bungoma

Abstract- Client-server architecture is a distributed systems architecture where one or more client computers request resources
from a server computer over a network. The client computers provide user-friendly interfaces through which users request
resources from the server. In turn, the server receives one or more requests, processes them, and returns a response to the
requesting client. The birth of this architecture led to the birth of many models and applications including the Internet, banking
systems, and mobile cellular networks among others. This model enables multiple users to simultaneously access and use the
same resource. This study used a systematic approach to review types of client-server architecture, comparing these types by
pointing out their characteristics, advantages, and disadvantages. Through the Google search engine, articles were retrieved,
reviewed, and analyzed. The study was able to note that each of the types of client-server architecture has its advantages and
disadvantages as per implementation needs. Two-tier architecture works well in a small set-up where not many resources are
available, and the implementation is not resource intensive. On the other end, n-tier architecture is suitable where a lot of
resources are needed, and high processing speed is required.

Index Terms- Client-server architecture, two-tier, three-tier, n-tier, cloud computing, micro services, inter-process
communication.

I. INTRODUCTION complex computers with high processing power based on the


programs they are running on (Liu, 2019). The server receives
The client-server architecture describes a computing model typical requests, processes them, and responds to the client
where one computer called a client requests a resource from (Kumar, 2019). Constructing a server needs complex privileges
another computer called a server over a network connection as they need to run many programs including security
(Guynes & Windsor, 2011). The server receives the request, mechanisms that validate and authenticate user requests before
processes it, and responds to the client. In this model, there can allowing them to be processed.
be one or more client computers that request resources or
services from one or more servers working together to service 1. Characteristics of Client-Server Architecture
the request. The server usually has a database where it stores its The client-server architecture has some distinct architectural
data and runs programs that enable it to receive and process designs that set it apart from the rest. In the first case, both the
requests (Sharanagowda, 2022). Standardized protocols exist client and the server computers need a protocol through which
that enable the client and server to communicate. They include they can exchange and share information (Oluwatosin, 2014).
hypertext transfer protocol (HTTP), file transfer protocol (FTP) These computers communicate directly with the transport layer
and simple mail transfer protocol (SMTP). This architecture protocol. In the OSI model, there exist layers through which
provides inter-process communication between the client and information passes as it moves from one computer to the other
the server through which they can exchange data (Kratky & hence the protocol comes in handy to ensure each of those
Reichenberger, 2013). Many applications are running on this levels can understand and pass data as it moves through it. The
model including email exchange, database systems and the transport layer uses the lower layer protocols to send and
Internet. receive messages. Another characteristic is the ability of one
server being able to service several requests simultaneously
Requests emanate from the client, and it is sent to the server with the server requiring different programs that can process
through a communication channel like a network. Clients could these requests (Pandey, 2023). Another important characteristic
be simple computers that run client programs like web of this architecture is its scalability both vertically and
browsers, mobile applications or any other application that can horizontally hence more and more servers can be plugged into
request a service or resource (Borrie, 2004). Such computers do the architecture to support handling the workload (Ivanovi´c et
not need many configurations or complex programs since they al., 2017). At the same time, server capabilities can be increased
do not service any request. On the other hand, servers are like RAM and CPU. In the client-server architecture, client and

© 2023 IJSRET
139
International Journal of Scientific Research & Engineering Trends
Volume 10, Issue 1, Jan-Feb-2024, ISSN (Online): 2395-566X

server computers can run on heterogeneous hardware and from their end as they fully rely on networks to access and
software resources. request a resource (Ahlan et al., 2010). This design is mostly
used where sensitive information is involved and where client
2. Advantages of Client Server Architecture computers cannot run some applications or even store data (A
Since its inception and adoption, the client-server architecture et al., 2017). On the other hand, thick client involves using
has brought several interventions and innovations some of client computers that can process some requests locally as they
which have allowed easier collaboration and resource sharing. run applications that allow them to handle these requests
One of the outstanding features of this architecture is its ability (Zakoldaev et al., 2019). For example, mobile applications can
to store data centrally with remote access from client computers run some applications independently without requesting any
geographically distributed around the world (Cimen et al., resources from the server. However, periodically, they can
2014). This ideally means that resources from the server can be connect to the server if some remote resources are needed.
accessed from multiple locations. With this distribution comes
scalability as more resources can easily be plugged into the II. METHODOLOGY
architectures and utilized from any location (Rana & Saleh,
2022). This increased the processing power of the architecture The research used a desktop review where journal articles
and ensured less to no turnaround time while servicing the published in peer-reviewed journals with open access were
requests. Such a model makes it easier and cheaper to maintain considered for analysis (Brereton et al., 2007). Articles on
resources in this architecture as they can be managed centrally. client-server architecture were searched through the Google
Load balancing is possible as the architecture allows plugging search engine and retrieved for evaluation in the next steps.
in easily of extra servers redundant and replica servers that Review articles were excluded from the research and only those
spread the workload across and at the same time offers an easier articles that collected primary data were included. Articles
recovery option in case one server fails (Guynes & Windsor, written in any other language apart from English were also
2011). All these are geared towards making resource sharing excluded.
possible regardless of the user’s physical location.
III. DATA ANALYSIS AND FINDINGS
3. Disadvantages
Since its incorporation and use, the client-server architecture A total of 15 articles met the set criteria and were considered
has been applied in several designs and applications harnessing for further analysis. From the articles, the most common types
various advantages. To its advantage are disadvantages that of client-server architecture were analyzed, and their
could potentially hinder its implementation if not considered advantages and disadvantages were also considered. Below is
and managed appropriately. One of the key disadvantages of a detailed description of these types of client-server
this architecture is its ensuring there is security of any shared architectures.
resource. As per its design, all information is stored centrally,
hence any issue with the network connection between the client
and the server could potentially affect or hinder the usability of IV. TYPES OF CLIENT-SERVER
this model. Any technical issue with the server will make it ARCHITECTURES
impossible for the client computers to connect and access any
resource from the server. Man-in-the-middle and Denial of There exist different client-server architectures based on the
Service (DoS) attacks are some of the most common attacks number of servers involved in the implementation. Some of the
that potentially affect the implementation of this architecture common architectures include.
(Chahal et al., 2019). DoS renders resources inaccessible
whereas Man in the Middle alters information as it is being sent 1. Two-Tier Architecture
between the client and the server. Other attacks include packet In this model, there are only two tiers of computing devices
spoofing among others. The initial implementation of this involved i.e., client and server. Workload is divided among
architecture is very expensive as it involves purchasing and these computers where the client will host user interfaces and
setting up powerful servers, setting up security mechanisms be used to send requests to the server whereas the server will
like purchasing and installing firewalls, and network set-up host the system that will be processing user requests. Such an
among others (Thomas et al., 2009). architecture can be used in managing simple applications which
do not need a lot of processing power.
4. Client Types in Client-Server Architecture
Client-server architecture can be implemented in two forms, Advantages
i.e., thin client architecture and thick client-server architecture.  High performance as the database and application are
In thin client architecture, the design involves the use of client hosted in the system i.e., physically close to one another
computers that run to access resources from the server. These hence can quickly share information and service requests.
client computers do not handle any processing of information

© 2023 IJSRET
140
International Journal of Scientific Research & Engineering Trends
Volume 10, Issue 1, Jan-Feb-2024, ISSN (Online): 2395-566X

 Developing applications that run on this architecture is The three components of this architecture are.
easier as they don’t need any extra logic for linking with Client Tier
other servers. This is the tier that displays information and exists at the
 Applications developed in this environment are highest level. It sends information to other tiers for processing
homogeneous as they have static business logic. and displays results by sending them to the browser.
Logic or Application Tier: This is the middle tier also called the
logic or business logic layer. It does the processing of requests
as received from the client tier, and fetches data from the data
tier to help in processing and servicing requests.

Data Tier
In this tier, information is stored and retrieved from the
database. This tier does the actual storage of data using a
database management system. The application layer services
requests by extracting necessary information from this tier.
Figure 1: Two-tier Architecture

Advantages
 High performance as the database and application are
hosted in the system i.e., physically close to one another
hence can quickly share information and service requests. Figure 2: Three-tier Architecture
 Developing applications that run on this architecture is
easier as they don’t need any extra logic for linking with Advantages
other servers.  Easier maintainability: With the separation of concerns
 Applications developed in this environment are and modularization of systems, it is easier to maintain such
homogeneous as they have static business logic. a system.
 Improved scalability: It is easier for each of these servers
Disadvantages to scale up since they run separately.
The two-tier architecture is an excellent design for systems with  Better security: Since the presentation, application and
very few users who concurrently access the system. However, data layers are separated, there is improved security. Users
as the number of users concurrently accessing the system are unable to directly manipulate the database as all
increases, this model proves ineffective with the below requests must go through the application tier.
challenges.  Increased performance as data and business logic are
 Performance becomes a challenge as the number of users separated and each server or tier focuses on the processing
accessing and using the system resources increases. This of its core requests as required.
negatively impacts the implementation of such a system
rendering it unusable. Extra mechanisms need to be put in Disadvantages
place to ensure user requests are serviced.  Compared to a two-tier architecture, it is complex to build
 The two-tier architecture applications face a problem of a three-tier due to the increased number of communication
portability as the systems are tightly coupled. They are points.
dependent on some databases, and migrating from one to  This model may call for an implementation of proxy server
another usually proves problematic. For example, porting that may end up increasing traffic.
a system running on MySQL to another RDBMS like
MSSQL is usually very challenging. 3. N-Tier Architecture
Also called multi-tier architecture, this model has presentation,
2. Three-Tier Architecture processing and data management logic separated both logically
This architecture introduces an additional tier to the two-tier and physically. In this architecture, several servers come
architecture to help overcome challenges encountered while together to process a request. The architecture has clearly
implementing it. In this model, the business logic, that is, the defined or separate layers with each implementing a specific
access of information, data storage and user interfaces are all functionality.
hosted differently. The additional tier hosts the application
system while the other hosts the database. This means the This model has several advantages and applications. It has
application system sits on a different server as well and the widely been applied in developing scaling applications like
database or storage system sits on another server. customer relationship management systems (CRM) as it has

© 2023 IJSRET
141
International Journal of Scientific Research & Engineering Trends
Volume 10, Issue 1, Jan-Feb-2024, ISSN (Online): 2395-566X

proved to be efficient, fast, and secure (Bhardwaj et al., 2014). network LAN and on the Internet. The server ensures all
N-tier architecture is scalable compared to the other requests received from the client are serviced. Many
architectures and helps improve data integrity. It is easier to applications, for example, mail systems, printing systems, ATM
create reusable components with improved security in this and others are based on this model.
architecture. Though this architecture has many advantages, it
is very complex to design applications in this architecture as a Cloud computing, a buzzword in the modern computing era is
lot of effort is needed to program, deploy, and maintain these based on this architecture as well as micro services. With this
applications. architecture, we can have simple implementations that do not
require many resources implementing a 2-tier architecture
whereas complex n-tier architecture is implemented where a lot
of resources are needed, and high processing power is desired.

Figure 3: N-tier Architecture REFERENCES

V. RECENT AND FUTURE DEVELOPMENT 1. A, A. A., PhamHung, P., & NamHuh, E. (2017). An
Architecture of Thin Client in the Internet of Things and
Connected computing devices can share information through Efficient Resource Allocation in Cloud for Data
the Internet. The concurrent sharing of data by several devices Distribution. The International Arab Journal of
has made it possible to have interventions like massively Information Technology, 842-850.
multiplayer online games where users can play and compete 2. Ahlan, A. R., Mahmud, M. b., & Arshad, Y. b. (2010).
virtually (Ali et al., 2020). The success of applications on the Conceptual Architecture Design and Configuration of Thin
internet is made possible through the client-server architecture Client System For Schools in Malaysia: A Pilot Project.
making it possible for different users from different locations 952-955.
to share and access information stored centrally. 3. Ali, S., Alauldeen, R., & Khamees, R. A. (2020). What is
Client-Server System: Architecture, Issues and Challenge
1. Cloud Computing of Client-Server System (Review). ResearchGate, 1-6.
With increased adoption and penetration of IT in every aspect 4. Bhardwaj, D., Pandya, D., & Patel, D. (2014).
of human life, more data will continuously be generated by Implementing N-Tier Architecture for Improvement in
different devices that will ultimately need storage. This ideally Customer Relationship Management “CRM”.
means there will be an increased need for data centres to store International Journal of Engineering Research &
this data. Increased internet speeds will further push the use of Technology (IJERT), 2205-2209.
cloud computing technologies. Technologies like IoT, AI, and 5. Borrie, H. (2004). Introduction to Client/Server
ML, among others, will further push the demand for cloud Architecture. In H. Borrie, The Firebird Book: A Reference
computing services as they rely on the internet and data for their for Database Developers (pp. 75-84). IBPhoenix.
success and recent research already shows their increased 6. Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M.,
adoption (Islam et al., 2023). & Khalil, M. (2007). Lessons from applying the systematic
literature review process within the software engineering
2. Microservices domain. Journal of Systems and Software, 571-583.
Due to the increased demand for high-performance software 7. Chahal, J. K., Bhandari, A., & Behal, S. (2019).
systems, there is a need to develop modular software systems Distributed Denial of Service Attacks: A Threat or
that are based on the microservice architecture. Microservice Challenge. In New Review of Information Networking
architecture advocates for the development of independently (pp. 31-103).
deployed, loosely coupled software systems which leads to the 8. Cimen, C., Kavurucu, Y., & Aydin, H. (2014). Usage of
rapid development of highly scalable and reliable software Thin-Client / Server Architecture in Computer Aided
systems. The client-server architecture allows rapid Education. The Turkish Online Journal of Educational
deployment and communication between the different services Technology, 181-185.
(Zhang et al., 2023). 9. Guynes, C. S., & Windsor, J. (2011). Revisiting
Client/Server Computing. Journal of Business &
VI. CONCLUSION Economics Research, 17-22.
10. Islam, R., Patamsetti, V. V., Gadhi, A., Gondu, R. M.,
Client-server architecture is one of the most popular models Bandaru, C. M., Kesani, S. C., & Abiona, O. (2023). The
making use of both the client and server hardware resources to Future of Cloud Computing: Benefits and Challenges.
service a request. This architecture can be used in both the local

© 2023 IJSRET
142
International Journal of Scientific Research & Engineering Trends
Volume 10, Issue 1, Jan-Feb-2024, ISSN (Online): 2395-566X

International Journal of Communications, Network and


System Sciences, 53-65.
11. Ivanovi´c, M., Vidakovi´c, M., Budimac, Z., & Mitrovi´c,
D. (2017). A scalable distributed architecture for client and
server-side software agents. Vietnam J Comput Sci, 127-
137.
12. Kratky, S., & Reichenberger, C. (2013). Client/Server
Development based on the Apple Event Object Model.
Atlanta.
http://preserve.mactech.com/articles/mactech/Vol.14/14.1
1/Client-ServerDevelopment/index.html
13. Kumar, S. (2019). A Review on Client-Server Based
Applications And Research Opportunity. International
Journal of Recent Scientific Research, 3857-33862.
14. Liu, B. Q. (2019). Research on Server In System Based on
Mobile Client. th International Congress of Information
and Communication Technology (ICICT-2019 (pp. 750-
753). Beijing: Elsevier Ltd.
15. Oluwatosin, H. S. (2014). Client-Server Model. IOSR
Journal of Computer Engineering, 67-71.
16. Pandey, P. (2023, April 19). Understanding of Client-
Server Architecture and Communication Protocols.
Medium.
https://medium.com/@pankaj_pandey/understanding-of-
client-server-architecture-and-communication-protocols-
486884ed5f5e
17. Rana, M. E., & Saleh, O. S. (2022). High assurance
software architecture and design. In N. Mansourov, & D.
Campara, Systems Assurance (pp. 271-285). Academia
Press.
18. Sharanagowda, K. (2022). A Study on the Client Server
Architecture and Its Usability. IOSR Journal of Computer
Engineering, 73-76.
19. Thomas, M. A., Redmond, R. T., & Weistroffer, H. R.
(2009). Moving To The Cloud: Transitioning From Client-
Server To Service Architecture. Journal of Service Science,
1-10.
20. Zakoldaev, D. A., Gurjanov, A. V., Shukalov, A. V., &
Zharinov, I. O. (2019). Client-server technologies at the
enterprises of Industry 4.0. IOP Conference Series:
Materials Science and Engineering (pp. 1-6). IOP
Publishing Ltd.
21. Zhang, L., Pang, K., Xu, J., & Niu, B. (2023). High-
performance microservice communication technology
based on modified remote procedure calls. Scientific
Reports, 1-17.

© 2023 IJSRET
143

View publication stats

You might also like