Chapter 2 Application Layers Networking in the Internet Age by Alan Dennis 1st Edition Copyright 2002 John Wiley Sons Inc 1 Copyright John Wiley Sons Inc All rights reserved Reproduction or translation of this work beyond that named in Section 117 of the United States Copyright Act without the express written consent of the copyright owner is unlawful Requests for further information should be addressed to the Permissions Department John Wiley Sons Inc Adopters of the textbook are granted permission to make back up copies for their own use only to make copies for distribution to students of the course the textbook is used in and to modify this material to best suit their instructional needs Under no circumstances can copies be made for resale The Publisher assumes no responsibility for errors omissions or damages caused by the use of these programs or from the use of the information contained herein 2 Chapter 2 Learning Objectives Understand host based client based and client server architectures Understand how the Web works Understand how e mail works Be aware of how FTP Telnet and Instant Messaging work 3 Chapter 2 Outline Introduction Application Architectures Host Based Client Based and Client Server Architectures Choosing Architectures World Wide Web How the Web Works Inside an HTTP Request HTTP Response Electronic Mail How E Mail Works Inside an SMTP Packet Listserv Attachments in MIME Other Applications Ftp Telnet Instant Messaging Videoconferencing 4 Application Architectures 5 Application Architectures Application programs can be thought of as being made up of four functions Data storage Data access logic Application logic Presentation logic Application architectures are determined by how these functions are split between clients and servers Three basic application architectures are in use today Host based Architectures Client based architectures Client server architectures 6 Host based Architectures The first application architecture to be developed was the host based The server in host based architectures usually a mainframe performs all four application program functions The client usually a terminal or a PC running a terminal emulation program captures key strokes which are sent to the mainframe and displays information according to the server s instructions Figure 2 1 7 Figure 2 1 Host Based Architectures 8 Host based Architectures There are two main problems with host based architectures Since all processing is by the host the host becomes a bottleneck which can severely limit network performance Upgrades are typically expensive and lumpy meaning available upgrades require big jumps in processing and memory Network demand grows more incrementally so this often means a poor fit too much or too little between host performance and network demand 9 Client Based Architectures Client based architectures became important in the late 1980s with the widespread use of PCs local area networks and low cost PC based application programs such as spreadsheets and word processors In client based architectures application programs on the clients are responsible for the data access application and presentation logic The server is responsible for data storage only Figure 2 2 10 Figure 2 2 Client Based Architectures 11 Client Based Architectures The main problem with client based architectures is the need for all of the data to travel back and forth between server and client For example if the client program is making a database query the entire database must travel to the client before the query can be processed The result can be poor network performance due to the bottleneck created by constantly sending large files back and forth over the network 12 Client Server Architectures In client server architectures the application program functions are divided up between clients and servers The client takes care of the presentation logic The server handles data storage and data access logic Application logic may reside on the client server or be split up between the two Most networks today use a client server architecture see Figure 2 3 13 Figure 2 3 Client Server Architectures 14 Client Server Architectures Client server architectures are more efficient since they distribute processing between client and server Another strength is that they allow hardware and software from different servers to be used together This is also a weakness since it is sometimes difficult to get software from different vendors to work together smoothly For this reason a third category of software called middleware was developed 15 Middleware Middleware provides an interface for allowing client application programs to interact with server application programs Middleware s two main functions are Providing a standard way of translating between software from different vendors Managing message transfer between client and server thus insulating network changes such as adding a new server from the clients Two of the most important middleware standards are Distributed Computing Environment DCE and Common Object Request Broker Architecture CORBA 16 Two tier Three tier and N tier Architectures Figure 2 3 gives an example of a 2 tier client server architecture In a three tier architecture the application program logic is split up between three computers For example see Figure 2 4 the client handles the presentation logic an application server handles the application logic a database server handles the data storage and data access logic In an N tier architecture more than three sets of computers are used see Figure 2 5 17 Figure 2 4 A Three tier Architecture 18 Figure 2 5 An N tier Architecture 19 Two tier Three tier and N tier Architectures The primary advantage of N tier architectures is that they make load balancing possible Since the application program logic is distributed between several servers processing can then be more evenly distributed among those servers N tiered architectures are also more easily scalable since only servers experiencing high demand such as the application server need be upgraded The primary disadvantage is that more distributed processing means a more heavily loaded network It is also more difficult to program and test an N tier architecture due to its increased complexity 20 Thin versus Fat Clients Thin and Fat or thick clients describe how much of the application logic resides on the client Little or no application logic resides on a thin client All or most of the application logic resides
View Full Document
Unlocking...