Professional Documents
Culture Documents
Architectures
Introduction
20.11.2022
2
2.1. Why we need Architectures
For hardware and software arrangement
This arrangement is generally known as a topology
The ways on how to view the organization of software components and how
they should interact
Distributed system architectures are bundled up with components and
connectors.
– Component: A modular unit with well-defined interfaces; replaceable; reusable
– Connector: A communication link between modules
• e.g., RPC, message/file passing, or streaming data
20.11.2022 3
Con’t……
• An architectural style should consider the following
concepts:
– Components
– Connection between components
– The data flowing through the components
– Configuration.
– Encompasses a way to cluster and classify groups of
similar systems
20.11.2022
4
2.2. Software Architectural
• Software architecture is the logical organization of software
components and their interaction with other structures.
• Software architectures expresses component organization
20.11.2022
5
2.2. Software Architectural….
A) Layered architectures:
Components are organized in a layered fashion
The layers on the bottom provide a service to the layers on the top.
• The request flows from Top-to-Down,
• The response is sent from Down-to-Top.
20.11.2022
the layered architectural style
6
2.2. Software Architectural….
B) Object-based architectures:
Each object corresponds to a component
The components are connected through a remote procedure
call mechanism (client-server paradigm)
No specific architecture like layers
No sequential step like layers
20.11.2022
the object-based architectural style 7
2.2. Software Architectural….
B) Object-based architectures……
Communication between object
This types of architecture has the following properties:
Component Object
Connector RPC or RMI
20.11.2022 8
2.2. Software Architectural….
C) Data-centered architectures
All components communicate through a common repository;
e.g., a shared distributed file system
It contains all the required data in one place
It follows publish/subscribe type of communication.
20.11.2022 9
2.2. Software Architectural….
D ) Event-based architectures:
Components communicate through the propagation of events.
It uses Publish/subscribe systems
How It works?
Step-1: An event is generated.
Step-2: It will be sent to the bus system.
Step-3: Within bus, everyone else will be notified telling
that such an event has occurred.
Sometimes these events could be data, or event URLs to
resources.
20.11.2022
10
2.2. Software Architectural….
D ) Event-based architectures…..
Easy to add, remove and modify components in the system. S
Some examples are, publisher - subscriber system, and
Enterprise Services Bus (ESB), Broadcast.
20.11.2022
12
A) Centralized Architecture:
Example, client-server architecture
It consists of a client and a server.
Clients directly connected to server .
The client can then request from the server, and the server
will respond accordingly.
20.11.2022
13
Components of Centralized Architecture are,
Client (Computer, laptop, Mobile, etc.).
Server.
20.11.2022
14
Client-server Interaction
The data level: contains the programs that maintain the actual data
20.11.2022
15
Client-server applications
Client-server architecture has been subjected to many
database-based applications.
Client-server applications usually have three different layers
The user-interface level: implemented by clients and
contains all that is required by a client; usually through
GUIs, but not necessarily
The processing level: contains the applications
The data level: contains the programs that maintain the
actual data
20.11.2022
16
Example, Internet search engine
• It has three different layers
There is a question in Client-Server Architectures
Questions: how to physically distribute a client-server application
across several machines
Solution: Multi-tiered Architectures, e.g., Two-tiered architecture
20.11.2022
18
Alternative client-server organizations:
Multi-tiered architecture
A. Two-tiered architecture
(a) put only terminal-dependent part of the user interface on the client machine and let
the applications remotely control the presentation
(b) put the entire user-interface software on the client side
(c) move part of the application to the client, e.g. checking correctness in filling forms
(d) and (e) are for powerful client machines (more popular)
20.11.2022 19
Alternative client-server organizations:
Multi-tiered architecture……
B .Three-tiered architecture: an example of a server acting as a client
20.11.2022
20
Advantages and Disadvantages of Client-
server architecture
• Advantages:
– Easier to Build and Maintain
– Better Security
– Stable
• Disadvantages:
– Single point of failure
20.11.2022
21
B) Decentralized Architectures:
20.11.2022 22
Two major decentralized forms of architectures
A)Vertical distribution:
20.11.2022
23
B) Horizontal distribution:
Physically split up the client or the server into logically
equivalent parts
Clients and servers may be physically split into logically-
equivalent parts, each one working on its own portion of
the whole data set
Example, peer-to-peer system where processes are equal
and hence each process acts as a client and a server at
the same time
20.11.2022
24
Example for horizontal distribution of a Web service
20.11.2022
25
2.3 Client-Server Vs. Peer-to-Peer Architectures
20.11.2022
26