April 2006Peter Henderson, University of Southampton1 The Architecture of Open Systems Peter...

29
April 2006 Peter Henderson, University of Sou thampton 1 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 http:// ecs.soton.ac.uk/~ph/OpenSystems

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

April 2006 Peter Henderson, University of Southampton 29

Sources

• 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