Distributed Information Systems. Motivation ● To understand the problems that Web services try to...
-
Upload
reginald-knight -
Category
Documents
-
view
218 -
download
2
Transcript of Distributed Information Systems. Motivation ● To understand the problems that Web services try to...
![Page 1: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/1.jpg)
Distributed Information Systems
![Page 2: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/2.jpg)
Motivation
● To understand the problems that Web services try to solve it is helpful to understand how distributed information systems evolved.
● While technology has changed, problems stayed the same.
![Page 3: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/3.jpg)
O verview
distributed Information Systems (IS)● design and related aspects● architectures● communication patterns● scaling
![Page 4: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/4.jpg)
Design and related Aspects
![Page 5: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/5.jpg)
Layers of an ISExample
presentation layer
application locic layer
resource management layer
client
info
rmati
on sy
stem
<html>...</html>
browser
![Page 6: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/6.jpg)
Presentation Layer
● here is decided HOW data should appear to the user
● sometimes referred to as the client (not entirely true!!!)
![Page 7: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/7.jpg)
Application Logic Layer
● Data Processing ('The actual Program')● here the algorithms are implemented● this Layer is often referred to as
– services– business logic– business rules– server
![Page 8: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/8.jpg)
Resource Management Layer
● deals with and implements different data sources of IS
● is the 'data layer' in a restricted interpretation (Database Management System)
● can also be an external system, which recursively uses other ISs
![Page 9: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/9.jpg)
Designs of IS
● top-down design
● bottom-up design
![Page 10: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/10.jpg)
top-down design
● starts with defining functionality desired by the client ('toplevel goals')
● implementation of application logic● defining the resources needed by applictation logic
![Page 11: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/11.jpg)
top-down [example] top-down design
1. define access channels and client platforms
2. define presentation formatsand protocols for the selectedclients and protocols
3. define the functionality necessary to deliver the contentsand formats needed at the presentation layer
4. define the data sources and dataorganization needed to implementthe application logic
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 12: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/12.jpg)
top-down design
● usually created to run in homogenous environments
● way of distribution has to be specified● results in tightly coupled components:
– functionality of each component heavily depends on functionality of other components
– design is component based, but components are not standalone
![Page 13: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/13.jpg)
top-down design
● fig 1.3 s.8
RM - 1 RM - 2
PL - A PL - B
PL -C
AL-DAL-CAL-AAL-B
AL-A
PL - A
PL - B
PL -C
AL-C
AL-D
RM - 1 RM - 2
RM - 1 RM - 2RM - 1 RM - 2
AL-B
top-down design
top-down architecture
![Page 14: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/14.jpg)
advantages & disadvantages
● advantages:– design emphasises final goals of the system– can be optimized for: functional and non-
functional(performance, availability,..) issues● disadvantages
– can only be designed from scratch– legacy systems cannot be integrated
today few ISs are designed purely top-down
![Page 15: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/15.jpg)
bottom-up design
● fig 1.4
bottom-up design1. define access channels and client plattforms
2. examine existing resources and the functionality they offer
3. wrap existing resources andintegrate their functionality intoa constistent interface
4. adapt the output of the application logic so that it can be used with the required accesschannels and client protocols
client
presentaion layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 16: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/16.jpg)
bottom-up design
● out of necessity rather than choice● need to integrate legacy systems and/or
applications● results in loosely coupled systems
– independent and– standolone components
● most distributed IS are result of a bottom-up design
● Web services can make those designs more efficient, cost-effective and simplier to design
![Page 17: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/17.jpg)
bottom-up design[fig 1.5 p.10]
PL - A PL - B
PL -C
AL-DAL-CAL-AAL-B
AL-A
PL - APL - B
PL -C
AL-C
AL-D
legacysystem
RM - 1 RM - 2RM - 1 RM - 2
AL-B
bottom-up design
bottom-up architecture
legacysystem
legacysystem
wrapper wrapper wrapper
legacyapplication
legacyapplication
![Page 18: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/18.jpg)
Architecture of an Information System - 4 types:
● 1 – tier
● 2 – tier
● 3 – tier
● n – tier
![Page 19: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/19.jpg)
1 – tier Architectures
● were used decades ago..● monolithic Information Systems● presentation, application logic, and resource
management were merged into a single tier● many of these 'old' Systems are still in use!
![Page 20: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/20.jpg)
Design of 1 – tier Architecture
[figure 1 – tier]presentation layer
application locic layer
resource management layer
client
info
rmat
ion
syst
em
![Page 21: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/21.jpg)
1 – tier Architecture
advantages:● easy to optimize performance● no context switching● no compatibility issues● no client developement, maintainance and
deployment costdisadvantages:● monolithic pieces of code (high maintainance)● hard to modify● lack of qualified programmers for these systems
![Page 22: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/22.jpg)
2 - tier Architectures
● fig 1.7 p.12
client
info
rm
ati
on
sy
ste
m
resource management layer
application logic layer
serv
er
presentation layer
![Page 23: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/23.jpg)
2 - tier Architectures
● separation of presentation layer from other 2 layers (app + resource)
● became popular as 'server/client' systems● thin clients/fat clients● RPC (Remote Procedure Call)● API (Application Program Interface)● need for standardization
![Page 24: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/24.jpg)
advantages & disadvantages
advantages● portability● no need for context switches or calls between
component for key operationsdisadvantages● limited scalability● legacy problems (blown up clients)
![Page 25: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/25.jpg)
3 - tier Architectures
● fig 1.10 p. 16
info
rmati
on
sy
stem
resource management layer
application logic layer
middleware
client
presentationlayer
![Page 26: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/26.jpg)
3 - tier Architectures
● can be achieved by separating RM (resource management) from application logic layer
● additional middleware layer between client and server– integration logic– application logic
● lead to the introduction of clear RM layer interfaces
● good at dealing with intgration of different resources
![Page 27: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/27.jpg)
3 - tier
● fig 1.11 p. 17presentation layer
client
integration logic
client client
application logic layer
middle-ware
wrapper wrapperwrapper
1 - tier 2 - tier 3 - tier
resource managementlayer
![Page 28: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/28.jpg)
advantages & disadvantages
advantages● scalability by running each layer on a different
server● scalability by distributing AL (application logic
layer) across many nodes ● additional tier for integration logic● flexibilitydisadvantages● performance loss if distributed over the internet● problem when integrating different 3 – tier
systems
![Page 29: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/29.jpg)
2 cases of n – tier● systems linked with added connectivity through
the internet● resource layer is a full fledged 2 - or 3 - tier
system
n -tier
![Page 30: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/30.jpg)
n -tier
● fig 1.12 p. 20
info
rmati
on s
yst
em
resource management layer
Web server
HTML filter
presentation layer
Web browser
client
application logic layer
middleware
![Page 31: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/31.jpg)
n - tier
● [fig 1.13 p. 21]
databaseserver
applicationfileserver
middlewareapplication
logic
middlewareapplication
logic
additional RM layers
middlewareapplication
logic
internalclients
Web servercluster
LANgateways
FIREWALL
INTERNET
remoteclient
remoteclient
remoteclient
remoteclient
remoteclient
remoteclient...
![Page 32: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/32.jpg)
advantages & disadvantages
advantages● better scalability● higher fault tolerance● higher throughput for less costdisadvantages● too much middleware involved ● redundant functionality● difficulty and cost of developement
![Page 33: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/33.jpg)
gains and losses
with growing number of tiers one gains:● flexibility● functionality● possibilities for distributionbut:● each tier increases communication costs● complexity rises● higher complexity of management and tuning
![Page 34: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/34.jpg)
communication in an IS between distributed layers/tiers
● synchronous interactions● asynchronous interactions
![Page 35: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/35.jpg)
synchronous interactions (blocking)
● fig 1.14 p. 23invoking execution thread
invoked execution thread
request
response
blo
ckin
g p
erio
d
![Page 36: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/36.jpg)
asynchronous interactions (non blocking)
● fig 1.15 p. 25invoking execution thread
invoked execution thread
put
put
fetch
fetch
queue
queue
thre
ad r
emai
ns
acti
ve
![Page 37: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/37.jpg)
scaling multi tier systems
6 steps● understand the application environment● categorize your workload● determine the components most impacted● select scaling techniques to apply● apply the techniques● reevaluate● .. and hope its better :)
![Page 38: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/38.jpg)
what do scaling techniques improve?
scaling technique
use faster machine x
create machine cluster x
use a special machine x x
segment the work load x x
batch request x
aggregate user data x
manage connections x
cache data & requests x x
increase capacity/ speed
improve efficiency
shift/reduce load
![Page 39: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/39.jpg)
use faster machine
● increases the ability to do more work in a unit of time by processing tasks more rapidly
● applies to almost all parts of the system (from edge servers to database server)
![Page 40: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/40.jpg)
create cluster of machines
● services more client requests. improves response time through parallelism
● applies to Web presentation server, Web application server, directory and security servers
![Page 41: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/41.jpg)
use special machines
● improves efficiency of a component by using a special purpose machine, which is optimized for a specific function
● applies to egde server, Web presentation server, directory and security servers, the network and the Internet firewall
![Page 42: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/42.jpg)
segment the workload
● splits up workload into managable chunks to obtain more predictible response times
● applies to Web representation server, Web application server, the data server and the network
![Page 43: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/43.jpg)
batch requests
● reduces number of requests by defining new ones that combine multiple requests
● applies to Web presentation server, Web application server, directory and security servers, existing business applications and database
![Page 44: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/44.jpg)
aggregate user data
● allows rapid access to large customer data controlled by existing system applications by aggregating distributed customer data into a costomer information service
● applies to the Web presentation server, Web application server and the network
![Page 45: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/45.jpg)
manage connections
● minimizes number of connections and eliminates overhead of setting up connections by sharing a pool of preestablished connections between the layers
● applies to Web presentation server, Web aplication server and the database.
![Page 46: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/46.jpg)
cache
● improves performance and scalability and response time by buffering data flows and reducing consumption of resources
● applies to the edge server, Web presentation server, Web application server, network, existing business applications and the database.
![Page 47: Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649f265503460f94c3deb5/html5/thumbnails/47.jpg)
summary
● layers of an IS● designs of distributed IS● evolution of architectures and concepts● scaling techniques