Transcript of "Topic1 Understanding Distributed Information Systems"
Understanding Distributed Information Systems Sanjoy Sanyal (Tech for NonGeek)
Layers of an Information System Sanjoy Sanyal (Tech for NonGeek) Client Presents Information to External Entities E.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 layer Also 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 Layer Define 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 System Information System Define access channels and client platforms Emphasizes final goals of system (both functional and non-functional)
Top Down versus Bottom Up <ul><li>Top Down Design can be applied to systems being built from scratch </li></ul><ul><li>Bottom Up Design is needed in integrating legacy systems </li></ul><ul><li>Steps in Bottom Up Design: </li></ul>Sanjoy Sanyal (Tech for NonGeek) <ul><ul><li>Steps in Bottom Up Design </li></ul></ul><ul><ul><li>Step 1: Define high level goals as previous </li></ul></ul><ul><ul><li>Step 2: Look at the Resource Management Layer (the legacy systems) and examine the cost and feasibility of obtaining the necessary functionality </li></ul></ul><ul><ul><li>Step 3: Wrap the underlying components so that proper interfaces are made available and can be exposed to the application logic layer </li></ul></ul><ul><ul><li>Step 4: Design the application logic layer </li></ul></ul>
Information Systems Architecture <ul><li>Combination and Distribution of the layers </li></ul><ul><li>Four basic types: </li></ul><ul><ul><li>1-tier </li></ul></ul><ul><ul><li>2-tier </li></ul></ul><ul><ul><li>3-tier </li></ul></ul><ul><ul><li>N-tier </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
One-tier Architecture <ul><li>Presentation, Application and Resource Layer merged in one </li></ul>Sanjoy Sanyal (Tech for NonGeek) Advantages Disadvantages Performance Optimization Makes possible use of assembly code and low level optimizations No context switching overheads Low 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) Server Resource Management Layer Service Service Service Service Interface Service Interface Service Interface Servers API <ul><ul><li>The individual programs responsible for the application logic layer are services running on the server </li></ul></ul><ul><ul><li>The Service Interface defines how to interact with each service and abstracts the details of the implementation </li></ul></ul><ul><ul><li>Service interfaces are made available to outside clients via the Servers API </li></ul></ul><ul><ul><li>The API (Application Program Interface) specifies how to invoke a service & the responses that can be expected </li></ul></ul>
Two-tier Architecture <ul><li>Has a big impact in the evolution of Information Systems </li></ul>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 <ul><li>Mainly intended as integration platforms </li></ul>Sanjoy Sanyal (Tech for NonGeek) Key contribution: Standardization of Resource Management Interfaces: open database connectivity (ODBC) and java database connectivity (JDBC) 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
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 Cluster LAN Middleware application logic LAN Middleware application logic LAN Wrappers and gateways LAN 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 <ul><li>Blocking or Synchronous Interactions </li></ul><ul><ul><li>Parties involved have to wait for interaction to conclude before doing anything else </li></ul></ul><ul><ul><li>Concurrency or parallelism has nothing to do with blocking </li></ul></ul><ul><li>Non Blocking or Asynchronous </li></ul><ul><ul><li>The process can move on to something else </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
Summary <ul><li>Distributed Information Systems can be seen as a stack of three abstract layers: presentation, application logic and resource management </li></ul><ul><li>Distributed Information Systems have moved in response to improvements in hardware and networks </li></ul><ul><li>When mainframes were dominant the three layers were all blurred together. </li></ul><ul><li>With PCs 2-tier or client/server architecture emerged where the presentation layer resided with the client </li></ul><ul><li>With proliferation of information servers and increase in network bandwidth, 3 tier architectures emerged which introduced a middleware between clients nd servers </li></ul><ul><li>3 tier architecture helped integrate between applications </li></ul><ul><li>3 tier architectures also evolved to integrate between complex systems and allow for Internet connectivity </li></ul><ul><li>(the material in this topic is based on Web Services by Alonso, Casati, Kuno and Machiraju) </li></ul>Sanjoy Sanyal (Tech for NonGeek)
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.