System Architecture Flashcards
What is the Client-Server Architecture?
It is a distributed system with two separate entities i.e. the client and the server, the client requests resources and services from the server while the server provides them on demand.
What are the types of Client-Servers(Type of Clients)?
There are 3 types of Client-Sever Systems:
1. Thin Client: In this system, the client is a lightweight device that provides only basic functionality and the majority of processing is done on the server.
- Fat Client and Thick Client: In these systems the client is a powerful device that is capable of storing data and performing complex task. But the Thick client differs in that it can have it’s own database and be independent from the server.
What is the distributed computing model and what are its components and their roles?
The distributed computing model is a model where tasks are divided between several computers(clients and servers) that work together to achieve the same goals.
Clients can:
- Request for data and resources
- Perform tasks on their own
- Share data between themselves
- Communicate with each other to coordinate tasks
Servers Can:
- Handle requests for data and resources
- Process request and return results back to clients
- Manage data
- Coordinate tasks between clients
What are the characteristics of the client-server Architecture?
- Decentralization: Clients and servers are separate entities that communicate with each other
- Distribution: Clients and servers can be located in different locations
- Interoperability: Clients and servers can communicate using standardized protocols
- Scalability: Clients and servers can be added and removed as needed based on demand
- Flexibility: Clients and servers can be configured to support different applications and services
What are the components of a client-server system or architecture?
There are three main components of the client-server architecture which are:
1. The Client: Programs with the responsibility of sending requests to the server and processing the resulting response e.g. Email clients, web browsers, and Mobile Applications.
- The Server: Programs with the responsibility of responding to client requests with a response or the requested service or resource. e.g. Web, Application, and Database servers.
- Communication Protocols: The rules that cover communication and data transfer between the server and client e.g. SMTP, HTTP, and FTP.
What are the types of requests that exist?
- Synchronous request: where the client sends a request to the server and waits for the response before continuing with another task.
- Asynchronous request: where the clients send a request to the server and immediately continue with another task while waiting for a response.
Explain the request-response cycle.
The client sends a request to the server for a service or resource, the server processes the request, the server responds to the request with the resource of service requested or with an error message, and the client processes the response accordingly
What are the types of client-server architectures?
There are 3 types of client-server architectures which include:
1. Two-tier architecture: Here the client and server are on separate machines, the client handles presentation logic while the server handles business logic and data access
- Three-tier architecture: Here there are three components the client, the application server, and the database server, the client handles presentation logic, the application server handles business logic and data access and the database server handles data storage and retrieval.
- Service-Oriented Architecture: Here the server responds to the client with reusable services that the client interacts with.
What are the functions of the client-server architecture?
-> The client initiates a request, sends a request to the server, and processes the response accordingly
-> The server processes client requests and responds with the requested resource or service or an error response
What are the advantages of the client-server architecture?
-> Clients don’t need heavy processing power as most of the processing is done on the server
-> The server provides data protection and control to data access as it provides authentication and authorization
-> The architecture is easy to scale as servers can be added to handle a change or increase in requirements
-> Data and resources are easy to manage and update as they are all stored on the server
What are the disadvantages of the client-server architecture?
-> It uses and relies on a network connection which can sometimes be slow and or unreliable
-> If the servers fail the entire architecture fails
-> It is difficult to manage multiple tiers like the server, client, and database
What is an object server and what is its function?
An object server is a type of server used for storing and managing objects, it acts a middleman between clients and a database, allowing clients
to access and manipulate data in the database.
What is a middleware and what are the types of middleware?
A middleware is a software component that acts as an intermediary between components. Its types include:
1. Messaging, and Application server middlewares: Both act as intermediaries between servers and clients
2. Data Access Middleware: It acts as an intermediary between the client and a database
What are the five main technologies used in building client-server applications?
Acronym: DD-GIT
Database Servers
Distributed Objects
Groupware
Intranets
Tp Monitors
Differentiate between cloud and cloud computing?
The cloud is a network or remote servers, that users can access over the internet to store, manage and process data, while
Cloud computing means providing computing services that users can access over the internet, and using the computing services
without having to manage the underlying infrastructure