HELLO!
Khuabaib Ahmad | Babar Afzal | Yisal Khan | Waqar Zulifqar
2
Objectives
3
Introduction
Need of distributed architecture
Centralized System vs. Distributed System
Client Server Architecture and Multi-tier architecture
Discussion with case study
“An organization's intelligence is
distributed to the point of being
ubiquitous.
Kevin Kelly
44
Basic…
Software Architecture:
Set of structures needed to reason about the system, which consist of software elements, relations among
them, and properties of both.
5
In software engineering, a design pattern is a general repeatable solution
to a commonly occurring problem in software design. A design pattern
isn't a finished design that can be transformed directly into code. It is a
description or template for how to solve a problem that can be used in
many different situations.
Design patterns
6
Design patterns
.
7
What is Distributed Architecture?
Anyone
8
Distributed Architecture
In distributed architecture, components are presented on different platforms
and several components can cooperate with one another over a
communication network in order to achieve a specific objective or goal.
9
Basis of DA
The basis of a distributed architecture is its
transparency, reliability, and availability.
The following table lists the different forms of
transparency in a distributed system −
10
Cont…
▰.
11
Why/Need of DA
Problems in Centralized System:
Centralized system are not scalable due to the
increase in requests of clients.
Availability Issues can’t be handled in it.
Single technology based system.
12
Advantages of DA
It has following advantages −
Resource sharing − Sharing of hardware and software resources.
Openness − Flexibility of using hardware and software of different
vendors.
Concurrency − Concurrent processing to enhance performance.
Scalability − Increased throughput by adding new resources.
Fault tolerance − The ability to continue in operation after a fault has
occurred.
13
Disadvantages of DA
It has following disadvantages −
Complexity: They are more complex than centralized systems.
Security: More susceptible to external attack.
Manageability: More effort required for system management.
Unpredictability : Unpredictable responses depending on the
system organization and network load.
14
Centralized vs. Distributed System
.
15
Concept of DA
A distributed system can be demonstrated by
the client-server architecture, which forms the
base for multi-tier architectures;
16
Client Server Architecture
The client-server architecture is the most common
distributed system architecture which decomposes the
system into two major subsystems or logical processes.
Client − This is the first process that issues a request to
the second process i.e. the server.
Server − This is the second process that receives the
request, carries it out, and sends a reply to the client.
17
Cont…
In this architecture, the
application is modeled as a set of
services those are provided by
servers and a set of clients that use
these services.
 The servers need not to know
about clients, but the clients must
know the identity of servers.
.
18
Kinds of client server Architecture
Thin-client model
In thin-client model, all the
application processing and data management is carried by
the server. The client is simply responsible for running the
GUI software. It is used when legacy systems are
migrated to client server architectures in which legacy
system acts as a server in its own right with a graphical
interface implemented on a client.
19
Cont…
However, A major disadvantage is that it places a
heavy processing load on both the server and the
network.
Application
Places where we have to share the services to
users e.g. University Labs and net cafes.
20
Thick/Fat-client model
In thick-client model, the server is in-charge of the data
management. The software on the client implements the
application logic and the interactions with the system user.
It is most appropriate for new client-server systems where
the capabilities of the client system are known in advance.
However, it is more complex than a thin client model
especially for management, as all clients should have same
copy/version of software application.
21
Cont…
a networked computer with most resources installed locally,
rather than distributed over a network as is the case with a thin
client.
Every system have its own hard drives and other components.
This architecture have more security and maintenance issues.
Fat clients are almost unanimously preferred by network users
because they are very customizable and the user has more control
over what programs are installed and specific system
configuration.
22
Difference b/w thin & thick client server
architecture
.
23
Cont…
.
24
Pros. of client server Architecture
Separation of responsibilities such as user interface presentation
and business logic processing.
Reusability of server components and potential for concurrency
Simplifies the design and the development of distributed
applications
It makes it easy to migrate or integrate existing applications into
a distributed environment.
It also makes effective use of resources when a large number of
clients are accessing a high-performance server.
25
Cons. of client server Architecture
Lack of heterogeneous infrastructure to deal
with the requirement changes.
Security complications.
Limited server availability and reliability.
Limited scalability.
Fat clients with presentation and business logic
together.
26
Multi-Tier Architecture (n-tier Architecture)
Multi-tier architecture is a client–server architecture in
which the functions such as presentation, application
processing, and data management are physically separated.
By separating an application into tiers, developers obtain
the option of changing or adding a specific layer, instead of
reworking the entire application.
 It provides a model by which developers can create
flexible and reusable applications.
27
Video
https://www.youtube.com/watch?v=KlHvRKSH4
pk&list=PLmPpJG5-
RKf0RUQ7VYjHn6pnoWT2__4CM
28
Cont…
The most general use of
multi-tier architecture is the
three-tier architecture
.
29
Kinds of Three-Tier Architecture
1.Presentation Tier
Presentation layer is the topmost level of the application
by which users can access directly such as webpage or
Operating System GUI (Graphical User interface).
The primary function of this layer is to translate the tasks
and results to something that user can understand.
 It communicates with other tiers so that it places the
results to the browser/client tier and all other tiers in the
network.
30
Application Tier
(Business Logic, Logic Tier, or Middle Tier)
Application tier coordinates the application,
processes the commands, makes logical
decisions, evaluation, and performs calculations.
It controls an application’s functionality by
performing detailed processing. It also moves and
processes data between the two surrounding
layers.
31
Data Tier
In this layer, information is stored and retrieved from the
database or file system.
The information is then passed back for processing and
then back to the user.
 It includes the data persistence mechanisms (database
servers, file shares, etc.) and provides API (Application
Programming Interface) to the application tier which
provides methods of managing the stored data.
32
3 Tier Architecture
.
33
Pros. of Multi-Tier Architecture
Better performance than a thin-client approach and is
simpler to manage than a thick-client approach.
Enhances the reusability and scalability − as demands
increase, extra servers can be added.
Provides multi-threading support and also reduces
network traffic.
Provides maintainability and flexibility
34
Cons of Multi-Tier Architecture
Unsatisfactory Testability due to lack of testing
tools.
More critical server reliability and availability.
35
Face book Case Study
Facebook system was founded in 2004, with a mission to give people the power to share and make
the world more open and still connecting them with friendship relationship.
Starting at early system features and services, Facebook as an example of commercial Online Social
Network (OSN), and a hosted application that attract users with a set of features and attracts
advertisers, who pay for the privilege of displaying ads targeted to these users.
After some time due to attractive features of Facebook the traffic increases and Facebook also added
new features in it.
Facebook was also providing the services for different platforms such as desktop and mobile.
But the servers goes slow due to the rush of users and heavy loadings of features.
36
Cont…
.
37
Cont…
Than Facebook decided to get new architecture
to handle the issues of scalability, availability,
openness, reliability and security.
In 2013 they have added multi tier architecture in
their datacenters.
It include 3 tiers of archit6ectures in starting.
38
Cont…
.
39
Cont…
This was the initial problem solution was proposed by Facebook. Now they
have shifted to Hadoop and using “Big Data” techniques but they are still
following distributed architecture to handle the load on their servers.
40
LET’S REVIEW SOME CONCEPTS
DA
In DA, components are presented
on different platforms and several
components can cooperate with
one another over a communication
network in order to achieve a
specific objective or goal.
Client-server arch…
In this architecture, the application
is modeled as a set of services
those are provided by servers and
a set of clients that use these
services.
Thin-client model
In thin-client model, all the
application processing and data
management is carried by the
server.
41
3 Tier Architecture
Multi-tier architecture is a client–
server architecture in which the
functions such as presentation,
application processing, and data
management are physically
separated.
Case Study
Than Facebook decided to get new
architecture to handle the issues of
scalability, availability, openness,
reliability and security.
In 2013 they have added multi tier
architecture in their datacenters.
It include 3 tiers of archit6ectures in
starting.
Thick-client model
Fat clients are almost unanimously
preferred by network users
because they are very
customizable and the user has
more control over what programs
are installed and specific system
configuration.
CREDITS
Special thanks to all
http://cse.csusb.edu/tongyu/courses/cs660/notes/distarch.php
https://www.slideshare.net/koolkampus/distributed-systems-architecture-in-software-engineering-
se11
https://www.tutorialspoint.com/software_architecture_design/distributed_architecture.html
42
43
THANKS!
Any questions?

Distributed architecture (SAD)

  • 2.
    HELLO! Khuabaib Ahmad |Babar Afzal | Yisal Khan | Waqar Zulifqar 2
  • 3.
    Objectives 3 Introduction Need of distributedarchitecture Centralized System vs. Distributed System Client Server Architecture and Multi-tier architecture Discussion with case study
  • 4.
    “An organization's intelligenceis distributed to the point of being ubiquitous. Kevin Kelly 44
  • 5.
    Basic… Software Architecture: Set ofstructures needed to reason about the system, which consist of software elements, relations among them, and properties of both. 5
  • 6.
    In software engineering,a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns 6
  • 7.
  • 8.
    What is DistributedArchitecture? Anyone 8
  • 9.
    Distributed Architecture In distributedarchitecture, components are presented on different platforms and several components can cooperate with one another over a communication network in order to achieve a specific objective or goal. 9
  • 10.
    Basis of DA Thebasis of a distributed architecture is its transparency, reliability, and availability. The following table lists the different forms of transparency in a distributed system − 10
  • 11.
  • 12.
    Why/Need of DA Problemsin Centralized System: Centralized system are not scalable due to the increase in requests of clients. Availability Issues can’t be handled in it. Single technology based system. 12
  • 13.
    Advantages of DA Ithas following advantages − Resource sharing − Sharing of hardware and software resources. Openness − Flexibility of using hardware and software of different vendors. Concurrency − Concurrent processing to enhance performance. Scalability − Increased throughput by adding new resources. Fault tolerance − The ability to continue in operation after a fault has occurred. 13
  • 14.
    Disadvantages of DA Ithas following disadvantages − Complexity: They are more complex than centralized systems. Security: More susceptible to external attack. Manageability: More effort required for system management. Unpredictability : Unpredictable responses depending on the system organization and network load. 14
  • 15.
  • 16.
    Concept of DA Adistributed system can be demonstrated by the client-server architecture, which forms the base for multi-tier architectures; 16
  • 17.
    Client Server Architecture Theclient-server architecture is the most common distributed system architecture which decomposes the system into two major subsystems or logical processes. Client − This is the first process that issues a request to the second process i.e. the server. Server − This is the second process that receives the request, carries it out, and sends a reply to the client. 17
  • 18.
    Cont… In this architecture,the application is modeled as a set of services those are provided by servers and a set of clients that use these services.  The servers need not to know about clients, but the clients must know the identity of servers. . 18
  • 19.
    Kinds of clientserver Architecture Thin-client model In thin-client model, all the application processing and data management is carried by the server. The client is simply responsible for running the GUI software. It is used when legacy systems are migrated to client server architectures in which legacy system acts as a server in its own right with a graphical interface implemented on a client. 19
  • 20.
    Cont… However, A majordisadvantage is that it places a heavy processing load on both the server and the network. Application Places where we have to share the services to users e.g. University Labs and net cafes. 20
  • 21.
    Thick/Fat-client model In thick-clientmodel, the server is in-charge of the data management. The software on the client implements the application logic and the interactions with the system user. It is most appropriate for new client-server systems where the capabilities of the client system are known in advance. However, it is more complex than a thin client model especially for management, as all clients should have same copy/version of software application. 21
  • 22.
    Cont… a networked computerwith most resources installed locally, rather than distributed over a network as is the case with a thin client. Every system have its own hard drives and other components. This architecture have more security and maintenance issues. Fat clients are almost unanimously preferred by network users because they are very customizable and the user has more control over what programs are installed and specific system configuration. 22
  • 23.
    Difference b/w thin& thick client server architecture . 23
  • 24.
  • 25.
    Pros. of clientserver Architecture Separation of responsibilities such as user interface presentation and business logic processing. Reusability of server components and potential for concurrency Simplifies the design and the development of distributed applications It makes it easy to migrate or integrate existing applications into a distributed environment. It also makes effective use of resources when a large number of clients are accessing a high-performance server. 25
  • 26.
    Cons. of clientserver Architecture Lack of heterogeneous infrastructure to deal with the requirement changes. Security complications. Limited server availability and reliability. Limited scalability. Fat clients with presentation and business logic together. 26
  • 27.
    Multi-Tier Architecture (n-tierArchitecture) Multi-tier architecture is a client–server architecture in which the functions such as presentation, application processing, and data management are physically separated. By separating an application into tiers, developers obtain the option of changing or adding a specific layer, instead of reworking the entire application.  It provides a model by which developers can create flexible and reusable applications. 27
  • 28.
  • 29.
    Cont… The most generaluse of multi-tier architecture is the three-tier architecture . 29
  • 30.
    Kinds of Three-TierArchitecture 1.Presentation Tier Presentation layer is the topmost level of the application by which users can access directly such as webpage or Operating System GUI (Graphical User interface). The primary function of this layer is to translate the tasks and results to something that user can understand.  It communicates with other tiers so that it places the results to the browser/client tier and all other tiers in the network. 30
  • 31.
    Application Tier (Business Logic,Logic Tier, or Middle Tier) Application tier coordinates the application, processes the commands, makes logical decisions, evaluation, and performs calculations. It controls an application’s functionality by performing detailed processing. It also moves and processes data between the two surrounding layers. 31
  • 32.
    Data Tier In thislayer, information is stored and retrieved from the database or file system. The information is then passed back for processing and then back to the user.  It includes the data persistence mechanisms (database servers, file shares, etc.) and provides API (Application Programming Interface) to the application tier which provides methods of managing the stored data. 32
  • 33.
  • 34.
    Pros. of Multi-TierArchitecture Better performance than a thin-client approach and is simpler to manage than a thick-client approach. Enhances the reusability and scalability − as demands increase, extra servers can be added. Provides multi-threading support and also reduces network traffic. Provides maintainability and flexibility 34
  • 35.
    Cons of Multi-TierArchitecture Unsatisfactory Testability due to lack of testing tools. More critical server reliability and availability. 35
  • 36.
    Face book CaseStudy Facebook system was founded in 2004, with a mission to give people the power to share and make the world more open and still connecting them with friendship relationship. Starting at early system features and services, Facebook as an example of commercial Online Social Network (OSN), and a hosted application that attract users with a set of features and attracts advertisers, who pay for the privilege of displaying ads targeted to these users. After some time due to attractive features of Facebook the traffic increases and Facebook also added new features in it. Facebook was also providing the services for different platforms such as desktop and mobile. But the servers goes slow due to the rush of users and heavy loadings of features. 36
  • 37.
  • 38.
    Cont… Than Facebook decidedto get new architecture to handle the issues of scalability, availability, openness, reliability and security. In 2013 they have added multi tier architecture in their datacenters. It include 3 tiers of archit6ectures in starting. 38
  • 39.
  • 40.
    Cont… This was theinitial problem solution was proposed by Facebook. Now they have shifted to Hadoop and using “Big Data” techniques but they are still following distributed architecture to handle the load on their servers. 40
  • 41.
    LET’S REVIEW SOMECONCEPTS DA In DA, components are presented on different platforms and several components can cooperate with one another over a communication network in order to achieve a specific objective or goal. Client-server arch… In this architecture, the application is modeled as a set of services those are provided by servers and a set of clients that use these services. Thin-client model In thin-client model, all the application processing and data management is carried by the server. 41 3 Tier Architecture Multi-tier architecture is a client– server architecture in which the functions such as presentation, application processing, and data management are physically separated. Case Study Than Facebook decided to get new architecture to handle the issues of scalability, availability, openness, reliability and security. In 2013 they have added multi tier architecture in their datacenters. It include 3 tiers of archit6ectures in starting. Thick-client model Fat clients are almost unanimously preferred by network users because they are very customizable and the user has more control over what programs are installed and specific system configuration.
  • 42.
    CREDITS Special thanks toall http://cse.csusb.edu/tongyu/courses/cs660/notes/distarch.php https://www.slideshare.net/koolkampus/distributed-systems-architecture-in-software-engineering- se11 https://www.tutorialspoint.com/software_architecture_design/distributed_architecture.html 42
  • 43.