April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter...
-
Upload
frederick-wilcox -
Category
Documents
-
view
217 -
download
0
Transcript of April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter...
April 2006 Peter Henderson, University of Southampton 1
The Architecture of Open SystemsPeter 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 http://ecs.soton.ac.uk/~ph/OpenSystems
April 2006 Peter Henderson, University of Southampton 2
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 2006 Peter Henderson, University of Southampton 3
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 2006 Peter Henderson, University of Southampton 4
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 2006 Peter Henderson, University of Southampton 5
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 2006 Peter Henderson, University of Southampton 6
Modularity
• Some Examples
• Enumeration of key Concepts
• A Model … to use when defining Pluggable
Modularity
April 2006 Peter Henderson, University of Southampton 7
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, …
BrowserWeb
Server
Active Page
Database Connector
Database Server
Database
HTTP/HTML
Form data/ HTML
Query / RS
SQL/RSTerminology:
ComponentInterfaceServiceProtocol …
Modularity - Examples
April 2006 Peter Henderson, University of Southampton 8
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 2006 Peter Henderson, University of Southampton 9
grid-compute.leeds…
rasselas.ecs…
grid-compute.oesc…
NGS Application Architecture
cluster linux
SRB Globus PBS gsi sshd
Globus gsi ssh
Globus
linux
Modularity - Examples
April 2006 Peter Henderson, University of Southampton 10
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 2006 Peter Henderson, University of Southampton 11
Component, Interface, Composition
Component
A is a Component
Interface/Service
B supplies interface J, B requires interface K
Composition
BLUE contains C and DBLUE is a ComponentBLUE hides interface L
A
C
B
D
J
L MK
K
Notation loosely based on UML derivative SysML block diagrams
Modularity - Model
April 2006 Peter Henderson, University of Southampton 12
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 2006 Peter Henderson, University of Southampton 13
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 2006 Peter Henderson, University of Southampton 14
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 2006 Peter Henderson, University of Southampton 15
Modularity
• A system is modular if its various parts can be easily replaced
• Modular structure implies the existence of mutually agreed interfaces
CL MK
E
D
Pluggable - Concepts
April 2006 Peter Henderson, University of Southampton 16
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
L MK
Pluggable - Concepts
April 2006 Peter Henderson, University of Southampton 17
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 2006 Peter Henderson, University of Southampton 18
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 2006 Peter Henderson, University of Southampton 19
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 2006 Peter Henderson, University of Southampton 20
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 2006 Peter Henderson, University of Southampton 21
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 2006 Peter Henderson, University of Southampton 22
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 2006 Peter Henderson, University of Southampton 23
Independently Sourced
• Security of Supply
• True Independence of Interfaces
Independently Sourced
April 2006 Peter Henderson, University of Southampton 24
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
BrowserWeb
Server
Active Page
Database Connector
Database Server
Database
April 2006 Peter Henderson, University of Southampton 25
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
BrowserWeb
Server
Active Page
Database Connector
Database Server
Database
April 2006 Peter Henderson, University of Southampton 26
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 2006 Peter Henderson, University of Southampton 27
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 2006 Peter Henderson, University of Southampton 28
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