April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter Henderson Dependable Systems and Software Engineering and.

Slides:



Advertisements
Similar presentations
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Advertisements

Holding slide prior to starting show. Supporting Collaborative Working of Construction Industry Consortia via the Grid - P. Burnap, L. Joita, J.S. Pahwa,
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Understanding Networked Applications: A First Course Midterm two review by David G. Messerschmitt.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Zachman Framework Source: Enterprise Architecture, Intervista Institute
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
N-Tier Architecture.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Reuse Standards Dr. Carma McClure Extended Intelligence, Inc. Copyright (c) 1998 by Extended Intelligence, Inc.
TDT4252/DT8802 Exam 2013 Guidelines to answers
DICOM / HL7 Verfication / Java Basis Random user with no account justs wants to validate an HL7 message or DICOM object The next diagram shows a number.
CSE 303 – Software Design and Architecture
Chapter 7 Problem & Cases
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Architecting Web Services Unit – II – PART - III.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Can architecture descriptions help prospective users to visualise the solution in terms of meeting its requirements? Peter Henderson Open Middleware Infrastructure.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
1 CS 502: Computing Methods for Digital Libraries Lecture 19 Interoperability Z39.50.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
How Web Database Architectures Work CPS181s April 8, 2003.
Basic Concepts and Definitions
CS223: Software Engineering Lecture 13: Software Architecture.
Basic Characteristics of Object-Oriented Systems
SOA Blueprints Learning Best Practices and Sample Applications for SOA Miko Matsumura.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
7/2/2016 1:52 AM HL7 SOA-Aware Enterprise Architecture Executive Summary HITSP October 28, 2008 Executive Summary HITSP October 28, 2008.
Chapter 2: Database System Concepts and Architecture - Outline
N-Tier Architecture.
Distribution and components
#01 Client/Server Computing
ApplinX Rod Carlson Senior Technical Lead.
Starting Design: Logical Architecture and UML Package Diagrams
Service Oriented Architecture (SOA)
Software engineering -1
Chapter 17: Client/Server Computing
Middleware, Services, etc.
Database Management Systems
Quality Assurance for Component-Based Software Development
Open Systems and Open Architecture – the benefits case
#01 Client/Server Computing
Presentation transcript:

April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter Henderson Dependable Systems and Software Engineering and Open Middleware Infrastructure Institute University of Southampton This presentation is part of a short course on Architecture and Open Systems. Please see

April 2006Peter Henderson, University of Southampton2 Openness – historical uses of the adjective Open Open Distributed Processing (ODP) Open Systems (originally from Unix-wars) Open Standards Open Source Open Source Development Process Open Systems Architecture

April 2006Peter Henderson, University of Southampton3 Situation Open System Architectures are said to be a good thing But we don’t always agree what we mean by Open What does it mean to say a system is Open?

April 2006Peter Henderson, University of Southampton4 Answer A system is Open if It is Modular It is made up of components that are interchangeable (Pluggable) And those components can be obtained from many Independent Sources

April 2006Peter Henderson, University of Southampton5 Outline Modularity –Examples of Modular Architectures –Model in which modularity concepts can be discussed Pluggable –Define Pluggable, using model –State some Principles for Open Systems Independently Sourced –Security of Supply –Maintenance of Interface Revisit Definition of Open

April 2006Peter Henderson, University of Southampton6 Modularity Some Examples Enumeration of key Concepts A Model … to use when defining Pluggable Modularity

April 2006Peter Henderson, University of Southampton7 Active Web Page Architecture Browser = IE, Firefox, … Web Server = Tomcat, IIS, Jetty, Active Page= JSP, ASP, PHP, … Database Connector = jdbc1, odbc2, … Database Server = mySQL, SQLServer, … Browser Web Server Active Page Database Connector Database Server Database HTTP/ HTML Form data/ HTML Query / RS SQL/ RS Terminology: Component Interface Service Protocol … Modularity - Examples

April 2006Peter Henderson, University of Southampton8 WS-Grid Application Architecture WF DA2 DI DA1 Data Access Service Data Integration Service Data Access Service Workflow Service CS Continuation Service See WS-Grid.com Modularity - Examples

April 2006Peter Henderson, University of Southampton9 grid-compute.leeds… rasselas.ecs… grid-compute.oesc… NGS Application Architecture clusterlinux SRB GlobusPBSgsi sshd Globus gsi ssh Globus linux Modularity - Examples

April 2006Peter Henderson, University of Southampton10 Open Systems Concepts Component Interface Modularity Granularity Standards Conformance Openness Portability Interoperability Adaptor COTS Protocol Architecture –Object Oriented –Service Oriented –Message Oriented –Data Oriented View and Viewpoint Evolution (whole life) Heterogeneity Reuse Stakeholder Requirements Connector Version Variety Modularity - Concepts

April 2006Peter Henderson, University of Southampton11 Component, Interface, Composition Component A is a Component Interface/Service B supplies interface J, B requires interface K Composition BLUE contains C and D BLUE is a Component BLUE hides interface L A C B D J LMK K Notation loosely based on UML derivative SysML block diagrams Modularity - Model

April 2006Peter Henderson, University of Southampton12 Pluggable Component Interface Modularity Granularity Standards Conformance Openness Define key Concepts - see left Define Open System (alternative statement) Principles of Open Systems – just three of many principles Pluggable

April 2006Peter Henderson, University of Southampton13 Component An identifiable and generally replaceable unit of composition. Typically something that is constructed independently Will be known by its name and version number and by the set of interfaces that it supports and requires Will exist in many versions through time A Pluggable - Concepts

April 2006Peter Henderson, University of Southampton14 Interface An identifiable and generally agreed means of communication with a component Can be call-based, message-based or stream-based Can be synchronous or asynchronous Will be known by its name and version number and by the protocol for using it Will exist in many versions through time J K Pluggable - Concepts

April 2006Peter Henderson, University of Southampton15 Modularity A system is modular if its various parts can be easily replaced Modular structure implies the existence of mutually agreed interfaces C LMK E D Pluggable - Concepts

April 2006Peter Henderson, University of Southampton16 Granularity A modular system may have parts of different sizes The size of the parts is referred to as the granularity of the modular structure This is a recursive concept leading to the notion of hierarchical structure LMK Pluggable - Concepts

April 2006Peter Henderson, University of Southampton17 Standards International standards De facto (industrial) standards Agreements among users and suppliers of components as to the means of interfacing J K Pluggable - Concepts

April 2006Peter Henderson, University of Southampton18 Conformance A component may supply an interface that may or may not conform to a given standard Validating conformance requires the existence of elaborate testing capabilities E Pluggable - Concepts

April 2006Peter Henderson, University of Southampton19 Openness A combination of the number of open interfaces And the extent to which these interfaces actually conform to agreed standards And the number of independent sources for components A property of component or system, rather than interface? Pluggable - Concepts

April 2006Peter Henderson, University of Southampton20 Open System Definition An Open System is one in which many of the interfaces (internal and external) conform to widely agreed standards … … so that variety and evolution of the system can be achieved and … … so that portability and interoperability of components are achieved … … largely by plug and play Pluggable - Principles

April 2006Peter Henderson, University of Southampton21 Open Systems Principles For an interface to be considered to “conform to widely agreed standards” there needs to be a strong reason why it can be expected to be maintained through evolution, such as –It’s an official or de facto standard that has many distinct suppliers (e.g. TCP/IP) –It’s a de facto standard that has one supplier but on which many component suppliers are dependent (e.g. Windows) Pluggable - Principles

April 2006Peter Henderson, University of Southampton22 Open Systems Principles The more distinct applications in which a component has been deployed, the more confidence we are likely to have in its quality and in the openness of its interfaces Legacy components need to be bridged to be part of an open system. The adaptor used to bridge them is properly considered to be part of the legacy. i.e we make old components into pluggable components rather than support legacy interfaces Pluggable - Principles

April 2006Peter Henderson, University of Southampton23 Independently Sourced Security of Supply True Independence of Interfaces Independently Sourced

April 2006Peter Henderson, University of Southampton24 Security of Supply Availability of components from many independent suppliers Dependence on suppliers minimised But weakness can be a single component Open Source contributes to our feeling of security – why? Independently Sourced - Supply Browser Web Server Active Page Database Connector Database Server Database

April 2006Peter Henderson, University of Southampton25 Maintenance of the Interface No one supplier can modify interface without risk e.g fact that many web servers support JSP means that each supplier will want to implement same functionality as the others Independently Sourced - Interface Browser Web Server Active Page Database Connector Database Server Database

April 2006Peter Henderson, University of Southampton26 Situation – with which we began Open System Architectures are said to be a good thing But we don’t always agree what we mean by Open What does it mean to say a system is Open?

April 2006Peter Henderson, University of Southampton27 Answer – we gave A system is Open if It is Modular It is made up of components that are interchangeable (Pluggable) And those components can be obtained from many Independent Sources

April 2006Peter Henderson, University of Southampton28 Conclusion An Open System is a system composed from components that can be readily replaced from multiple sources Which implies that the components have de facto Open interfaces Open interfaces are just the means of agreement among component suppliers

April 2006Peter Henderson, University of Southampton29 Sources TOGAF ODP/RM IEEE 1471 Zachman (IBM) ATAM (SEI) tradeoff analysis SEI CMMI UML 2.0 SysML IEEE 1220 (SysE Processes) IEEE (SE Processes) Requirements mgmt tools OGSA