Beruflich Dokumente
Kultur Dokumente
Architectural design for software
that executes on more than one
processor
Issues in distributed system design
Distributed systems archiectures
● Clientserver architectures
• Distributed services which are called on by clients. Servers that
provide services are treated differently from clients that use
services
● Distributed object architectures
• No distinction between clients and servers. Any object on the
system may provide and use services from other objects
eorntsorl D iproscpelay
s pesl
c
on
r
o
T
rafnicd flow
sreanors O
am perator consoles T
r
a
f
i
c
l
g
h
t
s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 12
Clientserver architectures
● The application is modelled as a set of services
that are provided by servers and a set of clients
that use these services
● Clients know of servers but servers need not
know of clients
● Clients and servers are logical processes
● The mapping of processors to processes is not
necessarily 1 : 1
c6c7 c8 l
i
e
n
t
p
r
o
c
es
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 14
sS s2 N
1,C Cc
1
1 C 2
etw c
2 c
3
,
c
C
34
ork sS
Computers in a C/S network
s14coS
3,C eC
rm
tcomv
p
u e
rlipeuntr
c5, c6, c7C
4C 5Cc
8
,
c
9 c
1
0
,
c
61
,
c12
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 15
Layered application architecture
● Presentation layer
• Concerned with presenting the results of a computation to
system users and with collecting user inputs
● Application processing layer
• Concerned with providing application specific functionality
e.g., in a banking system, banking functions such as open
account, close account, etc.
● Data management layer
• Concerned with managing the system databases
S
e
D
a
t
m
a
A
p
l
r
o r
v
n
i
c
e
s g
e
m
t
i
on
t
F
amtocdlientC r
e
s
n
A
p
l
i
ct
a
i
o
n
lient m
p
r
o
ce
s
in
g S
e
D r
v
a
tangem
nt
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 19
Thin client model
● Used when legacy systems are migrated to client
server architectures.
• The legacy system acts as a server in its own right with a
graphical interface implemented on a client
● A major disadvantage is that it places a heavy
processing load on both the server and the
network
A
T
M
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 22
Threetier architectures
● In a threetier architecture, each of the
application architecture layers may execute on a
separate processor
● Allows for better performance than a thinclient
approach and is simpler to manage than a fat
client approach
● A more scalable architecture as demands
increase, extra servers can be added
W
e
b
s
e
c
o
u
n
t
s
p
r
v
ir
v
e
r
v
i
c
e
o
n S
Q
L
q
u
e
ryD
a
t
b
a
s
C
u
S
Q
L
a
c
de
r
v
t
o
m
u
n
t
b
a
s
ee
r
C
lC
ilieenntt
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 25
Use of C/S architectures
Architecture Applications
Twotier C/S Legacy system applications where separating application
architecture with processing and data management is impractical
thin clients Computationallyintensive applications such as compilers with
little or no data management
Dataintensive applications (browsing and querying) with little
or no application processing.
Twotier C/S Applications where application processing is provided by
architecture with COTS (e.g. Microsoft Excel) on the client
fat clients Applications where computationallyintensive processing of
data (e.g. data visualisation) is required.
Applications with relatively stable enduser functionality used
in an environment with wellestablished system management
Threetier or Large scale applications with hundreds or thousands of clients
multitier C/S Applications where both the data and the application are
architecture volatile.
Applications where data from multiple sources are integrated
o 5 o
f
t
w
a
r
e
b
u
s
(o5) S
S o
6
()
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 28
Advantages of distributed object architecture
● It allows the system designer to delay decisions
on where and how services should be provided
● It is a very open system architecture that allows
new resources to be added to it as required
● The system is flexible and scaleable
● It is possible to reconfigure the system
dynamically with objects migrating across the
network as required
2 I
n
t
e
g
r
at
o
r
1 R
e
p
o
V
i
s
urt
a
lg
ise
n
.
e
r
Datbase 3 D I
n
t
e
g
ra
t
o
r
2 isplay
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 31
Data mining system
● The logical model of the system is not one of
service provision where there are distinguished
data management services
● It allows the number of databases that are
accessed to be increased without disrupting the
system
● It allows new types of relationship to be mined by
adding new integrator objects
quD
f
eRa
sBo
c
tA ml a
i
t
e
b sro
k ns
e
rervicesCH
o
r
i
z
o
n
t
O
R
B
A
f
c
ia
l
e
s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 35
CORBA standards
● An object model for application objects
• A CORBA object is an encapsulation of state with a well
defined, languageneutral interface defined in an IDL (interface
definition language)
● An object request broker that manages requests
for object services
● A set of general object services of use to many
distributed applications
● A set of common components built on top of
these services
©Ian Sommerville 2000
bject R
equest B
ror
Software Engineering, 6th edition. Chapter 11 Slide 39
InterORB communications
● ORBs are not usually separate programs but are a
set of objects in a library that are linked with an
application when it is developed
● ORBs handle communications between objects
executing on the sane machine
● Several ORBS may be available and each
computer in a distributed system will have its
own ORB
● InterORB communications are used for
distributed object calls
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 40
S o 1
I(D
o1
)LS
InterORB communications
o
ID 2
2) S
(oL o 3
I(D
)LS o4
I(D
oL
4)
O
bject R
equest B
rokerN etw
orkO
bj e
c
t
R
e
qu
e
s
t
B
r
o
k e
r
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11 Slide 41
CORBA services
● Naming and trading services
• These allow objects to discover and refer to other objects on the
network
● Notification services
• These allow objects to notify other objects that an event has
occurred
● Transaction services
• These support atomic transactions and rollback on failure