Architecture Example Point-to-point wire

Similar documents
Outline. TIM 50 - Business Information Systems. Lecture 10. Instructor: Terry Allen UC Santa Cruz 10/28/2011

TIM 50 - Business Information Systems

The Advantages of Using Network Marketing Solutions for Student Presentations

n Assignment 4 n Due Thursday 2/19 n Business paper draft n Due Tuesday 2/24 n Database Assignment 2 posted n Due Thursday 2/26

Stages: 1. Conceptualization. 2. Analysis. 3. Architecture Design. 4. Development Evolution. 5. Testing and Evaluation. 6.

Lecture 20. UC Santa Cruz

ICS 434 Advanced Database Systems

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Chapter 2 Database System Concepts and Architecture

System types. Distributed systems

Computer Information Systems (CIS)

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Options. Acquiring an application. Custom development. Off-the-shelf. Trade-off. Outsourcing development

Chapter 2: Remote Procedure Call (RPC)

Information and Communications Technology Courses at a Glance

1 File Processing Systems

Service Oriented Architecture

Software Engineering

How To Write Portable Programs In C

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Phire Architect Hardware and Software Requirements

Software Architecture Document

TYLER JUNIOR COLLEGE School of Continuing Studies 1530 SSW Loop 323 Tyler, TX

Software design (Cont.)

Chapter 1: Introduction. Database Management System (DBMS)

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

OKLAHOMA SUBJECT AREA TESTS (OSAT )

Architectural Patterns. Layers: Pattern. Architectural Pattern Examples. Layer 3. Component 3.1. Layer 2. Component 2.1 Component 2.2.

Understanding Client/Server Computing

How To Understand The Concept Of A Distributed System

Customer Bank Account Management System Technical Specification Document

Protocols and Architecture. Protocol Architecture.

Database trends: XML data storage

What You Will Learn About. Computers Are Your Future. Chapter 8. Networks: Communicating and Sharing Resources. Network Fundamentals

Sources: On the Web: Slides will be available on:

JOURNAL OF OBJECT TECHNOLOGY

Education & Training Plan IT Network Professional with CompTIA Network+ Certificate Program with Externship

50 Computer Science MI-SG-FLD050-02

Education & Training Plan IT Network Professional with CompTIA Network+ Certificate Program with Externship

Database Tutorials. Business Papers. Class Announcements Pushing Out submissions

Client-server 3-tier N-tier

Introduction to database management systems

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

Architecture. Reda Bendraou

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

Chapter 7D The Java Virtual Machine

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

FF/EDM Intro Industry Goals/ Purpose Related GISB Standards (Common Codes, IETF) Definitions d 4 d 13 Principles p 6 p 13 p 14 Standards s 16 s 25

Development of a Learning Content Management Systems

Real SQL Programming 1

1. INTRODUCTION TO RDBMS

Communications and Networking

Chapter 1: Introduction

Architecture Design & Sequence Diagram. Week 7

Lecture 26 Enterprise Internet Computing 1. Enterprise computing 2. Enterprise Internet computing 3. Natures of enterprise computing 4.

Distributed Systems Architectures

Introduction to Database Management Systems

DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2

WLAN600 Wireless IP Phone Administrator s Guide

Chapter 15 Windows Operating Systems

IT Infrastructure: Hardware and Software

Network and Services (NETW-903)

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

DATA ITEM DESCRIPTION

Local Area Networks (LANs) Blueprint (May 2012 Release)

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

Introduction to Java Applications Pearson Education, Inc. All rights reserved.

T-BOXN12R. First steps with T-BOXN12R. You can make it wireless. Date: Version 1.0

Architecture of Transaction Processing Systems

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Configuring and Monitoring Hitachi SAN Servers

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

Computer Information Systems

B.Sc. (Computer Science) First Year

Chapter 6 CDMA/802.11i

UNIFACE Component-based. Development Methodology UNIFACE V Revision 0 Dec 2000 UMET

Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER

Chapter 18: Database System Architectures. Centralized Systems

Government Girls Polytechnic, Bilaspur

Operating Systems 4 th Class

MD Link Integration MDI Solutions Limited

Databases Lesson 04 Client Server Computing and Adaptation

Example of Standard API

architecture: what the pieces are and how they fit together names and addresses: what's your name and number?

Master-Touch and ValuMass. Modbus Communications. INSTRUCTION MANUAL (Rev. 2.1)

Database Design and Programming

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Adi Armoni Tel-Aviv University, Israel. Abstract

Managing Variability in Software Architectures 1 Felix Bachmann*

Open Unified Data Protection and Business Continuity Framework

PCCC PCCC Course Description

Distributed System: Definition

IT Architecture Review. ISACA Conference Fall 2003

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Introduction to Database Systems

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

DATABASE MANAGEMENT SYSTEM

Ingegneria del Software II academic year: Course Web-site: [

DIABLO VALLEY COLLEGE CATALOG

Middleware Lou Somers

Transcription:

Class Announcements TIM 50 - Business Information Systems Lecture 10 Midterm Tuesday 5/5 Study guide posted Instructor: John Musacchio UC Santa Cruz Feb. 5, 2015 Time sharing Architecture Example Point-to-point wire (no network) ASCII terminal (no graphics) Mainframe (database and application server) Two-tier client/server Three-tier client/server server Local-area network Server/ Mainframe Enterprise data server 1

System integration 1. Architecture 2. subsystem implementation 3. system integration Bring together subsystems and make them achieve desired system functionality Testing Modifications often needed Emergence Subsystems are - specialized - have simple functionality Higher-level system functionality arises from the interaction of subsystems Called: Emergence e.g. airplane flies, but subsystems can t Why system decomposition? Divide and conquer approach to containing complexity Reuse Consonant with industry structure (unless system is to be supplied by one company) Others? Networked computing infrastructure by David G. Messerschmitt Layering Example of Layering: networking Messages Elaboration or specialization Services Existing layers Transport Network Link Packets Frames Bits Physical Signals 2

Software Layering Operating system functions Middleware Operating System Graphical user interface (client only) Hide details of equipment from the application Multitasking Resource management Processing, memory, storage, etc etc Middleware Functions Capabilities that can be shared by many applications, but that is not part of OS Example: Management System (DBMS) Hide details of OS from application Java Virtual Machine What s a database? File with specified structure Example: relational table More purposes we ll talk about later. A Year City Accommodation Tourists 2002 Oakley Bed&Breakfast 14 2002 Oakley Resort 190 2002 Oakland Bed&Breakfast 340 2002 Oakland Resort 230 2002 Berkeley Camping 120000 2002 Berkeley Bed&Breakfast 3450 2002 Berkeley Resort 390800 2002 Albany Camping 8790 2002 Albany Bed&Breakfast 3240 2003 Oakley Bed&Breakfast 55 2003 Oakley Resort 320 2003 Oakland Bed&Breakfast 280 2003 Oakland Resort 210 2003 Berkeley Camping 115800 2003 Berkeley Bed&Breakfast 4560 2003 Berkeley Resort 419000 2003 Albany Camping 7650 2003 Albany Bed&Breakfast 6750 Storage Middleware example: DBMS Management System (DBMS) Manage Multiple databases Allow multiple applications to access common databases Implement standard data lookup (query) functions. 3

Server Example - Server Computing I want to see www.google.com Server <html><head><meta http-equiv="contenttype" content="text/html; charset=utf- 8"><title>Google</title><style><!-- body,td,a,p,.h{font-family:arial,sans-serif;}.h{font-size: 20px;}.q{color:#0000cc;} //--> Server Example Layers Revealed 3-Tier Server Architecture example Server Server : Infrastructure <html><head><meta http-equiv="content-type" content="text/html; charset=utf- 8"><title>Google</title><style><!-- body,td,a,p,.h{font-family:arial,sans-serif;}.h{font-size: 20px;}.q{color:#0000cc;} //--> Packet Packet Internet <html><head><meta http-equiv="content-type" content="text/html; charset=utf- 8"><title>Google</title><style><!-- body,td,a,p,.h{font-family:arial,sans-serif;}.h{font-size: 20px;}.q{color:#0000cc;} //--> Infrastructure Packet Packet Balance $0.50 Clicks, keystrokes <head> <title>bank of America Online Banking Accounts Overview</title> <meta name="description" content="bank of America Online Banking - Accounts Overview"> <link rel="stylesheet" type="text/css" href="/easdocs/images/win_ie.css"> <script language="javascript" type="text/javascript" src="/easdocs/ias_js/scripts.js"></script> <script language="javascript" type="text/javascript"> <!-- function hover(ref, classref) { eval(ref).classname = classref; }//--> </script> $0.50 What is Bob s balance? Shared data 3-Tier Server Architecture example 3-Tier Server Architecture example Server Web Server Logic Common Gateway Interchange Server Web Server Logic What is Bob s Balance? Shared data Shared data Management System (DBMS) 4

3-Tier Server Architecture example Server Web Server Relational In some implementations Logic and Web Server can be put on Different machines. What is Bob s Balance? Management System (DBMS) Logic Customer Balance Customer Class Alice $527 Silver Bob $0.50 Bronze Charles $1000000 Gold Shared data DBMS Responsibilities Hide Changes in the hardware from the Standard operations on the data, including searches, such a search is called a query. Separate Management from s, so that many applications can access the same data. Security, Integrity, Backup, fault tolerance, etc.. 3-Tier Server Architecture in General -Accept instructions from user -Make requests of server -Display responses of server Server -Takes inputs from client -Decides what to be done next -Decides what shared data to access and manipulates it -Processes shared data -Support multiple applications with common data -Protect critical data -Decouple data administration and application administration Shared data s Financial institution Customer logic Acquirer bank Customers books4u.com Book distribution centers Fulfillment logic s Consumer Enterprise Inter-enterprise Customers Merchandise Orders Book distributors Slide adapted from slides for Understanding Networked s By David G Messerschmitt. Copyright 2000. See copyright notice Slide adapted from slides for Understanding Networked s By David G Messerschmitt. Copyright 2000. See copyright notice 5

Architecture How do you begin to architect a solution for a problem like this? Goal: New Sea Break it into modules! New in-flight seatback system Sell upgrades and seat swaps (People who want to get away from sick people ) More legroom Offer to exchange seats Architecture Seatback Architecture HEADQUARTERS Wireless Link Seat back devices Wireless Link servers Seatback Linux OS Networking Infrastructure Coordination With On Plane Server Data Management User Interface Airline Dataserver When a module is composed of sub-modules, the architecture is hierarchical. HHC Architecture Granularity tradeoff. How big should we make the modules Seatback Coordination With On Plane Server User Interface Many simple small ones Or a few complicated big ones Linux OS Networking Infrastructure Data Management This aspect of modularity is called granularity. We also make use of layers Which is better? 6

In-plane Server Data server Server Communication With seat backs DBMS Standard queries (SQL) from HHC Server LinuxOS Networking Infrastructure Again, we see layering and hierarchy. Between each module we specify an interface Communication with airline database Standard queries (SQL) relayed to DBMS via OS and infrastructure Our architecture makes use of the Existing interface of the airline database, so we don t need to redesign it! A simple interface: from within Architecure Interfaces List of numbers N numbers of Float type Mean, 2 Numbers of float type that signify: Mean, HHC Linux Networking Infrastructure Communication with HHC Communication with airline database Interface specifications are often made precise by using data types. Example type: float A number with a decimal place Has a certain allowable range, and precision. More on Data types Example data types Data passing an interface is often specified in terms of a limited number of standard data types Data type = range of values and allowable manipulation Data type does not presume a specific representation, to allow heterogeneous platforms Representation must be known when data passes a specific module interface Integer natural number between -32,767 and +32,768 Could be represented (in many ways) by 16 bits since 2 n = 65,536 Float number of the form m*10 n /32768, where m is in the range -32,767 to +32,768 and n is in the range -255 to +256 Could be represented by 16+8 = 24 bits 7

More data types Character values assuming a-z and A-Z plus space and punctuation marks could be represented by 7 or 8 bits Character string collection of n characters, where n is customizable could be represented by 7*n bits Compound data types Programmer-defined composition of basic data types Example: Employee { String name; String address; Integer year_of birth; etc. } Interfaces PARAMETERS N numbers of Float type Implementation Module A Module B Implementation 1: 2 Numbers of float type that signify: Mean, HIDDEN From Module A!! INTERFACE RETURNS One module should not be concerned with other module s implementation Separation of concerns. One module should see the other only through its interface implementation details hidden. Abstraction Implementation Module B Implementation Module B Module A Implementation 2: Module A Implementation 1: Though different, this implementation is ok too. We can choose the implementation details however we want, as long as we comply with the agreed interface. Should he use it? I need to get the sum, I ll just take it from B NO!!!! Why?? Either A should compute SUM himself, or sit down with B and redesign the interface 8

Encapsulation The designer of B might take measures to hide SUM from A so that A is not able to violate the agreed interface. Example: B does not declare SUM as a global variable. Making a modules implementation details inaccessible to other modules is called encapsulation. Interfaces PARAMETERS Module A N numbers of Float type INTERFACE 2 Numbers of float type that signify: Mean, RETURNS This simple interface example allows for only one action of module B. Action is Compute mean and variance. Other examples are possible. Module B Possible software interface Protocol Menu of actions Example: action-1 action-2 action-3... Action 1: Compute mean Action 2: Compute variance Action 3: Compute mode Etc.. In addition to atomic actions, an interface may define protocols Protocol == finite sequence of actions required to achieve a higher level function One action can be shared by multiple protocols Multiple modules may participate in a protocol Another Interface Example: Automatic teller machine (ATM) Steps Define available actions Define, for each higher level function, a protocol Single action or a finite sequence of actions What is the interface between this machine and the customer? 9

Interface building blocks Action: authentication Message on screen or printed Menu of actions or returns from an action Touch selection of action Keypad Input parameters to an action Card reader Authentication, input parameters Money output slot Returns money Parameters Internal functionality Returns Action: authentication Action: specify_account Parameters Identity (card in slot) Institution (card in slot) PIN (typed on keypad) Internally, it contacts institution and matches against its database, institution noted for all subsequent actions (example of state) Returns Screen message ( Invalid PIN or menu of available actions) Parameters Internal functionality Returns Action: specify_account Parameters Account (touch screen from menu of choices) Internally, choice noted for all subsequent actions (another example of state) Returns None Action: amount Parameters Dollars_and_cents (typed on keypad) Internally, amount noted (another example of state) Returns Success or failure (state dependent, for example for a withdraw failure when dollars_and_cents exceeds balance) 10

Protocol: cash_withdrawal Protocol: cash_withdrawal What is the sequence of actions? authentication failure choose objective other objectives account no accounts amount balance exceeded! 11