0% found this document useful (0 votes)
38 views15 pages

Chapter - 2: Architectures

This document discusses software architectures and system architectures. It describes different architectural styles like layered, object-based, data-centered, and event-based architectures. It also discusses centralized architectures with clients and servers and decentralized peer-to-peer architectures. Finally, it covers different approaches to distributing systems across multiple machines like vertical distribution with multitier architectures and horizontal distribution.

Uploaded by

Yoni Magna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views15 pages

Chapter - 2: Architectures

This document discusses software architectures and system architectures. It describes different architectural styles like layered, object-based, data-centered, and event-based architectures. It also discusses centralized architectures with clients and servers and decentralized peer-to-peer architectures. Finally, it covers different approaches to distributing systems across multiple machines like vertical distribution with multitier architectures and horizontal distribution.

Uploaded by

Yoni Magna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15

Chapter – 2

Architectures
Introduction

• how to organize the collection of software components


– logical organization and
– physical organization
• i.e., software architectures: how they are organized and how they
communicate
• Issues to be discussed
– architectural styles
– system architectures: centralized vs decentralized ones

 2  HU - INFORMATICS- DS BY BW
2.1 Architectural Styles
 the logical organization of distributed systems into
software components
 a component is a modular unit with well-defined required
and provided interfaces that is replaceable within its
environment
 a connector is a mechanism that mediates
communication, coordination, or cooperation among
components, e.g., facilities for RPC, message passing, or
streaming data
 there are various architectural styles
 Layered architectures
 Object-based architectures
 Data-centered architectures
 Event-based architectures

 3  HU - INFORMATICS- DS BY BW
 Layered architectures
 components are organized in a layered fashion where a
component at layer Li is allowed to call components at
the underlying layer Li-1, but not the other way around;
e.g., network layers

the layered architectural style


HU - INFORMATICS- DS BY BW
 4 
 Object-based architectures
 each object corresponds to a component and these
components are connected through a remote procedure
call mechanism (client-server paradigm)

the object-based architectural style

 5  HU - INFORMATICS- DS BY BW
 Data-centered architectures
 processes communicate through a common repository;
e.g., a shared distributed file system
 Event-based architectures
 processes communicate through the propagation of events
 publish/subscribe systems
 processes publish events and the middleware ensures that
only those processes that subscribed to those events will
receive them

the event-based architectural style


 6  HU - INFORMATICS- DS BY BW
 shared data spaces
 event-based architectures combined with data-centered
architectures
 processes are decoupled in time

the shared data-space architectural style

 7  HU - INFORMATICS- DS BY BW
2.2 System Architectures
 the logical organization of distributed systems into
software components or how are processes organized in a
system
2.2.1 Centralized Architectures
 thinking in terms of clients requesting services from
servers

general interaction between a client and a server


 8  HU - INFORMATICS- DS BY BW
 communication between client and server can be
 by a connectionless protocol if the underlying network is
fairly reliable; efficient since there is no much overhead
 but assuring reliability is difficult
 when messages are lost or corrupted let the client
send the request again; applicable only for
idempotent operations
 an operation is idempotent (unchanged) if it can be
repeated multiple times without harm; e.g., reading
a record in a database
 see later in Chapter 8: Fault Tolerance
 by reliable connection-oriented protocol if the underlying
network is unreliable
 establishing and terminating connections is
expensive

 9  HU - INFORMATICS- DS BY BW
• Application Layering
– no clear distinction between a client and a server; for
instance a server for a distributed database may act as a
client when it forwards requests to different file servers
– three levels exist
• 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
dealt with

 10  HU - INFORMATICS- DS BY BW
• e.g., the general organization of an Internet search engine into three
different layers

 Client-Server Architectures
 how to physically distribute a client-server application
across several machines

 11 HU - INFORMATICS- DS BY BW
Multitiered Architectures
Two-tiered architecture: alternative client-server organizations
(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
12
correctness

in filling
HU - INFORMATICS- forms
DS BY BW
(d) and (e) are for powerful client machines (more popular)
three tiered architecture: an example of a server acting as a client
 an example is the organization of Web sites

 13 HU - INFORMATICS- DS BY BW
2.2.2 Decentralized Architectures
 vertical distribution: the ones discussed so far where the
different tiers correspond directly with the logical
organization of applications; place logically different
components on different machines
 horizontal distribution: physically split up the client or the
server into logically equivalent parts
 an example is a peer-to-peer system where processes
are equal and hence each process acts as a client and a
server at the same time (servent)
 read about the different approaches of peer-to-peer
architecture - pages 44 - 51 and about Architectures
versus Middleware - pages 54 - 66

 14  HU - INFORMATICS- DS BY BW
 another example is the horizontal distribution of a Web
service

 15 HU - INFORMATICS- DS BY BW

You might also like