Professional Documents
Culture Documents
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
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