Title: The Architecture of Open Systems
1The Architecture of Open Systems
This presentation is part of a short course on
Architecture and Open Systems. Please see
http//ecs.soton.ac.uk/ph/OpenSystems
- Peter Henderson
- Dependable Systems and Software Engineering and
- Open Middleware Infrastructure Institute
- University of Southampton
2Openness 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
3Situation
- Open System Architectures are said to be a good
thing - But we dont always agree what we mean by Open
- What does it mean to say a system is Open?
4Answer
- 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
5Outline
- 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
6Modularity
Modularity
- Some Examples
- Enumeration of key Concepts
- A Model to use when defining Pluggable
7Active Web Page Architecture
Modularity - Examples
Browser
Web Server
HTTP/ HTML
Form data/ HTML
Browser IE, Firefox, Web Server Tomcat,
IIS, Jetty, Active Page JSP, ASP, PHP,
Database Connector jdbc1, odbc2, Database
Server mySQL, SQLServer,
Active Page
Query / RS
Database Connector
Database Server
SQL/ RS
Terminology Component Interface Service Protocol
Database
8WS-Grid Application Architecture
Modularity - Examples
DA1
Data Access Service
WF
DI
CS
Data Integration Service
Continuation Service
Workflow Service
DA2
See WS-Grid.com
Data Access Service
9NGS Application Architecture
Modularity - Examples
grid-compute.leeds
grid-compute.oesc
cluster
linux
linux
SRB
Globus
PBS
gsi sshd
Globus
rasselas.ecs
Globus
gsi ssh
10Open Systems Concepts
Modularity - 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
11Component, Interface, Composition
Modularity - Model
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
B
K
J
C
D
L
M
K
Notation loosely based on UML derivative SysML
block diagrams
12Pluggable
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
13Component
Pluggable - Concepts
- 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
14Interface
Pluggable - Concepts
- 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
15Modularity
Pluggable - Concepts
- A system is modular if its various parts can be
easily replaced - Modular structure implies the existence of
mutually agreed interfaces
D
C
L
M
K
E
16Granularity
Pluggable - Concepts
- 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
M
K
17Standards
Pluggable - Concepts
- International standards
- De facto (industrial) standards
- Agreements among users and suppliers of
components as to the means of interfacing
K
J
18Conformance
Pluggable - Concepts
- 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
19Openness
Pluggable - Concepts
- 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?
20Open System Definition
Pluggable - Principles
- 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
21Open Systems Principles
Pluggable - 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 - Its an official or de facto standard that has
many distinct suppliers (e.g. TCP/IP) - Its a de facto standard that has one supplier
but on which many component suppliers are
dependent (e.g. Windows)
22Open Systems Principles
Pluggable - 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
23Independently Sourced
Independently Sourced
- Security of Supply
- True Independence of Interfaces
24Security of Supply
Independently Sourced - Supply
Browser
Web Server
- 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?
Active Page
Database Connector
Database Server
Database
25Maintenance of the Interface
Independently Sourced - Interface
Browser
Web Server
- 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
Active Page
Database Connector
Database Server
Database
26Situation with which we began
- Open System Architectures are said to be a good
thing - But we dont always agree what we mean by Open
- What does it mean to say a system is Open?
27Answer 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
28Conclusion
- 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
29Sources
- TOGAF
- ODP/RM
- IEEE 1471
- Zachman (IBM)
- ATAM (SEI) tradeoff analysis
- SEI CMMI
- UML 2.0
- SysML
- IEEE 1220 (SysE Processes)
- IEEE 12207 (SE Processes)
- Requirements mgmt tools
- OGSA