Architecture 1

Download Report

Transcript Architecture 1

This presentation is part of a short course on Architecture and
Open Systems. Please see
http://ecs.soton.ac.uk/~ph/OpenSystems
The Architecture of Open
Systems
Peter Henderson
Dependable Systems and Software Engineering and
Open Middleware Infrastructure Institute
University of Southampton
April 2006
Peter Henderson, University of Southampton
1
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
2
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
3
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
4
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
5
Modularity
Modularity
• Some Examples
• Enumeration of key Concepts
• A Model … to use when defining
Pluggable
April 2006
Peter Henderson, University of Southampton
6
Modularity - Examples
Active Web Page Architecture
Browser
HTTP/
HTML
Browser = IE, Firefox, …
Query / RS
Database Server = mySQL, SQLServer, Database
…
Server
April 2006
Form data/ HTML
Active
Page
Web Server = Tomcat, IIS, Jetty,
Active Page= JSP, ASP, PHP, …
Database Connector = jdbc1, odbc2, …
Terminology:
Component
Interface
Service
Protocol …
Web
Server
SQL/
RS
Database
Connector
Database
Peter Henderson, University of Southampton
7
Modularity - Examples
WS-Grid Application Architecture
DA1
Data Access
Service
WF
CS
DI
Workflow
Service
Continuation
Service
Data Integration
Service
DA2
See WS-Grid.com
April 2006
Data Access
Service
Peter Henderson, University of Southampton
8
Modularity - Examples
NGS Application Architecture
grid-compute.leeds…
linux
Globus
grid-compute.oesc…
cluster
SRB
linux
Globus
PBS
Globus
gsi sshd
gsi ssh
rasselas.ecs…
April 2006
Peter Henderson, University of Southampton
9
Modularity - Concepts
Open Systems Concepts
•
•
•
•
•
•
•
•
•
•
•
•
Component
Interface
Modularity
Granularity
Standards
Conformance
Openness
Portability
Interoperability
Adaptor
COTS
Protocol
April 2006
• Architecture
–
–
–
–
•
•
•
•
•
•
•
•
•
Object Oriented
Service Oriented
Message Oriented
Data Oriented
View and Viewpoint
Evolution (whole life)
Heterogeneity
Reuse
Stakeholder
Requirements
Connector
Version
Variety
Peter Henderson, University of Southampton
10
Modularity - Model
Component, Interface, Composition
Component
A
A is a Component
Interface/Service
J
B supplies interface J,
B requires interface K
K
B
Composition
BLUE contains C and D
BLUE is a Component
BLUE hides interface L
April 2006
K
C
L
D
Notation loosely based on UML derivative
SysML block
diagrams
Peter Henderson, University
of Southampton
11
M
Pluggable
Pluggable
•
•
•
•
•
•
•
•
•
Component
Interface
Modularity
Granularity
Standards
Conformance
Openness
April 2006
• Define key Concepts - see left
• Define Open System (alternative
statement)
• Principles of Open Systems – just
three of many principles
Peter Henderson, University of Southampton
12
Pluggable - Concepts
Component
A
• 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
April 2006
Peter Henderson, University of Southampton
13
Pluggable - Concepts
Interface
J
K
• 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
April 2006
Peter Henderson, University of Southampton
14
Pluggable - Concepts
Modularity
• A system is modular if its various parts can
be easily replaced
• Modular structure implies the existence of
mutually agreed interfaces
D
K
C
L
M
E
April 2006
Peter Henderson, University of Southampton
15
Pluggable - Concepts
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
K
April 2006
L
Peter Henderson, University of Southampton
M
16
Pluggable - Concepts
Standards
• International standards
• De facto (industrial) standards
• Agreements among users and suppliers of
components as to the means of interfacing
J
April 2006
K
Peter Henderson, University of Southampton
17
Pluggable - Concepts
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
April 2006
Peter Henderson, University of Southampton
18
Pluggable - Concepts
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?
April 2006
Peter Henderson, University of Southampton
19
Pluggable - Principles
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
April 2006
Peter Henderson, University of Southampton
20
Pluggable - Principles
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)
April 2006
Peter Henderson, University of Southampton
21
Pluggable - Principles
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
April 2006
Peter Henderson, University of Southampton
22
Independently Sourced
Independently Sourced
• Security of Supply
• True Independence of Interfaces
April 2006
Peter Henderson, University of Southampton
23
Independently Sourced - Supply
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?
April 2006
Browser
Web
Server
Active
Page
Database
Server
Database
Connector
Database
Peter Henderson, University of Southampton
24
Independently Sourced - Interface
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
Browser
Web
Server
Active
Page
Database
Server
Database
Connector
Database
April 2006
Peter Henderson, University of Southampton
25
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
26
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
27
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 2006
Peter Henderson, University of Southampton
28
Sources
•
•
•
•
•
•
TOGAF
ODP/RM
IEEE 1471
Zachman (IBM)
ATAM (SEI) tradeoff analysis
SEI CMMI
April 2006
•
•
•
•
•
UML 2.0
SysML
IEEE 1220 (SysE Processes)
IEEE 12207 (SE Processes)
Requirements mgmt
tools
• OGSA
Peter Henderson, University of Southampton
29