Availability � E-Commerce (simplified) � server down = sales down Web Engineering � availability and reliability = money � large global enterprises, e.g. Prof. Dr. Dr. h.c. mult. Gerhard Krüger, Albrecht Schmidt www.amazone.com � the shop is populated by customers 24h a day Universität Karlsruhe � customers are geographically distributed � at specific times large numbers of customers access the shop Fakultät für Informatik Institut für Telematik � availability in % � 98,3% ~ the server is about 6,2 days per year not available Wintersemester 2000/2001 � 99,9% ~ the server is about 8,76 hours per year not available � 99,999% ~ the server is about 5,3 minutes per year not available Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 1 Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 3 Why are Servers not available? � server failure � Hardware � operating system � software failure � Web server software � Web Engineering modules � databases � network failure � parts of the internet are not available � network partitions Chapter 4: Architecture and Platform � content failure � e.g. file not found 404 � documents are only partly transferred � request load to high (to many requests) � network bandwidth too small � server performance to small (RAM, processor, hard drives, ... ) � maintenance Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 2 Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 4
Solutions: Solution: Network Partitions Hardware/Software/Content Failure � redundant servers � replicate content � server cluster, geographically distributed � redundancy in server hardware � geographically distributed servers � uninterruptible power supply (UPS) � server on different continents � hard drives (RAID) � network interfaces � hot swap (change broken parts while system is running) � organizational distributed servers � monitor systems � server in different backbones � reply time, completeness of answer � automated action in the case of a problem (mount other drive, � servers distributed in different judicial systems ??? reboot the system, start an other machine, ...) � monitor the environment � temperature � staff must not be a „single point of failure“ � system administrator, webmaster, editor Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 5 Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 7 Solution: Request Load is to High Load Balancing � algorithm s � increase server performance � Round Robin predefined order � � Least Connection server with minimal number of connections is selected � split the domains into sub-domains � � Observed put each sub-domain on a separate machine on each server runs an agent that monitors the load – server with minimal load is selected � � Priority � example 1: on content request/content has an assigned priority (e.g. preference for orders, low priority for support) transform www.shop.com into � � Ratio www.cd.shop.com server and request have assigned weights (e.g. capabilities/performance of a server, cost � www.video.shop.com to handle a request) � Fastest www.software.shop.com server that react first gets the request � example 2: on location � � Predictive transform www.company.com to using statistics the load of a server is predicted – based on that a server is selected � www.us.company.com www.asia.company.com � geographical distribution www.eu.company.com � the nearest server is selected � the server with the cheapest link is selected � make a cluster of servers – web-farms, load balancing Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 6 Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 8
Load Balancing and Sessions Server Farm – Basis Architecture � session / state / cookies in distributed architectures Internet LAN � preserve sessions – Web Server 1 Web Server 2 Web Server 3 approaches: � do not use / support sessions Farm LAN � requests from one client are always sent to the same server (at least during a session) � replicating session / state information within the server File Server File Server File Server File Server cluster or farm � specific distribution hardware that supports state / cookies Prof. Dr. Dr. h.c. mult. Ge rhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page 9 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page11 Server Farm Solution: Example Big/IP � http://www.f5labs.com/bigip/index.html � a number of servers provide one side � 8000 connections/s � 90 Mbps � to cope with a large number of requests � to minimize the mean reply time � to increase fault tolerance � replicating the side � group of servers with identical resources � load balanced dispatching of incoming requests � distribution algorithms � partitioning the side � group of servers with disjunctive / exclusive resources � dispatching based on the requested URL Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page10 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page12
Solution: Example 3DNS Proxy Server Geographically Distributed Server I � server and client � looks like a server for the browser � looks like a client for the server � cache � reduce the transfer volume � keep a log file (who has visited which sites? when?) � check and filter � certain content is no handed on (e.g. based on URLs, keyword, ...) � documents are filtered, parts removed e.g. www.webwasher.com � virus check for downloads on the fly � pages are extended with additional information and functionality (e.g. advertisements, banners, ...) � http://www.f5labs.com/3dns/index.html Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page13 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page15 Solution: Example 3DNS Proxy Performance Geographically Distributed Server II � caching � hard drive � RAM � processor performance (comparison) � firewall, virus detection � processing power � I/O throughput � http://www.f5labs.com/3dns/index.html Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page14 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page16
Table of Content What does a Web Client II 1. Architecture � receive HTTP reply � analyze and interpret HTTP reply 2. Web Server � HTTP parser � HTML parser 3. Web Client � process / visualize content received 4. Performance and Efficiency � parsing HTML and other media types � rendering � execute programs or run scripts � delegate handling to extensions (if necessary) Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page17 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page19 What does a Web Client I Web Browser � specific Web client � reading and parsing the URL � interface between the human user and the Web � extract server name, get server address (DNS) � extract file / resource name � visualizing HTML Objects � and often other standard media formats (e.g. gif, jpeg) � setup a TCP-connection to the server or to the proxy � action by clicking on URLs and input of URLs � triggers HTTP request/reply � create HTTP request � browser extensions � sent HTTP request � helper application � Netscape Plug-in � wait for HTTP reply � Java Virtual Machine, Microsoft ActiveX Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page18 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page20
Functional Components Graphical Browser - WebTV � communication � request documents from server � provide as stream or object � data analyses � parsing header � pares DTD and documents � data structure to represent the document � presentation � visualizing parts of the document (HTML, GIF, JPEG, ...) � keep track of the location of presented components � interaction � when interacting with components trigger appropriate action More on the Viewer & Download http://developer.webtv.net/ Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page21 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page23 Graphical Browsers, Other Graphical Browser e.g. IE5, Amaya, Mosaic Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page22 Prof. Dr. Dr. h.c. mult.Gerhard Krüger, Albrecht Schmidt: Web Engineering, WS00/01 page24
Recommend
More recommend