Architectural Styles - Finale

Size: px
Start display at page:

Download "Architectural Styles - Finale"

Transcription

1 Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture 7 - Tuesday, October

2 Architectural Styles [TOPOLOGY FROM TAILOR ET AL.] Language Based Layered Dataflow Peer-to-Peer Objectoriented Client Server Pipe-and-Filter Main program & Subroutines Virtual Machine Shared Memory Interpreter Implicit Invocation Rule-based Interpreter Batchsequential Publishsubscribe Blackboard Mobile code Event-based

3 Implicit invocation In contrast to other patterns, the flow of control is reversed. Commonly integrate tools in shared environments. Components tend to be loosely coupled. Often used in: UI applications (e.g., MVC, MVP). Enterprise systems (e.g., WebSphere)

4 Style: Event-based

5 [TAILOR ET AL.] Style: Event-based Independent components asynchronously emit and receive events. Components: Event generators / consumers. Connections:? Data elements: Events. Topology:?

6 [TAILOR ET AL.] Style: Event-based Variants: May be push or pull based (with event bus). Qualities:? Typical uses: User interfaces. Widely distributed applications (e.g., financial markets, sensor networks). Cautions:?

7 Style: Publish-subscribe

8 [TAILOR ET AL.] Style: Publish-subscribe Subscribers register for specific messages or content. Publishers maintain registrations and broadcast messages to subscribers as required. Components:? Connections: Typically network protocols. Data elements: Subscriptions, notifications, content. Topology: Subscribers connect to publishers either directly or through intermediaries.

9 [TAILOR ET AL.] Style: Publish-subscribe Variants: Complex matching of subscribers and publishers can be supported via intermediaries. Qualities:? Typical uses: News, GUI programming, network games. Cautions: Scalability to large numbers of subscriber may require specialized protocols.

10 Interpreter Interpret commands on the fly. Based on a virtual machine produced in SW. Components are the program, its data, its state, and the interpretation engine. e.g., Java Virtual Machine. JVM interprets Java bytecode).

11 Style: Interpreter

12 [TAILOR ET AL.] Style: Interpreter Update state by parsing and executing commands. Components:? Connections: Components tightly bound; uses procedure calls and shared state. Data elements: Commands. Topology: Tightly coupled three-tier.

13 [TAILOR ET AL.] Style: Interpreter Qualities:? Typical uses: End-user programming. Cautions: May not be performant.

14 Style: Mobile code

15 [TAILOR ET AL.] Style: Mobile code Code and state move to different hosts to be interpreted. Components:? Connections: Network protocols. Data elements: Representations of code, program state, data. Topology: Network.

16 [TAILOR ET AL.] Style: Mobile code Variants: Code-on-demand, remote evaluation, and mobile agent. Qualities: Dynamic adaptability. Typical uses:? Cautions: Security. Transmission costs. Network reliability.

17 Peer-to-peer

18 [TAILOR ET AL.] Style: Peer-to-peer State and behaviour are distributed among peers that can act as clients or servers. Components: Peers (aka independent components). Connections: Network protocols. Data elements: Network messages. Topology:?

19 [TAILOR ET AL.] Style: Peer-to-peer Qualities:? Typical uses: When information and operations are distributed. Cautions: Security. Time criticality.

20 Architectural representations Characteristics of representations: Ambiguity:? Accuracy: Correct within tolerances. Precision: Exact but not necessarily correct. Architectural models can be overwhelming. Model individual concerns with unique views. Views overlap and can be consistent on inconsistent.

21 Statechart diagram More formal description of system behaviour. Poor mapping between states and components.

22 Component diagram Captures components and relationships. Required and provided APIs explicitly recorded.

23 Deployment diagram Provide mapping between physical devices.

24 Sequence diagram Focus on inter-component collaboration. Capture behaviour for specific scenarios.

25 Activity List the major components and connectors for your system. Create a basic statechart for your system. Create a rough component and deployment diagram for two different architectures. Choose the arch that you think is best for your task; you will motivate this decision to me. Perform an inter-group architectural review; be critical.

Architectural Styles. Reid Holmes

Architectural Styles. Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,

More information

Architectural Decomposition Reid Holmes

Architectural Decomposition Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Architectural Decomposition Mei Nagappan

Architectural Decomposition Mei Nagappan Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Architectural Styles Software Architecture Lecture 5 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Object-Oriented Style Components are objects Data and associated

More information

Architectural Decomposition & Representations Reid Holmes

Architectural Decomposition & Representations Reid Holmes Architectural Decomposition & Representations Reid Holmes What is SW architecture? Definition: Blueprint for construction and evolution. Encompasses: Structure Behaviour The set of principal design decisions

More information

Architecture Styles. Instructor: Yongjie Zheng February 7, CS 5553: Software Architecture and Design

Architecture Styles. Instructor: Yongjie Zheng February 7, CS 5553: Software Architecture and Design Architecture Styles Instructor: Yongjie Zheng February 7, 2017 CS 5553: Software Architecture and Design Architecture styles: a named collection of architecture design decisions that (1) are applicable

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Software Architecture

Software Architecture Software Architecture Lecture 6 Event Systems Rob Pettit George Mason University SWE 443 Software Architecture Event Systems 1 previously data flow and call-return styles data flow batch sequential dataflow

More information

How Do You Design? Where do architectures come from? Creativity. Method

How Do You Design? Where do architectures come from? Creativity. Method How Do You Design? Where do architectures come from? Creativity 1) Fun! 2) Fraught with peril 3) May be unnecessary 4) May yield the best 1) Efficient in familiar terrain 2) Not always successful 3) Predictable

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Software Architecture in Practice

Software Architecture in Practice Software Architecture in Practice Chapter 5: Architectural Styles - From Qualities to Architecture Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense Chapter 5 - page 1 Lecture Objectives

More information

Common Architectural Styles & Patterns

Common Architectural Styles & Patterns Common Architectural Styles & Patterns some we ve already kind of discussed model view controller blackboard client/server layered pipe-and-filter Lots of ways to classify all these Application Domain

More information

Software MEIC. (Lesson 20)

Software MEIC. (Lesson 20) Software Architecture @ MEIC (Lesson 20) Last class C&C styles Multi-tier style Dynamic reconfiguration style Peer-to-Peer style Today C&C styles Publish-subscribe style Service-oriented architecture style

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1

More information

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views 1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

MVC / MVP Mei Nagappan

MVC / MVP Mei Nagappan Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Reid Holmes - Head First Design Patterns MVC / MVP Mei Nagappan [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation

More information

Software Architecture

Software Architecture Software Architecture Lecture 7 Communicating Peers João Pedro Sousa George Mason University previously, event systems within the interacting processes family data flow batch sequential dataflow network

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures

More information

ICS 52: Introduction to Software Engineering

ICS 52: Introduction to Software Engineering ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html Copyright 2004, Richard

More information

MVC / MVP Reid Holmes

MVC / MVP Reid Holmes Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Head First Design Patterns MVC / MVP Reid Holmes [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/

More information

CPSC 410 Advanced Software Engineering Mid-term Examination (Term I ): Solution Instructor: Gail Murphy

CPSC 410 Advanced Software Engineering Mid-term Examination (Term I ): Solution Instructor: Gail Murphy CPSC 410 Advanced Software Engineering Mid-term Examination (Term I 2003-2004): Solution Instructor: Gail Murphy Do NOT start until you are informed you can start! This examination has 6 questions. The

More information

Patterns Architectural Styles Archetypes

Patterns Architectural Styles Archetypes Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.

More information

System models for distributed systems

System models for distributed systems System models for distributed systems INF5040/9040 autumn 2010 lecturer: Frank Eliassen INF5040 H2010, Frank Eliassen 1 System models Purpose illustrate/describe common properties and design choices for

More information

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE

SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE SOFTWARE ARCHITECTURES ARCHITECTURAL STYLES SCALING UP PERFORMANCE Tomas Cerny, Software Engineering, FEE, CTU in Prague, 2014 1 ARCHITECTURES SW Architectures usually complex Often we reduce the abstraction

More information

Introduction to Distributed Systems

Introduction to Distributed Systems Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]

More information

Software architecture: Architectural Styles

Software architecture: Architectural Styles 2IW80 Software specification and architecture Software architecture: Architectural Styles Alexander Serebrenik Before we start True or false? Domain-Specific Software Architecture is a part of a Reference

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

ICS 52: Introduction to Software Engineering

ICS 52: Introduction to Software Engineering ICS 52: Introduction to Software Engineering Fall Quarter 2002 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq02/syllabus.html Copyright 2002, Richard

More information

Software Architectures

Software Architectures Software Architectures Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2008/2009

More information

Software Architecture

Software Architecture Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Software Architectures

Software Architectures Software Architectures Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica: Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

Chapter 13: Architecture Patterns

Chapter 13: Architecture Patterns Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns

More information

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller

More information

PROCESSES AND THREADS

PROCESSES AND THREADS PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same

More information

Chapter 2 Architectures. Software Architectures

Chapter 2 Architectures. Software Architectures Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are

More information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Credit where Credit is Due. Goals for this Lecture. Introduction to Design Credit where Credit is Due Lecture 17: Intro. to Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken

More information

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Elisa Baniassad - Reid Holmes How the customer explained it How the project leader understood it How the

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [MESSAGING SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Distributed Servers Security risks

More information

Software Architecture

Software Architecture Software Architecture Lecture 5 Call-Return Systems Rob Pettit George Mason University last class data flow data flow styles batch sequential pipe & filter process control! process control! looping structure

More information

Design Patterns B. Reid Holmes. Material and some slide content from: - Head First Design Patterns Book - GoF Design Patterns Book

Design Patterns B. Reid Holmes. Material and some slide content from: - Head First Design Patterns Book - GoF Design Patterns Book Material and some slide content from: - Head First Design Patterns Book - GoF Design Patterns Book Design Patterns B Reid Holmes Lecture 15 - Thursday November 10 2011. GoF design patterns $ %!!!! $ "!

More information

Architectural Styles: Definitions

Architectural Styles: Definitions Component-Based Software Engineering ECE493-Topic 4 Winter 2006 Lecture 7 Architectural Styles in CBSE (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo

More information

Reactive Microservices Architecture on AWS

Reactive Microservices Architecture on AWS Reactive Microservices Architecture on AWS Sascha Möllering Solutions Architect, @sascha242, Amazon Web Services Germany GmbH Why are we here today? https://secure.flickr.com/photos/mgifford/4525333972

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

Architectural Patterns

Architectural Patterns Architectural Patterns CS 718 lecture series Prof. Rushikesh Joshi IIT Bombay wrapper provide a single layer of abstraction on top of many related functions wrapper an example the semop system call in

More information

Today CSCI Remote Method Invocation (RMI) Distributed Objects

Today CSCI Remote Method Invocation (RMI) Distributed Objects Today CSCI 5105 Remote Method Invocation (RMI) Message-oriented communication Stream-oriented communication Instructor: Abhishek Chandra 2 Remote Method Invocation (RMI) RPCs applied to distributed objects

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

Design Patterns for Net- Centric Applications

Design Patterns for Net- Centric Applications Design Patterns for Net- Centric Applications Seth Landsman, Ph.D. Sandeep Mulgund, Ph.D. The MITRE Corporation Bedford, MA 01730 Overview Introduction Design Patterns Data Interaction Patterns Core System

More information

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati Distributed Algorithms Partha Sarathi Mandal Department of Mathematics IIT Guwahati Thanks to Dr. Sukumar Ghosh for the slides Distributed Algorithms Distributed algorithms for various graph theoretic

More information

Indirect Communication

Indirect Communication Indirect Communication To do q Today q q Space and time (un)coupling Common techniques q Next time: Overlay networks xkdc Direct coupling communication With R-R, RPC, RMI Space coupled Sender knows the

More information

Developing Agent Models with Repast Michael North

Developing Agent Models with Repast Michael North Developing Agent Models with Repast Michael North north@anl.gov www.cas.anl.gov Agent-Based Models Can Be Constructed Using a Variety of Approaches Environments are the stage upon which agents play These

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 8 Architectural Design of Distributed Applications Hassan Gomaa Dept of Computer Science George Mason University

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns

More information

Software Specification and Architecture 2IW80

Software Specification and Architecture 2IW80 Software Specification and Architecture 2IW80 Julien Schmaltz Recapitulation Session Exam» April 12.04.2016 09:00 12:00» Location: check OASE» Part I. 40 multiple choice questions (4 options)» 1 point

More information

1 Software Architecture

1 Software Architecture Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to

More information

DS 2009: middleware. David Evans

DS 2009: middleware. David Evans DS 2009: middleware David Evans de239@cl.cam.ac.uk What is middleware? distributed applications middleware remote calls, method invocations, messages,... OS comms. interface sockets, IP,... layer between

More information

Organization of User Interface Software

Organization of User Interface Software Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

Software MEIC. (Lesson 20)

Software MEIC. (Lesson 20) Software Architecture @ MEIC (Lesson 20)! Last class C&C styles Publish-subscribe style Shared-data style Communicating processes style Tiers style Today Finish the C&C styles Begin with the Allocation

More information

The Myx Architectural Style

The Myx Architectural Style The Myx Architectural Style The goal of the Myx architectural style is to serve as an architectural style that is good for building flexible, high performance tool-integrating environments. A secondary

More information

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network

Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network Lesson 1 Key-Terms Meanings: Web Connectivity of Devices and Devices Network 1 Application Application: A software (S/W) for an application, such as, creating and sending an SMS, measuring and sending

More information

Application Architectures, Design Patterns

Application Architectures, Design Patterns Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006 John Hohwald Slide 1 Definitions and Terminology What is SOA? SOA is an architectural style whose goal is to achieve loose coupling

More information

Distributed Systems

Distributed Systems 95-702 Distributed Systems Course administration and a brief introduction to the material. Instructors: Michael McCarthy & Joe Mertz Week 1: Five (optional, dated) videos are also available 1 Course Web

More information

Coherence An Introduction. Shaun Smith Principal Product Manager

Coherence An Introduction. Shaun Smith Principal Product Manager Coherence An Introduction Shaun Smith Principal Product Manager About Me Product Manager for Oracle TopLink Involved with object-relational and object-xml mapping technology for over 10 years. Co-Lead

More information

Creational. Structural

Creational. Structural Fitness for Future of Design Patterns & Architectural Styles Design patterns are difficult to teach, so we conducted a class collaboration where we all researched and reported on a variety of design patterns

More information

Software Design COSC 4353/6353 DR. RAJ SINGH

Software Design COSC 4353/6353 DR. RAJ SINGH Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Indirect Communication

Indirect Communication Indirect Communication Today l Space and time (un)coupling l Group communication, pub/sub, message queues and shared memory Next time l Distributed file systems xkdc Indirect communication " Indirect communication

More information

Miki Guest lecture at Abo Akademi University

Miki Guest lecture at Abo Akademi University Miki (@Vaadin) Guest lecture at Abo Akademi University Why? Architectural styles MVC MVP Vaadin UI architecture Agile and architecture 2014-09-22 miki@vaadin.com }> @mikiolsz 3 What makes architecture

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering MV* Design Patterns Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/

More information

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination Architecture of Distributed Systems (2IMN10 / 2II45), on Monday November 2, 2015, from 13.30 to 16.30 hours. Indicate on

More information

i-appli online and i-appli call Systems for Real-time Communication with Mobile Terminals

i-appli online and i-appli call Systems for Real-time Communication with Mobile Terminals i-appli online and i-appli call Systems for Real-time Communication with Terminals Online Games Internet i-appli i-appli online and i-appli call Systems for Real-time Communication with Terminals We developed

More information

In his paper of 1972, Parnas proposed the following problem [42]:

In his paper of 1972, Parnas proposed the following problem [42]: another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 SIM Distributed Systems Chapter 4 - Communication CSCI319 Chapter 4 Page: 1 Communication Lecture notes based on the textbook by Tannenbaum Study objectives:

More information

System Models for Distributed Systems

System Models for Distributed Systems System Models for Distributed Systems INF5040/9040 Autumn 2015 Lecturer: Amir Taherkordi (ifi/uio) August 31, 2015 Outline 1. Introduction 2. Physical Models 4. Fundamental Models 2 INF5040 1 System Models

More information

Avancier Methods (AM) Software Architecture Diagrams

Avancier Methods (AM) Software Architecture Diagrams Methods (AM) Software Architecture Diagrams in the AM viewpoint library It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission

More information

Distributed Middleware. Distributed Objects

Distributed Middleware. Distributed Objects Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

Information Quality & Service Oriented Architecture

Information Quality & Service Oriented Architecture Information Quality & Oriented Architecture Presentation for the MIT IQ Industry Symposium July 17, 2007 Dave Becker The MITRE Corporation Approved for Public Release; Distribution Unlimited. (070837)

More information

Web Application Architectures

Web Application Architectures Web Application Architectures Internet Engineering Spring 2018 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline MVC Design Pattern Multilayer Design Microservices Architecture

More information

Basic Properties of Styles

Basic Properties of Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 18 Enterprise Styles/Patterns (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Basic

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution

Report. Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution CERN-ACC-2013-0237 Wojciech.Sliwinski@cern.ch Report Middleware Proxy: A Request-Driven Messaging Broker For High Volume Data Distribution W. Sliwinski, I. Yastrebov, A. Dworak CERN, Geneva, Switzerland

More information

: ESB Implementation Profile

: ESB Implementation Profile The Standards Based Integration Company Systems Integration Specialists Company, Inc. 61968 1-1: ESB Implementation Profile CIM University CESI/TERNA Milan, Italy June 15, 2010 Margaret Goodrich, Manager,

More information

Middleware and Web Services Lecture 2: Introduction to Architectures

Middleware and Web Services Lecture 2: Introduction to Architectures Middleware and Web Services Lecture 2: Introduction to Architectures doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information