Report writing for fundamental of computing (week 14)

Topic G01: Client Server Architecture

On the 13th week we learnt about client server architecture which was the last topic of the semester. In this topic we came to know how client-server architecture works , and its three type. We also came to know about the cloud computing and its platform or services.

Introduction

Client-server architecture is a network model where multiple client devices seek services from a central server. Clients enable users to request services from the server and present the server's responses. Servers, on the other hand, remain ready to receive client requests and promptly fulfill them.

In a client-server architecture, every device or system within a network assumes a role as either a server or a client. Server machines are high-powered computers dedicated to managing printers, disk drives, and network traffic. Clients, on the other hand, can be any computer that seeks services from a server. For instance, when we visit a website, we are acting as clients, requesting webpages from the server. In this scenario, the server is the computer responsible for responding to the client's requests by providing the requested webpages.

Working of Client-Server Architecture

In the provided image, when a client needs data from a server, it initiates the process by querying the DNS (Domain Name System) to obtain the server's IP address. The DNS server then provides the IP Address.

With the obtained IP Address, the client sends a request to the server, specifying the port number associated with the particular application it requires. The server processes this request and sends a response back. The client receives the response, and based on the port number, it directs the response packet to the corresponding application.

At a broad level, the interaction between the client and server occurs through HTTP packets.

 


Types of Client-Server Architecture

 1-Tier Architecture

  • In a 1-Tier Client-Server Architecture, all components of an application, including User Interface, Business Logic, Database Logic, and the Database itself, are bundled into a single unit for application delivery. While this approach provides a range of services and reliability, it is challenging to manage due to issues with data consistency and duplicated work. In a 1-tier architecture, the application is structured into layers, such as presentation, business, and data, which are merged into a single software package. Typically, this layer stores data either locally or on a shared drive.


2-Tier Architecture

  • In a 2-Tier Client-Server Architecture, the application logic is organized into two distinct layers, with the database functioning as a separate entity. The database is designed independently, while the primary application encompasses the user interface, business logic, and database-related functions for communication and application processing. This architecture offers a more efficient environment compared to the 1-Tier model. It provides speed advantages, as there is no intermediary layer between the client and server, reducing client confusion. A well-known example of a 2-Tier architecture is an online reservation system.


3-Tier Architecture

  • In contrast to a 2-tier system without middleware, a 3-tier system introduces middleware between the client and the server. When a client makes a request to the server, it first goes through the middleware, which then forwards the request to the server for processing. Likewise, the server sends its response back to the client through the middleware. In a 3-tier architecture, there are three primary layers: the presentation layer, the application layer, and the database layer. Each layer interacts with different endpoints. The presentation layer is controlled by client devices, while the middleware and the server manage the application and database layers, respectively. The presence of this third layer responsible for data control enhances the security of the 3-tier architecture, maintains discreet database structures, and ensures data integrity.


Cloud Computing

  • Today, cloud computing is pervasive, benefiting both businesses and individuals with various applications. Cloud services encompass data storage platforms such as Google Drive, Dropbox, OneDrive, or Box.
  • Cloud computing entails the provision of IT resources via the Internet with a pay-as-you-go model. Rather than investing in physical data centers and servers, you can procure technology services like computing power, storage, and databases from cloud providers like Amazon Web Services (AWS) as and when required.
  • Cloud computing delivers a range of services over the Internet, encompassing tools like data storage, servers, databases, networking, and software. It enables remote data storage and accessibility from any web-connected device.
  • Cloud computing is favored for its cost-efficiency, productivity gains, speed, performance, and security, making it a popular choice for individuals and businesses.

Cloud computing consists of three primary services:

1. Software-as-a-Service (SaaS): Provides software access on a subscription basis via external servers, eliminating the need for local installation.

2. infrastructure-as-a-Service (IaaS):Offers IT infrastructure over the internet, often linked with serverless computing.

3. Platform-as-a-Service (PaaS): Delivers software and hardware to developers, enabling app development and management without infrastructure building and maintenance.




Comments

Popular posts from this blog

Report writing for fundamental of computing (week 12 and 13)

Report writing for fundamental of computing (week 8)