M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.

Slides:



Advertisements
Similar presentations
Architectural Requirements Phase See Sommerville Chapters 11, 12, 13, 14,
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 6, System Design: Decomposing the System.
Objectives In this session, you will learn to:
8.
Technical Architectures
Moving from Analysis to Design. Overview ● What is the difference between analysis and design? ● Logical v. physical design ● System v. detailed design.
Distributed Systems Architectures
System Design: Decomposing the System
Chapter 2 Database Environment Pearson Education © 2014.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
System Design & Software Architecture
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Chapter 2 Database System Concepts and Architecture
Chapter 10 Architectural Design
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
CSC271 Database Systems Lecture # 4.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
M1G Introduction to Database Development 6. Building Applications.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Dr. Mohamed Osman Hegazi 1 Database Systems Concepts Database Systems Concepts Course Outlines: Introduction to Databases and DBMS. Database System Concepts.
1 Welcome to CSC 301 Web Programming Charles Frank.
Intro – Part 2 Introduction to Database Management: Ch 1 & 2.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Lecture 22: Client-Server Software Engineering
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Computer Science 340 Software Design & Testing Software Architecture.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 2 Database Environment.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
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.
Internet and Distributed Application Services
Databases and DBMSs Todd S. Bacastow January 2005.
Chapter 2 Database System Concepts and Architecture
CHAPTER 3 Architectures for Distributed Systems
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
System Design ECE 417/617: Elements of Software Engineering
Data, Databases, and DBMSs
Tiers vs. Layers.
Chapter 6 – Architectural Design
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
Internet Protocols IP: Internet Protocol
System Design ECE 417/617: Elements of Software Engineering
Computer Networks Protocols
Presentation transcript:

m : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate

Model: provides central functionality of the application, is aware of its dependent view and controller components View: each view corresponds to a particular style and format of presentation of information. View retrieves data from model and updates itself when data has been changed in another view. View creates its own controller. Controller: accepts user input events that trigger operations/changes within the model. These may trigger updates in other views ensuring they are up to date. See also Observer design pattern.

Model coreData setOfObservers attach(Observer) detach(Observer) notify() getData() modifyData() MyView viewData initialize() displayData() update() MyController viewData initialize() changeData() update() depends on updates * *

changeData() modifyData() c1: Controllerm: Modelv1: View notify() update() displayData() getData() update() getData()

4.3 Independent components : executing in parallel, with communication, aka object-oriented architectures. e.g. simple OOP, peer to peer (2-way client- server)

4.4 Virtual machines : an interpreter (high-level machine) + a program in a special purpose (application-oriented) language VM I/O e.g. Java VM, application-oriented PLs

4.5 Data Centered: Built around a large data collection, aka repository App1 App2 App3

Example: Client-Server Client Server service1() service2() … serviceN() ** requesterprovider Request for service using RPC or CORBA, Java RMI, HTTP.

4.6 Layered: subsystems hierarchically organised, each layer (1) depending only on layer below, (2) supplying services to layers above

1. Physical (thinnet, thicknet, UTP) 2. Data Link (Ethernet) 3. Network (IP) 4. Transport (TCP, UDP) 5. Session (RPC) 6. Presentation (XDR) 7. Application (mail, telnet, ftp ) Hardware Example 1 ISO/OSI 7 –layer communication hierarchy

Example 2: Three-Tier Database Architecture 1. Storage layer 2. Application logic layer 3. Interface layer Interface layer: objects dealing with user, windows, forms, Web pages, etc Application logic layer: control and entity objects for processing, Rule checking and notification Storage layer: implements storage, retrieval and query of persistent objects

Example 3: Four-Tier Database Architecture 1. Storage layer 2. Application logic layer 3. Presentation Server 4. Presentation Client Interface layer Presentation Client sits on user machine. Presentation Server sits on server machine Different kinds of clients and servers possible Compare with MVC!

1. SQL Query 2. DB Connection 3. Server Side Form 4. WebBrowser Interface layer

Architecture Tradeoff Analysis Method ATAM CMU Software Engineering Institute (SEI) 1.Collect scenarios (use cases) 2.Elicit requirements, constraints and environment 3.Describe architectural styles/patterns 4.Evaluate quality attributes, e.g. reliability, performance, security, flexibility, portability, testability 5.Identify sensitivity points: attributes sensitive to a small change in architecture 6.Critique candidate architectures

Once the sensitivity points have been determined, finding trade-off points is simply the identification of architectural elements to which multiple attributes are sensitive. E.g. The performance of a client-server architecture might be highly sensitive to the number of servers. The availability might also be sensitive to that number. However, the security might vary inversely with that number (more points of attack). So the number of servers is a trade-off point.