#cs454

Reading: 2.1, 2.3

Architectural Styles

Formulated in terms of components, the way that components are connected to each other, the data exchange between components and these elements jointly configured into a system.

Layered architectures

Components are organized in a layered fashion. Requests typically go downwards.

Object-based and service-oriented architectures

Components organized through a procedure-call mechanisms. Provide a natural way of encapsulating data.

Resource-based architectures

Distributed system being a huge collection of resources being individually managed by components. Ex: REST

System Architectures

Multi-client / single server

Server forms bottleneck, a single point of failure and scaling becomes difficult

Thin clients

Clients are lightweight and depends on server side computing.

Ex: executing GUI on client while application executes on server

Multitier Systems

Servers are clients of other servers (proxy servers)