Analysis and Application of Client-Server Architectural Pattern

Verified

Added on  2023/06/03

|4
|561
|464
Report
AI Summary
This report discusses the client-server architectural pattern as the most suitable choice for splitting a system into independent execution structures, such as databases, business logic, web interfaces, and clients, connected via communication media. It highlights the pattern's ability to provide a specific server environment optimized for operational requirements and resource usage. The architecture separates components, allowing them to work interdependently, with a single server providing services to multiple clients. The report details how clients request services, the server grants them, and the session state is managed either by the server or the client. Advantages such as ease of maintenance, scalability, and centralized control are also discussed, emphasizing encapsulation in clients to separate components effectively. The report also provides examples of client-server architectures, including file systems, remote database systems, and web applications, supported by relevant references.
Document Page
Client-Server Architectural Pattern
For the description below, the best pattern would be client-server architecture. This type of
architecture helps in separating components and allow them to work interdependently of one
another. A single server can provide services to multiple clients. Servers are always on
listening to clients. A client requests a service from a server through a communication
channel, the server provides the services and waits for the next client. Servers are literally
permanently active unless an incidence occurs.
Clients may reside in different machines from the servers hence a “mechanism to overcome
machine and process boundaries” (Architectural Patterns, 2018). Communication channels
involving wired or wireless communication can be used in client-server architecture to
connect the clients and the server. This type of “architecture can be seen as a layered pattern
where the clients are on the higher level and the server on the lower level’ (Architectural
Patterns, 2018).
Databases reside in server side and clients send requests to access the database. The server
grants the request and the clients are able to display data. Web interfaces are clients. An
example is when one is browsing a website like Facebook, the interface communicates with
the servers to be able to display user information.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
The diagram below shows how a client-server architecture looks like:
TCP/IP
SERVER
CLIENT
Document Page
Examples of client-server architectures include file systems where clients access files from
the server side, remote database systems where clients request information from databases
residing in the server, web applications where browsers request information from web
servers.
In the client-server pattern, the session state can either be maintained by the server (Stateful
Server) or by the client (Stateless Server). In stateless server, “the client sends state together
with the request as in web applications where state can be hidden in form fields or in
cookies” (Architectural Patterns, 2018). In stateful server, the state is maintained at server
side with the client-id information associated.
Client-Server systems are easy to “maintain since clients and servers can be repaired
independently without affecting “ (Mallawaarachchi, 2018) one another. This type of
architecture is also easily scalable. One can increase the number of servers or clients
independently in order to expand the system. Lastly, “control of the system is centralised “
(Mallawaarachchi, 2018) making it easier to secure. Once access to the server is restricted,
multiple clients do not pose a threat to the system.
The description in the scenario can be achieved best by client-server service given that the
advantages and the structure that the pattern adopts. Encapsulation in clients makes it
possible to separate components.
Document Page
References
Architectural Patterns. (2018). [ebook] pp.39-40. Available at:
https://www.esds.co.in/blog/advantages-and-disadvantages-of-client-application-server/
#sthash.X9Y4X0vV.dpbs [Accessed 13 Oct. 2018].Mallawaarachchi, V. (2018). 10
Mallawaarachchi, V. (2018). 10 Common Software Architectural Patterns in a nutshell.
[online] Towards Data Science. Available at: https://towardsdatascience.com/10-common-
software-architectural-patterns-in-a-nutshell-a0b47a1e9013 [Accessed 13 Oct. 2018].
chevron_up_icon
1 out of 4
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]