Web Application + Software Architecture Flashcards
What is Web Architecture?
Multiple components (DBs, message queue, cache, UI) all running in conjunction to form an online service
What is Client-Server Architecture?
Fundamental Building Block of the Web
Request-Response model - Client sends request to server for info, server responds with it.
What is a Thin Client?
Client that Just holds the UI of the app. No business logic. No business Logic.
For every action, client sends request to backend (just like 3-Tier App)
What is a Thick/Fat Client?
Holds all or some part of the business logic + the UI
When to use Thick Client?
When we need to minimize the network latency and reduce network calls to backend server. Keeps latency of the app low.
Need to reduce bandwidth consumption in the client server for a smoother user experience. Enhances user experience, reduces latency.
What is a web server?
A component in web application infrastructure.
Receives requests from client and sends response AFTER executing business logic, based on parameters sent from the client.
What is an application server?
A server running a web app.
Every service needs a server to run.
List some types of web server based on their core task
Proxy Server
Mail Server
File Server
Virtual Server
Data Storage Server
Batch Job server
What is a Request-Response Model?
Client and servers have a request-response model…no request, there is no response.
What is the HTTP Protocol?
Protocol for data exchange over World Wide Web.
Stateless protocol. Every request independent, has no knowledge of previous
What is a REST API?
Representational State Transfer - Architecture Style for building web services
What requirements do APIs need to adhere to in order to be REST compliant?
API must act as an interface
API must provide communication between client/server over HTTP Protocol
Communication must be stateless - every new request is completely independent of the last/next
API must send Auth info with every request
What is HTTP PULL data transfer between client and server?
Client sends request to server. Client pulls data from server whenever required. Done over and over to fetch latest data.
What is HTTP PUSH data transfer between client and server?
Keeps the server from being brought down by excessive HTTP requests. Uses Callbacks to to allow server to keep sending updates to clients when they’re available
What is a Callback for the HTTP Push Mechanism?
Mechanism for client to send request for certain info once. After the first request, server keeps pushing updates to client once they’re available.