You are on page 1of 44

DistributedSystemsArchitectures

Architecturaldesignforsoftware
thatexecutesonmorethanone
processor

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide1

Objectives

Toexplaintheadvantagesanddisadvantagesof
distributedsystemsarchitectures
Todescribedifferentapproachestothe
developmentofclientserversystems
Toexplainthedifferencesbetweenclientserver
anddistributedobjectarchitectures
Todescribeobjectrequestbrokersandthe
principlesunderlyingtheCORBAstandards

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide2

Topicscovered

Multiprocessorarchitectures
Clientserverarchitectures
Distributedobjectarchitectures
CORBA

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide3

Distributedsystems

Virtuallyalllargecomputerbasedsystemsare
nowdistributedsystems
Informationprocessingisdistributedoverseveral
computersratherthanconfinedtoasingle
machine
Distributedsoftwareengineeringisnowvery
important

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide4

Systemtypes

Personalsystemsthatarenotdistributedandthat
are designed to run on a personal computer or
workstation.
Embeddedsystemsthatrunonasingleprocessor
oronanintegratedgroupofprocessors.
Distributed systems where the system software
runsonalooselyintegratedgroupofcooperating
processorslinkedbyanetwork.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide5

Distributedsystemcharacteristics

Resourcesharing
Openness
Concurrency
Scalability
Faulttolerance
Transparency

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide6

Distributedsystemdisadvantages

Complexity
Security
Manageability
Unpredictability

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide7

Designissue
Resource
identification

Communications

Qualityofservice

Software
architectures

Description
Theresourcesinadistributedsystemarespreadacrossdifferent
computersandanamingschemehastobedevisedsothatuserscan
discoverandrefertotheresourcesthattheyneed.Anexampleof
suchanamingschemeistheURL(UniformResourceLocator)that
isusedtoidentifyWWWpages.Ifameaningfulanduniversally
understoodidentificationschemeisnotusedthenmanyofthese
resourceswillbeinaccessibletosystemusers.
TheuniversalavailabilityoftheInternetandtheefficient
implementationofInternetTCP/IPcommunicationprotocolsmeans
that,formostdistributedsystems,thesearethemosteffectiveway
forthecomputerstocommunicate.However,wherethereare
specificrequirementsforperformance,reliabilityetc.alternative
approachestocommunicationsmaybeused.
Thequalityofserviceofferedbyasystemreflectsitsperformance,
availabilityandreliability.Itisaffectedbyanumberoffactorssuch
astheallocationofprocessestoprocessesinthesystem,the
distributionofresourcesacrossthesystem,thenetworkandthe
systemhardwareandtheadaptabilityofthesystem.
Thesoftwarearchitecturedescribeshowtheapplication
functionalityisdistributedoveranumberoflogicalcomponentsand
howthesecomponentsaredistributedacrossprocessors.Choosing
therightarchitectureforanapplicationisessentialtoachievethe
desiredqualityofservice.

Issuesindistributedsystemdesign

Distributedsystemsarchiectures

Clientserverarchitectures

Distributedserviceswhicharecalledonbyclients.Serversthat
provideservicesaretreateddifferentlyfromclientsthatuse
services

Distributedobjectarchitectures

Nodistinctionbetweenclientsandservers.Anyobjectonthe
systemmayprovideanduseservicesfromotherobjects

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide9

Middleware

Softwarethatmanagesandsupportsthedifferent
componentsofadistributedsystem.Inessence,it
sitsinthemiddleofthesystem
Middlewareisusuallyofftheshelfratherthan
speciallywrittensoftware
Examples

Transactionprocessingmonitors
Dataconvertors
Communicationcontrollers

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide10

Multiprocessorarchitectures

Simplestdistributedsystemmodel
Systemcomposedofmultipleprocesseswhich
may(butneednot)executeondifferentprocessors
Architecturalmodelofmanylargerealtime
systems
Distributionofprocesstoprocessormaybepre
orderedormaybeunderthecontrolofa
despatcher

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide11

T
r
a
f
i
c

f
l
o
w
T
r
a
f
i
c

l
g
h
t

c
o
n
t
r
o
l
S
e
n
s
o
r
p
o
e
s
r
p
r
o
e
s
rcpS
p
o
c
L
i
g
h
t
eorntsorl D
iproscpelay
c
o
n
r
o
s pesl
T
r
a
f
i
c

l
g
h
t
s
T
rafnicdflo
am
w
sreanors O
peratorconsoles

Amultiprocessortrafficcontrolsystem

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide12

Clientserverarchitectures

Theapplicationismodelledasasetofservices
thatareprovidedbyserversandasetofclients
thatusetheseservices
Clientsknowofserversbutserversneednot
knowofclients
Clientsandserversarelogicalprocesses
Themappingofprocessorstoprocessesisnot
necessarily1:1

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide13

c
3
c
2
c
4
c
1
2
c
1
S
e
r
v

p
r
o
c
e
s
c1c5s1s2s4s3c1c09C
l
i
e
n
t

p
r
o
c
e
s
c6c7 c8

Aclientserversystem

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide14

c
1
c
2
c
3
,

c
4
C
1
C
2
C
3
etw
ork sS
eC
rm
v
3,C
s14coS
sS
1,C
s2 N
tcom
rlipeuntr
p
u
e
c5,c6,c7C
,5c9C
c
8
,6c1,c12
c
1
0
4C

ComputersinaC/Snetwork

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide15

Layeredapplicationarchitecture

Presentationlayer

Applicationprocessinglayer

Concernedwithpresentingtheresultsofacomputationto
systemusersandwithcollectinguserinputs
Concernedwithprovidingapplicationspecificfunctionality
e.g.,inabankingsystem,bankingfunctionssuchasopen
account,closeaccount,etc.

Datamanagementlayer

Concernedwithmanagingthesystemdatabases

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide16

rA
P
e
s
n
t
a
i
o
n

l
a
y
e
r
pD
laictatm
io
llayn
n
ryeg
p
crem
o
esnin
g
t

Applicationlayers

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide17

Thinandfatclients

Thinclientmodel

Inathinclientmodel,alloftheapplicationprocessinganddata
management is carried out on the server. The client is simply
responsibleforrunningthepresentationsoftware.

Fatclientmodel

In this model, the server is only responsible for data


management. The software on the client implements the
applicationlogicandtheinteractionswiththesystemuser.

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide18

P
r
e
s
n
t
a
i
o
n
S
e
r
v
T
h
im
n
ocd
lien
tC
D
a
t

m
a
n
g
e
m
n
t
lientP
A
p
l
i
c
t
i
o
r
o
e
s
r
e
s
n
t
a
i
o
n
A
p
l
i
c

p
r
o
c
e
s
i
n
g
S
e
r
v
F
am
tocd
lien
tC
lient m
tangem
D
a
nt

Thinandfatclients

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide19

Thinclientmodel

Usedwhenlegacysystemsaremigratedtoclient
serverarchitectures.

Thelegacysystemactsasaserverinitsownrightwitha
graphicalinterfaceimplementedonaclient

Amajordisadvantageisthatitplacesaheavy
processingloadonboththeserverandthe
network

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide20

Fatclientmodel

Moreprocessingisdelegatedtotheclientasthe
applicationprocessingislocallyexecuted
MostsuitablefornewC/Ssystemswherethe
capabilitiesoftheclientsystemareknownin
advance
Morecomplexthanathinclientmodelespecially
formanagement.Newversionsoftheapplication
havetobeinstalledonallclients

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide21

A
T
M
A
T
M
A
c
o
u
n
t

s
e
r
v
T
e
l

C
u
t
o
m
e
r
p
r
o
c
s
i
n
g
a
c
u
n
t
A
T
M
m
t
o
r
d
b
a
s
A
T
M

AclientserverATMsystem

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide22

Threetierarchitectures

Inathreetierarchitecture,eachofthe
applicationarchitecturelayersmayexecuteona
separateprocessor
Allowsforbetterperformancethanathinclient
approachandissimplertomanagethanafat
clientapproach
Amorescalablearchitectureasdemands
increase,extraserverscanbeadded

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide23

P
r
e
s
n
t
a
i
o
n
S
e
r
v
S
e
r
v
C
lient A
tangem
D
a
proliecsatiogn m
nt

A3tierC/Sarchitecture

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide24

C
lC
ilieennttH
T
P
interactionA
D
a
t
b
a
s
e

r
v
e
r
W
e
b

s
e
r
v
S
Q
L

q
u
e
r
y
C
u
t
o
m
c
o
u
n
t
i
c
e
S
Q
L
a
c
u
n
t
p
r
v
i
s
o
n
d
b
a
s
e
C
lC
ilieenntt

Aninternetbankingsystem

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide25

UseofC/Sarchitectures
Architecture
TwotierC/S
architecturewith
thinclients

TwotierC/S
architecturewith
fatclients

Threetieror
multitierC/S
architecture

IanSommerville2000

Applications
Legacysystemapplicationswhereseparatingapplication
processinganddatamanagementisimpractical
Computationallyintensiveapplicationssuchascompilerswith
littleornodatamanagement
Dataintensiveapplications(browsingandquerying)withlittle
ornoapplicationprocessing.
Applicationswhereapplicationprocessingisprovidedby
COTS(e.g.MicrosoftExcel)ontheclient
Applicationswherecomputationallyintensiveprocessingof
data(e.g.datavisualisation)isrequired.
Applicationswithrelativelystableenduserfunctionalityused
inanenvironmentwithwellestablishedsystemmanagement
Largescaleapplicationswithhundredsorthousandsofclients
Applicationswhereboththedataandtheapplicationare
volatile.
Applicationswheredatafrommultiplesourcesareintegrated
SoftwareEngineering,6thedition.Chapter11

Slide26

Distributedobjectarchitectures

Thereisnodistinctioninadistributedobject
architecturesbetweenclientsandservers
Eachdistributableentityisanobjectthatprovides
servicestootherobjectsandreceivesservicesfrom
otherobjects
Objectcommunicationisthroughamiddleware
systemcalledanobjectrequestbroker(softwarebus)
However,morecomplextodesignthanC/Ssystems

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide27

o
1
o
2
o
3
o
4
S
(o1) S
(o2)S
S

(
o
3
)
S

(
o
4
)
o
f
t
w
a
r
e

b
u
s
o
5
o
6
()
S
(o5) S

Distributedobjectarchitecture

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide28

Advantagesofdistributedobjectarchitecture

Itallowsthesystemdesignertodelaydecisions
onwhereandhowservicesshouldbeprovided
Itisaveryopensystemarchitecturethatallows
newresourcestobeaddedtoitasrequired
Thesystemisflexibleandscaleable
Itispossibletoreconfigurethesystem
dynamicallywithobjectsmigratingacrossthe
networkasrequired

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide29

Usesofdistributedobjectarchitecture

Asalogicalmodelthatallowsyoutostructureand
organisethesystem.Inthiscase,youthinkabout
howtoprovideapplicationfunctionalitysolelyin
termsofservicesandcombinationsofservices
Asaflexibleapproachtotheimplementationof
clientserversystems.Thelogicalmodelofthe
systemisaclientservermodelbutbothclients
andserversarerealisedasdistributedobjects
communicatingthroughasoftwarebus

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide30

D
aD
tatbbaassee1
R
e
p
o
r
t

g
e
n
.
I
n
t
e
g
r
a
t
o
r

2
V
i
s
u
a
l
i
s
e
r
I
n
t
e
g
r
a
t
o
r

2
D
atbase3 D
isplay

Adataminingsystem

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide31

Dataminingsystem

Thelogicalmodelofthesystemisnotoneof
serviceprovisionwheretherearedistinguished
datamanagementservices
Itallowsthenumberofdatabasesthatare
accessedtobeincreasedwithoutdisruptingthe
system
Itallowsnewtypesofrelationshiptobeminedby
addingnewintegratorobjects

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide32

CORBA

CORBAisaninternationalstandardforanObject
RequestBrokermiddlewaretomanage
communicationsbetweendistributedobjects
SeveralimplementationofCORBAareavailable
DCOMisanalternativeapproachbyMicrosoftto
objectrequestbrokers
CORBAhasbeendefinedbytheObject
ManagementGroup

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide33

Applicationstructure

Applicationobjects
Standardobjects,definedbytheOMG,fora
specificdomaine.g.insurance
FundamentalCORBAservicessuchasdirectories
andsecuritymanagement
Horizontal(i.e.cuttingacrossapplications)
facilitiessuchasuserinterfacefacilities

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide34

A
pobljiecatsionO
H
o
r
i
z
o
n
t
a
l
D
o
m
a
i
n
C
O
R
B
A

f
c
i
e
s
f
a
c
l
t
e
s
bjectC
reO
quR
eB
stA
bsroekrveirces

CORBAapplicationstructure

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide35

CORBAstandards

Anobjectmodelforapplicationobjects

ACORBAobjectisanencapsulationofstatewithawelldefined,
languageneutralinterfacedefinedinanIDL(interfacedefinition
language)

Anobjectrequestbrokerthatmanagesrequestsfor
objectservices
Asetofgeneralobjectservicesofusetomany
distributedapplications
Asetofcommoncomponentsbuiltontopofthese
services

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide36

CORBAobjects

CORBAobjectsarecomparable,inprinciple,to
objectsinC++andJava
TheyMUSThaveaseparateinterfacedefinition
thatisexpressedusingacommonlanguage(IDL)
similartoC++
ThereisamappingfromthisIDLtoprogramming
languages(C++,Java,etc.)
Therefore,objectswrittenindifferentlanguages
cancommunicatewitheachother

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide37

Objectrequestbroker(ORB)

TheORBhandlesobjectcommunications.It
knowsofallobjectsinthesystemandtheir
interfaces
UsinganORB,thecallingobjectbindsanIDL
stubthatdefinestheinterfaceofthecalledobject
CallingthisstubresultsincallstotheORBwhich
thencallstherequiredobjectthroughapublished
IDLskeletonthatlinkstheinterfacetotheservice
implementation

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide38

o
1
o
2
S
(Iso
)D
1
S

(
o
2
)
L
I
D
L
tO
u
b
s
k
e
l
t
o
n
bjectR
equestB
ror

ORBbasedobjectcommunications

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide39

InterORBcommunications

ORBsarenotusuallyseparateprogramsbutarea
setofobjectsinalibrarythatarelinkedwithan
applicationwhenitisdeveloped
ORBshandlecommunicationsbetweenobjects
executingonthesanemachine
SeveralORBSmaybeavailableandeachcomputer
inadistributedsystemwillhaveitsownORB
InterORBcommunicationsareusedfordistributed
objectcalls

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide40

o
4
o
3
o
1
o
2
I(D
)LS
I(D
oL
4)
S
I(D
o1
)LS
ID
(oL
2) S
O
b
j
e
c
t

R
e
q
u
e
s
t

B
r
o
k
e
r
O
bjectR
equestB
rokerN
etw
ork

InterORBcommunications

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide41

CORBAservices

Namingandtradingservices

Notificationservices

Theseallowobjectstodiscoverandrefertootherobjectsonthe
network
Theseallowobjectstonotifyotherobjectsthataneventhas
occurred

Transactionservices

Thesesupportatomictransactionsandrollbackonfailure

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide42

Keypoints

Almostallnewlargesystemsaredistributedsystems
Distributedsystemssupportresourcesharing,
openness,concurrency,scalability,faulttolerance
andtransparency
Clientserverarchitecturesinvolveservicesbeing
deliveredbyserverstoprogramsoperatingonclients
Userinterfacesoftwarealwaysrunsontheclientand
datamanagementontheserver

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide43

Keypoints

Inadistributedobjectarchitecture,thereisno
distinctionbetweenclientsandservers
Distributedobjectsystemsrequiremiddlewareto
handleobjectcommunications
TheCORBAstandardsareasetofmiddleware
standardsthatsupportdistributedobject
architectures

IanSommerville2000

SoftwareEngineering,6thedition.Chapter11

Slide44

You might also like