Distributed information sys

Post on 09-Dec-2014

733 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

DIS, distributed information system development itsresearch

Transcript

By : Ms.Meena Chauhan, M.Tech CSE

Sr.A.P.,ABES Engg College,Ghaziabad

Distributed Information Systems

Distributed Information Systems

Distributed Information System (DIS) is seen as a collection of autonomous in formation

systems which can collaborate with each other. This collaboration can be driven by requests for knowledge needed to predict what values should

replace null values in missing or incomplete attributes.

Distributed Information Systems

Distributed information system is a system that connects a number of

information systems using network communication technology. It is

assumed that DIS is autonomous and incomplete .

Distributed development of software and information systems (also named Global

Software Development) becomes increasingly common, driven by the

globalisation ofcompanies and their business and enabled

by new information and communicationtechnologies.

DISD

Distributed Information Systems Development (DISD) promotes realisation of IS in a collaborative way where several partners, generally situated in distant places, participate in the elaboration of a common solution. The DISD consists in decomposing, the IS development process into more or les autonomous phases to be realised by these partners.

DISD aims at increasing enterprise productivity, reducing IS development cost, and enlarging the number of human competencies and skills, which allows not only to share experiences in different cultural environments but also to extend enterprise strategy to the global market. In fact, this kind of practice allows enterprises to deal with new economic globalisation constraints that they have to undergo but it is not devoid of problems.

It is clear that the distribution of processes has an impact on the way the IS products will be specified, designed, coded and delivered to the clients.

Design and related Aspects

Layers of an ISExample

presentation layer

application locic layer

resource management layer

client

info

rmati

on sy

stem

<html>...</html>

browser

Presentation Layer

● here is decided HOW data should appear to the user

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

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

Designs of IS

● top-down design

● bottom-up design

top-down design

● starts with defining functionality desired by the client ('toplevel goals')

● implementation of application logic● defining the resources needed by applictation logic

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

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

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

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

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

Architecture of an Information System - 4 types:

● 1 – tier, 2 – tier, 3 – tier,.......,n – tier

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!

Design of 1 – tier Architecture

[figure 1 – tier]presentation layer

application locic layer

resource management layer

client

info

rmat

ion

syst

em

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

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

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

advantages & disadvantages

advantages● portability● no need for context switches or calls between

component for key operationsdisadvantages● limited scalability● legacy problems (blown up clients)

3 - tier Architectures

● fig 1.10 p. 16

info

rmati

on

sy

stem

resource management layer

application logic layer

middleware

client

presentationlayer

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

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

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

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

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

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...

advantages & disadvantages

advantages● better scalability● higher fault tolerance● higher throughput for less costdisadvantages● too much middleware involved ● redundant functionality● difficulty and cost of developement

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

communication in an IS between distributed layers/tiers

● synchronous interactions● asynchronous interactions

synchronous interactions (blocking)

● fig 1.14 p. 23invoking execution thread

invoked execution thread

request

response

blo

ckin

g p

erio

d

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

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 :)

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

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)

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

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

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

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

aggregate user data

● allows rapid access to large customer data controlled by existing system applications by aggregating distributed customer data into a customer information service

● applies to the Web presentation server, Web application server and the network

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.

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.

summary

● layers of an IS● designs of distributed IS● evolution of architectures and concepts● scaling techniques

top related