SlideShare a Scribd company logo
Chapter 2 - Architectures
2
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
 we will discuss
 architectural styles
 system architectures: centralized vs decentralized ones
3
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
4
 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
5
 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
6
 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
7
 shared data spaces
 event-based architectures combined with data-centered
architectures
 processes are decoupled in time
the shared data-space architectural style
8
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
9
 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 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
10
 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
11
 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
 Multitiered Architectures
12
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
correctness in filling forms
(d) and (e) are for powerful client machines (more popular)
13
three tiered architecture: an example of a server acting as a client
 an example is the organization of Web sites
14
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
15
 another example is the horizontal distribution of a Web
service

More Related Content

PDF
It infrastructure management
DOCX
The Kerala Apartment Ownership Act, 1983
PDF
Internet of Things and Artificial Intelligence
DOCX
Contrato de locação por temporada
PPTX
ZTE Power Grid Solution
PDF
Unit 1 - mobile computing introduction
PDF
It infrastructure management
The Kerala Apartment Ownership Act, 1983
Internet of Things and Artificial Intelligence
Contrato de locação por temporada
ZTE Power Grid Solution
Unit 1 - mobile computing introduction

Similar to Chapter 2-Architectures2.ppt (20)

PPT
Distributed Systems Architecture in Software Engineering SE11
PPT
Ch12
PPT
Chapter 2A-Architectures.ppt
DOC
Distributed Computing Report
PPT
Chapter 2- Architecture os distributed system.ppt
DOC
04 Client Server Computing
PPT
9. Distributed Systems Architecture.pptnnihi
PDF
Lecture5 architecture styles.pdf
PPTX
Lecture_2_Architectures of Distributed System.pptx
PPT
C-System Models Presentation files .ppt
PPTX
unit 4-1.pptx
PDF
Client server computing
PPTX
Distributed architecture (SAD)
DOCX
Clientserver
PPTX
communication in distributed systems
PPTX
SOFTWARE COMPUTING
PPTX
Chapter 2 Architecture (updated).pptx
PPT
Chapter 3-Processes.ppt
PPT
3. Distributed System Models ssssssssssssssssss.ppt
PPTX
Models of Distributed System
Distributed Systems Architecture in Software Engineering SE11
Ch12
Chapter 2A-Architectures.ppt
Distributed Computing Report
Chapter 2- Architecture os distributed system.ppt
04 Client Server Computing
9. Distributed Systems Architecture.pptnnihi
Lecture5 architecture styles.pdf
Lecture_2_Architectures of Distributed System.pptx
C-System Models Presentation files .ppt
unit 4-1.pptx
Client server computing
Distributed architecture (SAD)
Clientserver
communication in distributed systems
SOFTWARE COMPUTING
Chapter 2 Architecture (updated).pptx
Chapter 3-Processes.ppt
3. Distributed System Models ssssssssssssssssss.ppt
Models of Distributed System
Ad

More from MeymunaMohammed1 (11)

PPT
Chapter 6-Synchronozation2.ppt
PPTX
Distributed system.pptx
PDF
ANS_Ch_05_Handouts.pdf
PPT
Seminar Course instruction .ppt
PPTX
M.Sc Mobile computing.pptx
PDF
Cloud_Ch_01_Handouts(1).pdf
PDF
ANS_Ch_06_Handouts.pdf
PDF
ANS_Ch_05_Handouts.pdf
PDF
ANS_Ch_04_Handouts.pdf
PPTX
Chapter 3-Processes2.pptx
PPT
Chapter 2-Architectures23.ppt
Chapter 6-Synchronozation2.ppt
Distributed system.pptx
ANS_Ch_05_Handouts.pdf
Seminar Course instruction .ppt
M.Sc Mobile computing.pptx
Cloud_Ch_01_Handouts(1).pdf
ANS_Ch_06_Handouts.pdf
ANS_Ch_05_Handouts.pdf
ANS_Ch_04_Handouts.pdf
Chapter 3-Processes2.pptx
Chapter 2-Architectures23.ppt
Ad

Recently uploaded (20)

PDF
4Days Golden Triangle Tour India Pdf Doc
PDF
Golden Triangle Tour A Complete Travel Guide.pdf
PPTX
8 - Airport Statistical Forms icon related
PDF
Travel Adventures: Explore the Gem Around The World.
PPTX
Multimedia - Dinagsa Festival, Cadiz City
PPSX
Detian Transnational Waterfall, Chongzuo, Guangxi, CN. (中國 廣西崇左市 德天跨國瀑布).ppsx
PDF
Introduction of Secrets of Mount Kailash.pdf
PDF
Villa Oriente Porto Rotondo - Luxury Villlas Sardinia.pdf
PPTX
Minimalist Business Slides XL by Slidesgo.pptx
PDF
Which Month is Best for Kailash Mansarovar Yatra.pdf
PDF
Memorable Outdoor Adventures with Premium River Rafting & Guided Tours
PDF
Step Into Lima’s Magic Explore Peru’s Historic Capital From Anywhere.pdf
PPTX
Airline API Integration | Flight API Supplier
PDF
Mapping the Landscape of Hospitality and Tourism A Bibliometric Study 2000–20...
PDF
World Regional Geography 6th Edition Lydia Mihelic Pulsipher Download Test Ba...
PDF
chopta tour package from delhi chopta tour
PDF
How to Choose the Best Tour Operators in Rajasthan – A Complete Guide.pdf
PPTX
MACRO-PERSPECTIVE-IN-HOSPITALITY-AND-TOURISM-MODULES.pptx
PDF
Travel Agents Email List for Effective Tourism and Hospitality Marketing.pdf
PDF
How Expensive is Mansarovar Yatra cost from Mumbai.pdf
4Days Golden Triangle Tour India Pdf Doc
Golden Triangle Tour A Complete Travel Guide.pdf
8 - Airport Statistical Forms icon related
Travel Adventures: Explore the Gem Around The World.
Multimedia - Dinagsa Festival, Cadiz City
Detian Transnational Waterfall, Chongzuo, Guangxi, CN. (中國 廣西崇左市 德天跨國瀑布).ppsx
Introduction of Secrets of Mount Kailash.pdf
Villa Oriente Porto Rotondo - Luxury Villlas Sardinia.pdf
Minimalist Business Slides XL by Slidesgo.pptx
Which Month is Best for Kailash Mansarovar Yatra.pdf
Memorable Outdoor Adventures with Premium River Rafting & Guided Tours
Step Into Lima’s Magic Explore Peru’s Historic Capital From Anywhere.pdf
Airline API Integration | Flight API Supplier
Mapping the Landscape of Hospitality and Tourism A Bibliometric Study 2000–20...
World Regional Geography 6th Edition Lydia Mihelic Pulsipher Download Test Ba...
chopta tour package from delhi chopta tour
How to Choose the Best Tour Operators in Rajasthan – A Complete Guide.pdf
MACRO-PERSPECTIVE-IN-HOSPITALITY-AND-TOURISM-MODULES.pptx
Travel Agents Email List for Effective Tourism and Hospitality Marketing.pdf
How Expensive is Mansarovar Yatra cost from Mumbai.pdf

Chapter 2-Architectures2.ppt

  • 1. Chapter 2 - Architectures
  • 2. 2 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  we will discuss  architectural styles  system architectures: centralized vs decentralized ones
  • 3. 3 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
  • 4. 4  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
  • 5. 5  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
  • 6. 6  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
  • 7. 7  shared data spaces  event-based architectures combined with data-centered architectures  processes are decoupled in time the shared data-space architectural style
  • 8. 8 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
  • 9. 9  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 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
  • 10. 10  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
  • 11. 11  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  Multitiered Architectures
  • 12. 12 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 correctness in filling forms (d) and (e) are for powerful client machines (more popular)
  • 13. 13 three tiered architecture: an example of a server acting as a client  an example is the organization of Web sites
  • 14. 14 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
  • 15. 15  another example is the horizontal distribution of a Web service

Editor's Notes