DISTRIBUTED
SOFTWARE
ENGINEERING
TEAM:20470,20471,20472,20473,20474
INTRODUCTION ADVANTAGES DESIGN ISSUES
SOFTWARE AS A
ARCHITECTURES
SERVICE SaaS
2
1.
INTRODUCTION
CENTRALIZED VS DISTRIBUTED SYSTEMS
• DISTRIBUTED SOFTWARE ENGINEERING
CENTRALIZED SYSTEMS VS DISTRIBUTED SYSTEMS
SYSTEMS
CENTRALIZED DISTRIBUTED
• All users connected to • Multiple components
central hub(server). located on different
• Easy and quick but if machines co-
central hub crashes ordinating to appear
the entire system goes as a single system.
down. • Examples ~ Internet,
Intranets, Emails
4
“A distributed system is a
collection of independent
computers that appears to the
users as a single coherent
system.”
~Tanenbaum & Van
Steen(2007)
5
2.
ADVANTAGES
Resource Sharing
-Sharing of hardware Concurrency
& software resources -several processes at
the same time on
separate computers
Scalability
Openness -capability of the
- equipments from system can be
different vendors can increased using new
be combined. resources
Fault tolerance
7
3.
DESIGN ISSUES
DESIGN ISSUES
To what extent the system must appear to user as
TRANSPARENCY a single system?
Should system be designed using standard
OPENNESS protocol or custom made?
How can system capacity be increased with
SCALABILITY increasing demands?
How can security policies be designed &
SECURITY implemented?
How must the system be implemented to provide
QUALITY OF SERVICE acceptable QoS?
How can system failures be detected and
FAILURE MGMT repaired?
9
MODELS OF INTERACTION
PROCEDURAL MESSAGE BASED
INTERACTION INTERACTION
10
Middleware is a software that
MIDDLEWARE sits in the middle of
distributed components of the
system.
▫ Normally implemented as
a set of libraries which are
installed on each
distributed PC
▫ Examples-transaction
managers , data convertors
etc.
▫ Interaction support
▫ Reusable implementations
of services
11
4.
ARCHITECTURAL
PATTERNS
CLIENT SERVER MODEL
The client-server model
describes how a server
provides resources and
services to one or more
clients.
Clients can be any end device
such as desktop , laptops or
mobile phones
13
Examples-Web servers , Mail
MASTER SLAVE MODEL
“MASTER”-Computation ,
Co-ordination ,
Communication and Control
of “SLAVES”.
“SLAVES” – Basic
functionalities like acquiring
Usually used when guaranteed response data.
times are needed i.e Real-time systems.
The client requests the master
to perform a task & the work
14is given to the slaves for
TWO-TIER CLIENT SERVER MODEL
The system is implemented as
a single logical server plus an
indefinite [Link] clients can
use it.
Thin client ~ Eg: Web
Browser
PRESENTATION
LAYER:CLIENT
OTHER LAYERS:SERVER
Thick client ~ Eg: ATM
15
SOME/ALL
MULTI-TIER CLIENT SERVER MODEL
• Information transferred
between web server and
database server is optimized.
• The systems can use fast low
level data transfer protocols.
• Efficient middleware supports
SQL queries to retrieve data
• Supports large scale apps with
1000s of clients.
• Allows multiple source
integration like accessing 2 or
more databases
• Both data and application are
16 volatile.
DISTRIBUTED COMPONENT MODEL
By organizing processes into
layers , each layer can be
implemented as a separate logical
server.
Pros~
[Link] delays in decisions of
where and how services should be
provided.
[Link],Flexible and scalable.
3.
Example : Data Reconfiguration of system
Mining dynamically.
Cons~
17 [Link] than client server
PEER-TO-PEER MODEL
• Decentralized systems in
which computations may be
carried out by any node on
the network.
• The major advantage is that
the computational and
storage power of the nodes
are utilized.
• Problems may occur when
peers start behaving in a
malicious way.
18• Example : Utorrent file
5.
SOFTWARE AS A
SERVICE(SaaS)
SOFTWARE AS A SERVICE(SaaS)
20
Elements of SaaS-
SaaS is a way of Benefits-
[Link] on server
deploying apps as thin [Link] cost to
accessed by browser.
client server systems the provider.
[Link] owned &
where client is a web [Link] updates.
provided by Software
browser to reduce [Link] device
provider.
server overload compatibility.
[Link] may pay or use
Cons-
for free by accepting
[Link] of data transfer.
ads
[Link] of control over
software evolution.
21
REFERENCES
IAN SOMMERVILLE SOFTWARE
ENGINEERING EDITION 9
[Link]
[Link]
22