Chapter 12 Review Chad Hagstrom CS 310 Spring 2008.

Slides:



Advertisements
Similar presentations
Distributed Systems Architectures
Advertisements

The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Distributed Systems Architectures
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Distributed Systems Architectures
Modifed from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 12 & 13 Slide 1 Models of Software Architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 13 Physical Architecture Layer Design
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Ch 12 Distributed Systems Architectures
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Architectural Design, Distributed Systems Architectures
Copyright © 1997 by Rational Software Corporation An Overview of Network-Centric Software Architectures (Adapted from Dr. Osman Balci) Sung Hee Park Department.
Chapter 4 Database Management Systems. Chapter 4Slide 2 What is a Database Management System (DBMS)?  Database An organized collection of related data.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Client/Server Technology Two-Tier Architecture Three-Tier Architecture Josh Antonelli Jenn Lang Joe Schisselbauer Chad Williams.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
Chapter 9 Elements of Systems Design
Distributed Software Engineering To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Systems Architectures ©Ian Sommerville 2006.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Distributed Systems Architectures
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Slide 1 Physical Architecture Layer Design Chapter 13.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
©Ian Sommerville 2000 Software Engineering. Chapters 12/31Slide 1 Chapters 12/31 Distributed Systems Architectures & Service-Oriented Software Engineering.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Copyright © 2004 Pearson Education, Inc. Slide 2-1 Data Models Data Model: A set.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Chapter 4 Review Chad Hagstrom CS 310 Spring 2008.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Chapter 14 Advanced Architectural Styles. Objectives Describe the characteristics of a distributed system Explain how middleware supports distributed.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Geospatial Information Processing (DGIP) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Distributed Systems Architectures
Common object request broker
CSC 480 Software Engineering
Enterprise Application Architecture
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Software models - Software Architecture Design Patterns
Distributed Systems Architectures
Presentation transcript:

Chapter 12 Review Chad Hagstrom CS 310 Spring 2008

Concepts Overview Primary Concepts: * The reasons for (and advantages of) distributed systems * Description of client-server architectures * Description of distributed object architectures * Examination of “inter-organizational distributed computing”

Distributed Systems * This is a software system consisting of several smaller interoperating pieces that each execute on their own separate computer (or processor). Advantages: * It can use the resources of multiple computers simultaneously. * The pieces usually communicate via some standard network protocol. * The pieces can perform their operations in parallel. * The addition of new pieces is achievable by inserting another computer (with its software piece) into the same network. * If one piece malfunctions, other pieces may be designed to act as backups to keep the system running continuously.

Distr. Systems (cont'd...) ‏ Disadvantages: * Distributed systems are usually harder to implement. * It is harder to keep such systems secure because of their network communication. * The process of handling the interoperability of the pieces is more complex. * The system's responsiveness cannot be predicted accurately in many situations.

Multiprocessor Systems * Consists of several different pieces that each constitute a different process. * Each process could possibly be running on its own individual processor, but such a situation is not required. * This architecture could allow for processes that perform their actions in parallel, which increases efficiency in general.

Client-Server Systems * Consists of server processes (which provide various services to other processes) and client processes (which are the consumers of such services). * Clients have to be able to locate servers in order to interact with them, but the converse is not necessarily true. Usually consists of a 3-layered architecture: * Presentation Layer: Allows users to send commands to the system and to view system results. * Application Processing Layer: Handles & processes user commands, retrieves and processes system data, sends updates to the user, etc. * Data Management Layer: Handles the system's data storage and data operations.

2-Tier Client-Server Systems There are 2 main ways to divide three layers among two processes: * Thin-Client Model: Clients just have the presentation layer, while the server(s) have the application processing and data management layers. * Fat-Client Model: Clients have the presentation and application processing layers, while the server(s) just have the data management layer. * The thin-client model is less complex to implement in most cases, but it severely taxes the server(s) and usually requires more network data transmission (which taxes the network as well). * The fat-client model reduces server workload and distributes more of the processing to the clients, but major application modifications may require clients to perform a complete system reinstallation.

3-Tier Client-Server Systems * Unlike 2-tier systems, these systems divide 3 layers among 3 processes. * Client processes handle the presentation layer, one server process (or group) handles the application processing layer, and a different server process (or group) handles the data management layer. * This approach is less taxing on servers and the network compared to the thin-client model, and updates to the application processing are usually less complex and cheaper compared to the fat-client model.

Distributed Object Systems * Instead of separating processes into producers of services and consumers of services, this system type treats processes as objects which can both produce and consume services. * These objects use an “Object Request Broker” (or “Software Bus”) to send and receive requests to each other. * Such systems are typically more flexible than client-server systems since objects can produce and consume services, but system complexity is increased.

CORBA * CORBA is a standard that defines a particular set of services for an ORB to provide. Some of the requirements specified by this standard are these: * Objects using a CORBA broker can be language-independent, but they must utilize something called “IDL (Interface Definition Language).” * The ORB must not only forward service requests; it must also notify the sending object of the outcome. * Certain services (like “directory services, transaction services...”) must be provided by some of the system's CORBA objects.

Inter-Org. Distr. Computing * Refers to systems that are distributed not only across multiple processes but also between multiple individuals and organizations. Two such models are: * Peer-To-Peer Architecture: an inter-organizational system which is either completely decentralized (meaning there is no such thing as a “client” or a “server”), or is semi-centralized (meaning a few servers do exist to assist in coordination among peers). Service-Oriented Architecture: an inter-organizational system that allows many different services to be accessed from various pieces of the system, normally by means of some standard protocol (like HTML, SOAP, etc.).

Conclusion My new perspectives on Chapter 12: * The realization of how much more complex my CS 310 and senior project would be without considering distributed architecture situations. Application of Chapter 12 to my project: * My current design divides the main system into a two-processor architecture.

References * Ian Sommerville's Software Engineering (8 th ed)‏ * Professor Carol Shilepsky's PowerPoint slides at aurora.wells.edu