1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Architectures Prof. Leonardo Mostarda-- Camerino,

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Objectives In this session, you will learn to:
8.
Technical Architectures
Distributed Systems Architectures
Based on last years lecture notes, used by Juha Takkinen.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Ch 12 Distributed Systems Architectures
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 2 Database Environment Pearson Education © 2014.
Chapter 9: Moving to Design
Architectural Design, Distributed Systems Architectures
Distributed Systems: Client/Server Computing
Client/Server Architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Client – Server Architecture A Basic Introduction Kathleen R. Murray, Ph.D. May 2002.
Client/Server Architectures
Chapter 9 Elements of Systems Design
The Design Discipline.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Architectural Design, Distributed Systems Architectures
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
1 Client Server Architecture over the Internet Week - 2.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Distributed Processing and Client/Server
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
1 CS 6823 ASU Chapter 2 Architecture.
Architectures of distributed systems Fundamental Models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distributed (Operating) Systems -Architectures- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University.
Client/Server Computing
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Devon M. Simmonds Computer Science Department, CSC592 1 CSC550 Software Engineering Devon M. Simmonds Computer Science Department University of North Carolina,
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Client – Server Architecture A Basic Introduction 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Architectural.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Remote Procedure Calls Prof. Leonardo Mostarda-- Camerino,
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Prof. Leonardo Mostarda University of Camerino
CSC 480 Software Engineering
CHAPTER 3 Architectures for Distributed Systems
#01 Client/Server Computing
Prof. Leonardo Mostarda University of Camerino
Computer Networking A Top-Down Approach Featuring the Internet
#01 Client/Server Computing
Presentation transcript:

1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Architectures Prof. Leonardo Mostarda-- Camerino,

Outline zArchitectural styles yLayered architectures yObject-based architectures yData-centered architectures yEvent-based architectures yShared-data space architectures zSystem architectures yClient server yMultitiered Architectures

Architectures zDistributed systems are very complex thus they need to be properly organised yLogical organisation yPhysical organisation zLogical organisation is mostly about software architecture that is how software components are organised and how they interact. zThe final instantiation of software components is referred to as system architecture

Architectural styles zAn architectural style defines: yComponents yConnection yData exchanged yConfiguration zA component is a modular unit that provides and requires services zComponents can be arranged in various configurations that have been classified into architectural styles. Example from the IEEE paper “Distributed Orchestration of Pervasive Services” by Leonardo Mostarda, Srdjan Marinovic, Naranker Dulay Required service Provided service

Architectural Styles zImportant styles of architecture for distributed systems: yLayered architectures yObject-based architectures yData-centered architectures yEvent-based architectures yShared-data space architectures

Layered architectural style

Object-based architectural style zEach object corresponds to a component zComponents are connected through a remote procedure call mechanism. zThis architecture is very general. For instance it matches the layered architecture.

zIn a data-centered architecture processes communicate through a common repository zFor instance many networked applications use a shared distributed file system in which communication takes place through files. zWeb-based distributed systems use shared web-based data services. Data-centered architectural style

zComponents communicate by using events that can carry data zFor instance pub/sub systems are event based systems zComponents are loosely coupled Event-based architectural style

zEvent-based architectures can be combined with data- centered architectures in order to obtain shared-data space architectural styles. zComponents are decoupled in time zThe shared repository can be accessed using a description rather than a reference Shared-data space architectural style

System architecture zDeciding software components, their interactions and their placement lead to a system architecture. yCentralised yDecentralised

Centralised Architectures zA server implements a specific service. zA client requests the service. zThe client-server interaction is also known as request replay behaviour. zThe protocol used for the implementation can be unreliable

zWhat are the advantages of using a protocol that is not reliable? Centralised Architectures The communication is faster What are the disadvantages of using a protocol that is not reliable? If the reply is lost the client can send the request again which will lead to duplication of requests For instance can you imagine duplicating a transfer of a £100000? If the operation is “how much money I have left” than it is ok! Operation idempotent can be repeated several times

zShould I use always TCP to implement the client-server request? Centralised Architectures Type of application Connection set up required

Application Layering zIt is not easy to draw a clear distinction between a client and a server yFor instance a server can act as a client zMany client-server applications support access to databases. In this case the following layered architectural style can be identified: yThe user-interface level yThe processing level yThe data level

internet search engine example zThe processing layer implements the core functionality.

Multitiered Architectures (1) zThe three logical levels suggests a number of ways for physically distributing a client-server application. The simplest organisation have only two types of machines: zA client machine containing only the programs implementing (part of) the user-interface level zA server machine containing the rest, ythe programs implementing the processing and data level

Multitiered Architectures (2) We can distribute the three logical layers into two machines that are client and server This is called physically two- tiered architecture. (a) applications control the representation of data (thin clients) (d) (e) workstations connected to a distributed file system (fat clients)

Multitiered Architectures (3) Three-tiered architecture programs that form part of the processing level reside on a separate server

Summary zArchitectural styles yLayered architectures yObject-based architectures yData-centered architectures yEvent-based architectures  Shared-data space architectures zSystem architectures yClient server yMultitiered Architectures

15 minutes pause Prof. Leonardo Mostarda-- Camerino,21

Questions? Prof. Leonardo Mostarda-- Camerino,22