Software MEIC. (Lesson 4)

Size: px
Start display at page:

Download "Software MEIC. (Lesson 4)"

Transcription

1 Software MEIC (Lesson 4)!

2 Last class The Architecture Influence Cycle The AIC applied to Fénix

3 Today Revisiting the definition of Software Architecture How to describe a Software Architecture

4 What is Software Architecture?

5 The definition of software architecture is

6 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

7 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

8 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

9 Structure(s)?

10 1. Something arranged in a definite pattern of organization.! -- Merriam-webster online

11 2. The arrangement of particles or parts in a substance or body.! -- Merriam-webster online

12 3. Coherent form or organization.! -- Merriam-webster online

13 4. The aggregate of elements of an entity in their relationships to each other.! -- Merriam-webster online

14

15

16

17 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

18 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

19 Object Class Task Process Library Framework What are software elements? Module Database Package Thread Component Communication channel

20 Object Class Task Process Library Framework What are software elements? Module Database Package Thread Component Communication channel

21 Object Class Task Process Library Framework What are software elements? Module Database Package Thread Component Communication channel

22 Browser Web server DB

23 Presentation logic Domain logic Data access

24 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

25 API Visibility Responsibility Response time Memory requirements Externally visible properties? Reliability Throughput Protocol Cohesion Max clients

26 Don t forget: An architecture is an abstraction of a system!

27 It omits details of the elements

28 The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.

29 Depends Developed by Synchronizes with Uses Is composed of Relationships among elements? May use Calls Generalizes Spawns Is attached to

30 How to describe an architecture?

31 One view?

32 NO

33 Presentation logic Domain logic Data access Browser Web server Architecture DB = Web server Several structures Browse r Web server DB Web server

34 The SEI model

35 Architectural structures Module Component-and-connector Allocation

36 Module = Unit of implementation (Examples?)

37 What s this module s responsibility?

38 What may a module use?

39 What does a module use?

40 (Why are these questions important?)

41 Component-and-connector

42 Component = Unit of computation (or data store) (Examples?)

43 Connector = Communication between components (Examples?)

44 What s executing in the system?

45 How do components interact?

46 How does data flows?

47 What s replicated?

48 (Why are these questions important?)

49 Allocation

50 In which hardware does the system run?

51 Who developed each module?

52 Where are the files implementing this?

53 (Why are these questions important?)

54 Allocation structures map software elements into external elements

55 To summarize...

56 How is the system to be structured as a set of code units?

57 Modules

58 How is the system to be structured as a set of elements that have runtime behavior and interactions?

59 Component and Connector

60 How is the system to relate to CPUs, file systems, development teams, networks,...?

61 Allocation

62 3 types Module Component-and-connector Allocation

63 So, we need 3 views, right?

64 NO

65 These are view types

66 Each view type may have many architectural styles

67 Module C & C Allocation Decomposition Pipe-and-Filter Deployment Uses Client-Server Install Generalization Peer-to-Peer Work assignment Layered Service-Oriented Architecture Aspects Publish- Subscribe Data Model Shared-Data Multi-tier

68 Do we need so many views?

69 It depends...

70 Module C & C Allocation Decomposition Pipe-and-Filter Deployment Uses Client-Server Install Generalization Peer-to-Peer Work assignment Layered Service-Oriented Architecture Aspects Publish- Subscribe Data Model Shared-Data Building blocks Multi-tier

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

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

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

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

More information

Architectural Blueprint

Architectural Blueprint 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 Architectural Blueprint

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

Software MEIC. (Lesson 12)

Software MEIC. (Lesson 12) Software Architecture @ MEIC (Lesson 12) Last class The Fenix case study, from business problem to architectural design Today Scenarios and Tactics for the Graphite system Graphite Scenarios + Tactics

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Software Architecture

Software Architecture Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

More information

CSCI 3130 Software Architectures 1/3. February 5, 2013

CSCI 3130 Software Architectures 1/3. February 5, 2013 CSCI 3130 Software Architectures 1/3 February 5, 2013 Software Architecture What is a Software Architecture? The description of the structure of a software system, which is composed of software elements,

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

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

Dog Houses to sky scrapers

Dog Houses to sky scrapers CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Architecture Wednesday, April 19th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Dog Houses to sky scrapers WHY

More information

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

Boundaries: The Undiscovered Territory

Boundaries: The Undiscovered Territory Boundaries: The Undiscovered Territory 2009 The Problem... Many definitions although lots of similarities Individual perception can and does impact the definition of boundaries Boundary definition can

More information

Lecture 17: (Architecture V)

Lecture 17: (Architecture V) Lecture 17: (Architecture V) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 30,

More information

Element: Relations: Topology: no constraints.

Element: Relations: Topology: no constraints. The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented

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

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

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 Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system Products of Requirements elicitation and analysis Chapter 6: System design: decomposing the system Requirements! elicitation! Requirements! Specification! nonfunctional! requirements! functional! model!

More information

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology ArchiMate Core Structural Concepts Behavioral Concepts Informational Concepts interaction Technology Application Layer Concept Description Notation Concept Description Notation Actor An organizational

More information

<Insert Picture Here> Oracle Coherence & Extreme Transaction Processing (XTP)

<Insert Picture Here> Oracle Coherence & Extreme Transaction Processing (XTP) Oracle Coherence & Extreme Transaction Processing (XTP) Gary Hawks Oracle Coherence Solution Specialist Extreme Transaction Processing What is XTP? Introduction to Oracle Coherence

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

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

LOG8430: Architecture logicielle et conception avancée

LOG8430: Architecture logicielle et conception avancée LOG8430: Architecture logicielle et conception avancée Modeling, OO Concepts, and Design Patterns Winter 2018 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike

More information

Virtualization and the Metrics of Performance & Capacity Management

Virtualization and the Metrics of Performance & Capacity Management 23 S September t b 2011 Virtualization and the Metrics of Performance & Capacity Management Has the world changed? Mark Preston Agenda Reality Check. General Observations Traditional metrics for a non-virtual

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

Execution Architecture

Execution Architecture Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

OLAP Introduction and Overview

OLAP Introduction and Overview 1 CHAPTER 1 OLAP Introduction and Overview What Is OLAP? 1 Data Storage and Access 1 Benefits of OLAP 2 What Is a Cube? 2 Understanding the Cube Structure 3 What Is SAS OLAP Server? 3 About Cube Metadata

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

Chapter 6 System Design: Decomposing the System

Chapter 6 System Design: Decomposing the System Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System Requirements Elicitation & Analysis results in; Non-functional requirements and constraints

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

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

Static Conformance Checking of Runtime Architectures Tool Demonstration

Static Conformance Checking of Runtime Architectures Tool Demonstration Static Conformance Checking of Runtime Architectures Tool Demonstration Marwan Abi-Antoun Jonathan Aldrich School of Computer Science Carnegie Mellon University The problem: architectural conformance Architects

More information

Software MEIC. (Lesson 22)

Software MEIC. (Lesson 22) Software Architecture @ MEIC (Lesson 22)! Last class Finished Allocation viewtype Software architecture of enterprise applications The architecture of Amazon Silk Today Digging into the Domain Logic Layer

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

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Chapter 3. Design of Grid Scheduler. 3.1 Introduction Chapter 3 Design of Grid Scheduler The scheduler component of the grid is responsible to prepare the job ques for grid resources. The research in design of grid schedulers has given various topologies

More information

Enterprise Architect. User Guide Series. Maintenance

Enterprise Architect. User Guide Series. Maintenance Enterprise Architect User Guide Series Maintenance In Sparx Systems Enterprise Architect, Maintenance items (such as defects, tasks and events) are managed as element properties. Change and Issue elements

More information

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard

Computer 2 App1. App3 API Library. App3. API Library. Local Clipboard System Programming (MEEC/MEAer) Project Assignment 2016/2017 In this project the students will implement a simple distributed clipboard. Applications can copy and past to/from the distributed clipboard

More information

CS/SE3SH3 Operating Systems

CS/SE3SH3 Operating Systems CS/SE3SH3 Operating Systems Sanzheng Qiao Department of Computing and Software November, 2012 Course web page My home page: www.cas.mcmaster.ca/ qiao announcements my address, office hours TA emails lecture

More information

Good Practices in Parallel and Scientific Software. Gabriel Pedraza Ferreira

Good Practices in Parallel and Scientific Software. Gabriel Pedraza Ferreira Good Practices in Parallel and Scientific Software Gabriel Pedraza Ferreira gpedraza@uis.edu.co Parallel Software Development Research Universities Supercomputing Centers Oil & Gas 2004 Time Present CAE

More information

Understanding Feature and Network Services in Cisco Unified Serviceability

Understanding Feature and Network Services in Cisco Unified Serviceability CHAPTER 10 Understanding Feature and Network Services in Cisco Unified Serviceability May 19, 2009 Cisco Unified Serviceability service management includes working with feature and network services and

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

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

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System and Software Architecture Description (SSAD) We Are Trojans Team01 Team members Eirik Skogstad Min Li Pittawat Pamornchaisirikij Punyawee Pakdiying Saloni Priya Ameer Elkordy Suleyman Erten Kamonphop

More information

Flash: an efficient and portable web server

Flash: an efficient and portable web server Flash: an efficient and portable web server High Level Ideas Server performance has several dimensions Lots of different choices on how to express and effect concurrency in a program Paper argues that

More information

Curriculum Development Centre Ministry of Education

Curriculum Development Centre Ministry of Education KEMENTERIAN PELAJARAN MALAYSIA Self Access Learning Module ICT Literacy for Secondary School Programme Networks Curriculum Development Centre Ministry of Education MODULE 3 SHARE PRINTER Curriculum Development

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

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

Logical Architecture & Design Preliminaries

Logical Architecture & Design Preliminaries Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer

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

D365 DATA ARCHIVAL & RETENTION

D365 DATA ARCHIVAL & RETENTION MICROSOFT LABS OCTOBER 12, 2018 D365 DATA ARCHIVAL & RETENTION Highly scalable, secured and re-usable solution for Archive, Retain and Delete the Microsoft D365 data Contents Introduction... 2 Archiving...

More information

Subject: Migration Information for ArcIMS, ArcSDE, and ArcGIS Server Users

Subject: Migration Information for ArcIMS, ArcSDE, and ArcGIS Server Users December 12, 2006 Subject: Migration Information for ArcIMS, ArcSDE, and ArcGIS Server Users Summary This document provides information about how we are migrating your licenses and maintenance for ESRI

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

Praktikum Ingenieurmäßige Software-Entwicklung

Praktikum Ingenieurmäßige Software-Entwicklung Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Praktikum Ingenieurmäßige Software-Entwicklung Palladio Component Model Part IV (PCM) Prof. Dr. R. H. Reussner (reussner@ipd.uka.de) Lehrstuhl

More information

Competition => Collaboration a runtime-centric view of parallel computation

Competition => Collaboration a runtime-centric view of parallel computation Competition => Collaboration a runtime-centric view of parallel computation Simon Kahan skahan@cs.washington.edu Competition Multiple entities in contention for limited, indivisible resources or opportunities

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

Splitting the pattern into the model (this stores and manipulates the data and executes all business rules).

Splitting the pattern into the model (this stores and manipulates the data and executes all business rules). Tutorial 3 Answers Comp319 Software Engineering Object patterns Model View Controller Splitting the pattern into the model (this stores and manipulates the data and executes all business rules). View Controller

More information

Architectures for distributed systems (Chapter 2)

Architectures for distributed systems (Chapter 2) Today Architectures for distributed systems (Chapter 2) Architectural styles Client-server architectures Decentralized and peer-to-peer architectures Lecture 2, page!1 Module 1: Architectural Styles Important

More information

i2b2 Software Architecture Project Management (PM) Cell Document Version: i2b2 Software Version:

i2b2 Software Architecture Project Management (PM) Cell Document Version: i2b2 Software Version: i2b2 Software Architecture Project Management (PM) Cell Document Version: 1.7.08-004 i2b2 Software Version: 1.7.08 TABLE OF CONTENTS TABLE OF CONTENTS... 2 DOCUMENT MANAGEMENT... 3 ABSTRACT... 4 1 OVERVIEW...

More information

One size does not fit all

One size does not fit all One size does not fit all Stefan Tilkov @stilkov GOTO London 2016 Building blocks lambdas components functions containers VMs services units dynamic libraries objects libraries images classes procedures

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

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

D365 DATA ARCHIVAL & RETENTION

D365 DATA ARCHIVAL & RETENTION MICROSOFT LABS FEBRUARY 7, 2018 D365 DATA ARCHIVAL & RETENTION Highly scalable, secured and re-usable solution for Archive, Retain and Delete the Microsoft D365 data Contents Introduction... 2 Archiving...

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

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010 Scaling Without Sharding Baron Schwartz Percona Inc Surge 2010 Web Scale!!!! http://www.xtranormal.com/watch/6995033/ A Sharding Thought Experiment 64 shards per proxy [1] 1 TB of data storage per node

More information

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo Document Sub Title Yotpo Technical Overview 07/18/2016 2015 Yotpo Contents Introduction... 3 Yotpo Architecture... 4 Yotpo Back Office (or B2B)... 4 Yotpo On-Site Presence... 4 Technologies... 5 Real-Time

More information

Software Architecture and Design I

Software Architecture and Design I Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How

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

vsan 6.6 Performance Improvements First Published On: Last Updated On:

vsan 6.6 Performance Improvements First Published On: Last Updated On: vsan 6.6 Performance Improvements First Published On: 07-24-2017 Last Updated On: 07-28-2017 1 Table of Contents 1. Overview 1.1.Executive Summary 1.2.Introduction 2. vsan Testing Configuration and Conditions

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

Today. Architectural Styles

Today. Architectural Styles Today Architectures for distributed systems (Chapter 2) Centralized, decentralized, hybrid Middleware Self-managing systems Lecture 2, page 1 Architectural Styles Important styles of architecture for distributed

More information

Chapter 2 ARCHITECTURES

Chapter 2 ARCHITECTURES DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 2 ARCHITECTURES Architectural Styles (1) DS should be composed of Components and Connectors.» How

More information

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning Objectives Computer Science 202 Database Systems: Database Design To learn what an information system is. To learn what a Database Life Cycle (DBLC) is. To learn what a Systems Development Life Cycle (SDLC)

More information

Principles of Parallel Algorithm Design: Concurrency and Mapping

Principles of Parallel Algorithm Design: Concurrency and Mapping Principles of Parallel Algorithm Design: Concurrency and Mapping John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 3 17 January 2017 Last Thursday

More information

Demystifying Scopus APIs

Demystifying Scopus APIs 0 Demystifying Scopus APIs Massimiliano Bearzot Customer Consultant South Europe April 17, 2018 1 What You Will Learn Today about Scopus APIs Simplistically, how do Scopus APIs work & why do they matter?

More information

Review: Creating a Parallel Program. Programming for Performance

Review: Creating a Parallel Program. Programming for Performance Review: Creating a Parallel Program Can be done by programmer, compiler, run-time system or OS Steps for creating parallel program Decomposition Assignment of tasks to processes Orchestration Mapping (C)

More information

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed

More information

Enterprise Software Architecture & Design

Enterprise Software Architecture & Design Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed

More information

VMware vcloud Air User's Guide

VMware vcloud Air User's Guide vcloud Air This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this document,

More information

Process Choreographer: High-level architecture

Process Choreographer: High-level architecture IBM Software Group Process Choreographer: High-level architecture Birgit Duerrstein WebSphere Process Choreographer Development IBM Lab Boeblingen duerrstein@de.ibm.com 2004 IBM Corporation Agenda Business

More information

Understanding Software Connector Compatibilities Using a Connector Taxonomy. Nikunj Mehta Ph. D. Candidate

Understanding Software Connector Compatibilities Using a Connector Taxonomy. Nikunj Mehta Ph. D. Candidate Understanding Software Connector Compatibilities Using a Connector Taxonomy Nikunj Mehta Ph. D. Candidate Software Architectures High-level modeling primitives Components, connectors, configurations [SG96]

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

XSEDE Service Provider Integration Use Cases

XSEDE Service Provider Integration Use Cases XSEDE Service Provider Integration Use Cases May 18, 2017 Version 1.0 This document outlines the XSEDE system features that allow Service Providers (SPs) to integrate their resources with the rest of the

More information

How Rust views tradeoffs. Steve Klabnik

How Rust views tradeoffs. Steve Klabnik How Rust views tradeoffs Steve Klabnik 03.04.2019 What is a tradeoff? Bending the Curve Overview Design is about values Case Studies BDFL vs Design By Committee Stability Without Stagnation Acceptable

More information

BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR. Petri Kero CTO / Ministry of Games

BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR. Petri Kero CTO / Ministry of Games BUILDING A SCALABLE MOBILE GAME BACKEND IN ELIXIR Petri Kero CTO / Ministry of Games MOBILE GAME BACKEND CHALLENGES Lots of concurrent users Complex interactions between players Persistent world with frequent

More information

SM L04 Veritas Operations Manager Advanced 4.0 RU1: Optimize Your Heterogeneous Storage Environment Hands-On Lab Description

SM L04 Veritas Operations Manager Advanced 4.0 RU1: Optimize Your Heterogeneous Storage Environment Hands-On Lab Description SM L04 Veritas Operations Manager Advanced 4.0 RU1: Optimize Your Heterogeneous Storage Environment Hands-On Lab Description Veritas Operations Manager Advanced (VOM Advanced) is a comprehensive discovery

More information

Grid Computing with Voyager

Grid Computing with Voyager Grid Computing with Voyager By Saikumar Dubugunta Recursion Software, Inc. September 28, 2005 TABLE OF CONTENTS Introduction... 1 Using Voyager for Grid Computing... 2 Voyager Core Components... 3 Code

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

Center for Scalable Application Development Software (CScADS): Automatic Performance Tuning Workshop

Center for Scalable Application Development Software (CScADS): Automatic Performance Tuning Workshop Center for Scalable Application Development Software (CScADS): Automatic Performance Tuning Workshop http://cscads.rice.edu/ Discussion and Feedback CScADS Autotuning 07 Top Priority Questions for Discussion

More information