topic1 understanding distributed information systems

15
Understanding Distributed Information Systems Sanjoy Sanyal (Tech for NonGeek)

Upload: sanjoysanyal

Post on 18-Jan-2015

6.108 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Topic1 Understanding Distributed Information Systems

Understanding Distributed Information Systems

Sanjoy Sanyal (Tech for NonGeek)

Page 2: Topic1 Understanding Distributed Information Systems

Layers of an Information System

Sanjoy Sanyal (Tech for NonGeek)

Client

Presents Information to External EntitiesE.g. a graphical user interface, module that formats a data set Presentation Layer

Application Layer

Implements the operation requested by the client thru the presentation layerAlso referred to as the services of the information system. For e.g. when a client requests withdrawal from a banking account, the services include taking the request, checking balances and withdrawal limits, creating log entry, debiting the and approval for handing over money

Resource Management Layer Deals with and implements the Data sources

For e.g. databases, filesystems or other information repositories

Information System

Page 3: Topic1 Understanding Distributed Information Systems

Top Down Design of an Information System

Sanjoy Sanyal (Tech for NonGeek)

Client

Define presentation formats and protocols for selected clients Presentation Layer

Application LayerDefine the functionality necessary to deliver the contents and formats needed at the presentation layer

Resource Management Layer Define the data sources and data organization needed to

implement the application logic

Information SystemInformation System

Define access channels and client platforms

Emphasizes final goals of system (both functional and non-functional)

Page 4: Topic1 Understanding Distributed Information Systems

Top Down versus Bottom Up Top Down Design can be applied to systems being built

from scratch Bottom Up Design is needed in integrating legacy systemsSteps in Bottom Up Design:

Sanjoy Sanyal (Tech for NonGeek)

Steps in Bottom Up Design

Step 1: Define high level goals as previous Step 2: Look at the Resource Management Layer (the legacy systems) and examine the cost and feasibility of obtaining the necessary functionality Step 3: Wrap the underlying components so that proper interfaces are made available and can be exposed to the application logic layerStep 4: Design the application logic layer

Page 5: Topic1 Understanding Distributed Information Systems

Information Systems Architecture

Combination and Distribution of the layers Four basic types:

1-tier 2-tier 3-tier N-tier

Sanjoy Sanyal (Tech for NonGeek)

Page 6: Topic1 Understanding Distributed Information Systems

One-tier ArchitecturePresentation, Application and Resource Layer merged in one

Sanjoy Sanyal (Tech for NonGeek)

Advantages Disadvantages

Performance OptimizationMakes possible use of assembly code and low level optimizations No context switching overheadsLow client development costs

Difficult to modify Really impractical to develop in today’s times

Page 7: Topic1 Understanding Distributed Information Systems

Two-tier Architecture

Sanjoy Sanyal (Tech for NonGeek)

Client

Presentation Layer

Resource Management Layer

Application Layer

Server

Separates the presentation layer which resides in the client

The result is a client server system where the client has the ability to further process the information provided by the server

Clients can be thin (limited functionality) or fat (rich functionality)

Historically emerged with the PC

Page 8: Topic1 Understanding Distributed Information Systems

Application Layer Logic in a 2 – Tier System

Sanjoy Sanyal (Tech for NonGeek)

ServerResource Management Layer

ServiceServiceService

ServiceInterface

ServiceInterface

ServiceInterface

Servers API

The individual programs responsible for the application logic layer are services running on the server The Service Interface defines how to interact with each service and abstracts the details of the implementation Service interfaces are made available to outside clients via the Servers API The API (Application Program Interface) specifies how to invoke a service & the responses that can

be expected

Page 9: Topic1 Understanding Distributed Information Systems

Two-tier ArchitectureHas a big impact in the evolution of Information Systems

Sanjoy Sanyal (Tech for NonGeek)

Advantages Disadvantages

Performance Optimization can be achieved by keeping the application and resource management layers together

Support development of systems portable across different platforms

A single server can support only a limited number of clients

Clients which connect to different servers and integrates their services become complex and expensive to maintain

Page 10: Topic1 Understanding Distributed Information Systems

Three-tier Architecture

Sanjoy Sanyal (Tech for NonGeek)

Client

Presentation Layer

Resource Management Layer

Application Layer

Middleware

Historically emerged increase in network bandwidth provided by LANs

Solves the problem of integrating between servers

Clearly separates each of the three layers

The presentation layer resides in the client

Introduces middleware: an additional layer between the clients and server that integrates between different information services

The resource management layer consists of all servers that are being integrated

The servers in the resource management layer can each have their application and resource management layers

Page 11: Topic1 Understanding Distributed Information Systems

Three-tier Architecture

Mainly intended as integration platforms

Sanjoy Sanyal (Tech for NonGeek)

Advantages Disadvantages

Allows scalability by running each layer in a different server

Communication between resource management and application layer is more expensive

Runs into trouble when integration has to happen across the Internet or involves different 3-tier architectures

Key contribution:

Standardization of Resource Management Interfaces: open database connectivity (ODBC) and java database connectivity (JDBC)

Page 12: Topic1 Understanding Distributed Information Systems

N-tier Architecture

Sanjoy Sanyal (Tech for NonGeek)

Client

Web browser

Resource Management Layer

Application Layer

Middleware

Solves the problem of providing connectivity thru the Internet

The Client is a Web browser

Web Server is incorporated in the presentation layer

The presentation layer is distributed between the Web browser, the Web Server and the code that prepares the HTML pages.

Additional modules (e.g. HTML filters) may be necessary to translate between the different data formats used in each layer.

Presentation layer

Web Server

HTML filter

Page 13: Topic1 Understanding Distributed Information Systems

Modern N-tier Architecture complexity

Sanjoy Sanyal (Tech for NonGeek)

Internet

Remote Clients

Database Server

File Server

Application

Internal Clients LAN

Web Server ClusterLAN

Middleware application logic

LAN

Middleware application

logicLAN

Wrappers and

gatewaysLAN

Additional resource management layers

LAN Gateway

Remote clients access the system over a firewall

There are internal clients who also access the services

The Web Server and the Application logic layer are often configured as a cluster of machines for higher fault tolerances and throughput

The resource management layer can consist of a variety of systems from a database server to additional links to other 2/3/N tier systems

Page 14: Topic1 Understanding Distributed Information Systems

Communication in a Information System

Blocking or Synchronous Interactions Parties involved have to wait for interaction

to conclude before doing anything elseConcurrency or parallelism has nothing to do

with blockingNon Blocking or Asynchronous

The process can move on to something else

Sanjoy Sanyal (Tech for NonGeek)

Page 15: Topic1 Understanding Distributed Information Systems

Summary

Sanjoy Sanyal (Tech for NonGeek)

Distributed Information Systems can be seen as a stack of three abstract layers: presentation, application logic and resource management

Distributed Information Systems have moved in response to improvements in hardware and networks

When mainframes were dominant the three layers were all blurred together.

With PCs 2-tier or client/server architecture emerged where the presentation layer resided with the client

With proliferation of information servers and increase in network bandwidth, 3 tier architectures emerged which introduced a middleware between clients nd servers

3 tier architecture helped integrate between applications 3 tier architectures also evolved to integrate between

complex systems and allow for Internet connectivity (the material in this topic is based on Web Services by

Alonso, Casati, Kuno and Machiraju)