Distributed Software Engineering: TEAM:20470,20471,20472,20473,20474
Distributed Software Engineering: TEAM:20470,20471,20472,20473,20474
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
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
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.
“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 no.of 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~
1.Allows delays in decisions of
where and how services should be
provided.
2.Open,Flexible and scalable.
3.
Example : Data Reconfiguration of system
Mining dynamically.
Cons~
17 1.Complex 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-
1.Software on server
deploying apps as thin 1.Maintenance cost to
accessed by browser.
client server systems the provider.
2.Software owned &
where client is a web 2.Automated updates.
provided by Software
browser to reduce 3.Cross device
provider.
server overload compatibility.
3.Users may pay or use
Cons-
for free by accepting
1.Cost of data transfer.
ads
2.Lack of control over
software evolution.
21
REFERENCES
22