Title: Architecture 101
1Architecture 101
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
2Objectives
- To talk about Very Large (IT) Systems
- Specifically Distributed Systems
- Built to Open Systems Principles
- From Components
- With Standard Interfaces
- Relate this to OMII
- And to System Research in general
3Motivational Example
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
Database
4OMII - Open Middleware Infrastructure Institute
- UK funded
- A source of middleware components for Grid
architectures - Open System Principles
- Open standards Open source
- Harvested from eScience projects
- Quality improved
- Made available specifically for eScience projects
in the UK
5OMII-Europe - Open Middleware Infrastructure
Institute for Europe
- EU funded
- Interoperability among major middleware
infrastructures - Open System Principles
- Open standards Open source
- Three(two) middlewares
- Globus, gLite, UNICORE CROWN, OMII
- Five Business components
- JSDL, VOMS, Portal, DAI, RUS
- Raise the level of integration for cross-domain
Grid applications
6Open Systems Concepts
- Component
- Interface
- Modularity
- Granularity
- Standards
- Conformance
- Openness
- Portability
- Interoperability
- Adaptor
- COTS
- Architecture
- Object Oriented
- Service Oriented
- Message Oriented
- Data Oriented
- Evolution (whole life)
- Heterogeneity
- View and Viewpoint
- Reuse
- Stakeholder
- Requirements
- Connector
7Open Systems Definitions
- 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
8Motivational Example
Browser
Web Server
HTTP/ HTML
Form data/ HTML
Browser IE, Firefox, Web Server Tomcat,
Jetty, IIS Active Page JSP, ASP, PHP, Database
Connector jdbc1, jdbc2, Database Server
mySQL, SQLServer,
Active Page
Query / RS
Database Connector
Database Server
SQL/ RS
Database
9Open 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 - 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)
10Open 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
11Motivational Example
Browser
Web Server
HTTP/ HTML
Form data/ HTML
Browser IE, Firefox, Web Server Tomcat,
Jetty, IIS Active Page JSP, ASP, PHP, Database
Connector jdbc1, jdbc2, Database Server
mySQL, SQLServer,
Active Page
Query / RS
Database Connector
Database Server
SQL/ RS
Database
12Component, 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
B
K
J
C
D
L
M
K
Notation loosely based on UML derivative SysML
block diagrams
13Compositions
14Component
- 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
15Interface
- 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
16Modularity
- A system is modular if its various parts can be
easily replaced - Modular structure implies the existence of
mutually agreed interfaces
17Granularity
- 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
18Standards
- International standards
- De facto standards
- Agreements among users and supplies of components
as to the means of interfacing
19Conformance
- 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
20Openness
- A combination of the number of open interfaces
- And the extent to which these interfaces actually
conform to particular standards - Also related to the number on independent
suppliers who support the interface
21Portability
- Ability to move a component from one system to
another without change - Related to, but not identical to,
interoperability - Portbility is a property of components
- Interoperability is a property of interfaces
22Interoperability
- Ability of two components in different systems to
communicate with each other - Relies on agreed interfaces
- Which may be consensus-based standards
- Or mutually agreed protocols
- Which are only Open if their descriptions are
public
23Adaptor
- Otherwise a bridge
- A component designed to eliminate a mismatch
between interfaces - To make Legacy components pluggable, they need to
be equipped with an adaptor
24COTS
- Commercial of-the-shelf components
- Commodity of-the-shelf components
- Generally adhere to open interfaces
- Quality includes extent to which COTS components
can be sourced from different suppliers
25Architecture
- IEEE 1471
- The fundamental organization of a system
embodied in - its components,
- their relationships to each other,
- and to the environment,
- and the principles guiding its design and
evolution
26Object Oriented
- A widely-used architecture for sequential
programs - Also a paradigm for distributed computing (e.g.
CORBA) where remote objects can be accessed using
remote pointers (or equivalent) - Objects have state which needs to be made
persistent
27Service Oriented
- A development of Distributed computing that holds
that the remote functionality should not be an
object but a service - Which generally does not have state, but which
can access statefull resources (usually
databases) - More loosely-coupled than object-oriented
28Message Oriented
- Examples are MQ and JMS
- Where remote processing is invoked by (generally
asynchronous) messages, courtesy of a messaging
service - Scales well for systems where immediacy is not an
issue (e.g. much B2B) - Integrates well with OO and SO
- Also loosely-coupled
- Can be Point-to-point or Publish and Subscibe
(broadcast)
29Data Oriented
- e.g. DDS
- Distributed Architecture where emphasis is on the
centrality of data and its (infrequent?) changes - Processes subscribe to data sources and are
notified of changes
30Evolution
- Systems evolve in their functionality and other
characteristics - Their potential-for-change is a measure of their
goodness - Can new functionality be deployed simply by
plugging in a new component - Like installing a new application on a desktop
computer - See Laws on Dynamic Systems
31Heterogeneity
- Extent to which components can be of different
types -
-
-
32View and Viewpoint
- A Viewpoint has many Views
- This is from IEEE 1471 (see later)
- Recommends Viewpoints
- Structural
- Behavioural
- Technical
- Cross cutting (e.g. security, performance)
-
33Reuse
34Stakeholder
35Requirements
36Connector
- Architecture is usually considered to comprise
Components and Connectors - e.g. processes and streams, programs and files,
services and RPC, objects and RMI
37Sources
- 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
38TOGAF
- Enterprise Architecture
- The Open Group Architecture Framework
- ADM Architecture Definition Method
- Comprises reference models and processes
39ODP/RM
- Open Distributed Processing
- Reference Model
- Models of communication between components with
interfaces - Basis for many systems models that followed it
40IEEE 1471
- Architecture Description Standards
- Distinguishes Viewpoint and View
- A Viewpoint has many Views
- Recommends Viewpoints
- Structural
- Behavioural
- Technical
- Cross cutting (e.g. security, performance)
41Zachman
- Big matrix 46 of concerns
Distributed System Architecture
42ATAM SEI
- Architecture Tradeoff Assessment Model
- Assumes business architecture is defined
- Looks at alternatives for implementation and
deployment - Cost Benefit analysis
43CMMI
- Capability Maturity Model
- Integration
- Recent evolution of CMM
- Concentrating on integration projects
- Applicable to v large deployments
44UML 2.0
- Standard for software design an documentation
- Many diagrams
- Plus underlying information model
- Object Oriented in principle
- But has been applied in many other scenarios,
Systems Engineering in particular
45SysML
- The Systems Engineering Evolution of UML 2.0
- Adds diagrams for Requirements and Parametric
models - Modifies Block diagrams
- Generally inherits much of the good stuff from
UML (e.g. Use Case)
46IEEE 1220
- Application and management of the Systems
Engineering Process
47IEEE 12207
- Software Lifecycle Processes
48Requirements Management Tools
- Records relationships between requirements, e.g.
refines - Allows tracking of changes
- Usually text based (in database)
- Can be integrated with case tools such as UML
tools
49Our Contributions
- Based on old work I have been doing over last 10
years in various projects
50Background
Research Projects and Collaborations 1998 ABCD
Business Critical Design 2000 HICBSE Component
based Design 2000 RICES Large Scale Enterprise
Systems 2004 OMII Open Systems for Grids 2006
OMII-Europe Interoperability of
Grids 1991-2001 ICL/Fujitsu consulted on
architecture and open distributed systems for
large projects 2003-2006 IBM major collaborator
on setting up OMII
Papers 1995 POSD Process Oriented System
Design, based on ODP 1998 Laws Rules of
composition for components 2000 Asset Mapping
structural analysis of installed legacy
systems 2004 Distributed Systems Service
Oriented Architectures, Grids, Web Services 2006
Large Scale Systems Requirements Drift and
other reasons for failure
51Laws for Dynamic Systems
- A component, added to a system, may not disrupt
the behaviour of that system. - A component, using the services of another, does
so at its own risk and must protect itself from
damage. - A component offering a service does so at its own
risk and must protect itself from misuse.
Peter Henderson Laws for Dynamic Systems ICSR
1998
52Why Large IT Projects Fail
- There is too much optimism as to the potential
benefits of IT and as to the cost of delivering
those benefits - There is too little investment at the beginning.
- Sufficient investment is made eventually, but is
too late. - There is not enough technical know-how in the
project team. - There is insufficient consideration of teams,
project management and risks. - The project does not plan incremental roll-out
and fails to anticipate the effect of big-bang on
the organisation. - The project tries to match IT to the existing
Business Processes of the organisation, rather
than changing the Business Processes - Initial underinvestment leads to an investment
legacy, where the project has invested in bad
decisions and doesn t have the courage to
retreat. - There are many management disaster scenarios such
as parent/child or the enthusiastic-builder - There is a requirements explosion - what is
eventually required is significantly different
from what was originally anticipated
Peter Henderson Why Large IT Project Fail
submitted 2006
53Requirements Drift
54OMII - Open Middleware Infrastructure Institute
- UK funded
- A source of middleware components for Grid
architectures - Open System Principles
- Open standards Open source
- Harvested from eScience projects
- Quality improved
- Made available specifically for eScience projects
in the UK
55OMII-Europe - Open Middleware Infrastructure
Institute for Europe
- EU funded
- Interoperability among major middleware
infrastructures - Open System Principles
- Open standards Open source
- Three(two) middlewares
- Globus, gLite, UNICORE CROWN, OMII
- Five Business components
- JSDL, VOMS, Portal, DAI, RUS
- Raise the level of integration for cross-domain
Grid applications
56OMII-Europe Architecture