Upload
sanjoysanyal
View
6.109
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Understanding Distributed Information Systems
Sanjoy Sanyal (Tech for NonGeek)
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
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)
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
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)
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
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
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
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
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
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)
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
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
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)
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)