e Commerce Technology 20 751 Lecture 4 Web
e. Commerce Technology 20 -751 Lecture 4: Web Architecture
Client-Server Model CLIENT (Often a Web browser) SERVER Server responds Client makes requests INTERNET 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Two-Tier Architecture TIER 1: CLIENT TIER 2: SERVER Server performs all processing Web Server Application Server Database Server This architecture is obsolete. Server does too much work. SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Three-Tier Architecture TIER 1: CLIENT TIER 2: SERVER TIER 3: BACKEND Application server offloads processing to tier 3 Web Server + Application Server Note: Using 2 computers instead of 1 can result in a huge increase in simultaneous clients. Depends on % of CPU time spent on database access. SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
N-Tier Architecture Optimized for web page delivery Coded for specific application Managed and tuned by DBA Achieves full separation of function and administration Huge number of simultaneous clients SOURCE: FOURNIER 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Inter. Shop Architecture SOURCE: INTERSHOP 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Connecting to Legacy Systems by “Wrapping” “WRAPPER” Web Server Web App 20 -751 ECOMMERCE TECHNOLOGY MAINFRAME Wrapper Middleware FALL 2003 Legacy App COPYRIGHT © 2003 MICHAEL I. SHAMOS
Connecting to Legacy Systems The “screen scraper” HTML data Terminal screen data Screen scraper Client Legacy system (mainframe) Existing application Legacy database Web server SOURCE: WIM GEVERS 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Screen Scraping • Some systems produce as their only output commands to 80 x 24 display terminals • Sequences of characters telling the terminal to move its cursor and display data, e. g. ^M 0238 Jan. ^M 024416, ^M 02482000 displays “Jan. 16, 2000” in row 2, starting at col. 38 • Screen scraping involves virtual simulation of the display terminal to retrieve the data • Vendors – Intelligent Environments 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Portal Architecture Employees ERP Partners Query E N T E R PCRM R I S E Office P O R Groupware TAL Tool Client Embedded Services. Client Applications Enterprise System Customers Tool Web Tools Data Warehouse Client Directory Browser Content Text Client Information System Document Repository Web Metadata Groupware Database Internet & Web SOURCE: PLUMTREE 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Portal Architecture LOB = “LINE OF BUSINESS” 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS SOURCE: MIKE CRANDALL, GATES FOUNDATION
Server Farms • To serve many clients, one server is not enough • How do multiple servers cooperate? Network Switch Router Intranet Firewall Web Servers DB Servers Router Internet Firewall App Servers SOURCE: ATESTO 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Server Cluster (Server Farm) Clients Internet HTTP request Router Request Routing Communication System Management Server farm SOURCE: CHU-SING YANG 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Server Selection Problem Server Farm A Server Farm B Which server? Which network site? “Contact the weather service. ” • Avoid scalability problems of central servers by distributing load SOURCE: JEFF CHASE 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Load Balancing Switch client http: //pds. cse. nsysu. edu. tw/job/ subnet Server Farm Router SVR. 1 Internet Web Switch SVR. 2 ‧ ‧‧ ‧ Virtual IP address SVR. n 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 SOURCE: CHU-SING YANG ‧‧‧ COPYRIGHT © 2003 MICHAEL I. SHAMOS
Domain Names • IP addresses are inconvenient to remember 128. 2. 218. 2 v. euro. ecom. cmu. edu (fully qualified) • Domain names are alphanumeric aliases for IP addresses. They form a tree structure of FQDNs: ROOT. GOV AMAZON . COM MCKINSEY . MIL YAHOO . NET . EDU CMU PITT . ORG . IT MIT 208. 216. 182. 15 207. 237. 113. 94 GSIA WWW 128. 2. 16. 175 YEN CS ECOM EURO 128. 2. 218. 2 HEINZ DOLLAR PESO 128. 2. 218. 4
Domain Name System • Large, distributed, worldwide database • Maps domain names to IP addresses What is the IP address of abc. foo. com? Root DNS 202. 168. 14. 12 . com DNS client Try. com Try foo. com DNS Local DNS Resolver + Cache abc. foo. com is 202. 168. 14. 12 SOURCE: CISCO SYSTEMS
URL-Based Load Balancing if g bc. s/a ge ma i / m. co T GE oo w. f w /w GET/www. foo. com/event/reg. bin GET / www. foo. co m/pro duct/a b c. htm l Substring matching for: • “images” • “. gif” • “. jpg” Load distributed within group via any standard metric or URL hashing Substring matching for: • “. cgi” • “. bin” • “. exe” Substring matching for: • “. html” • Servers optimized for specific content-types • Substring match on URL directs HTTP requests to designated server farm – Load balancing using configured algorithm or, – URL Hashing forwards requests for each unique URL to same server to take advantage of server memory caching 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS SOURCE: SUN
DNS Round Robin Balancing SERVER a b c d DNS server for nhc. noaa. gov “www. nhc. noaa. gov is IP address a” (or {b, c, d}) Idea: When an IP address is requested for nhc. noaa. gov, return a different IP address each time CLIENT “lookup www. nhc. noaa. gov” client network DNS server SOURCE: JEFF CHASE 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Web Data Center 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS SOURCE: SUN
Global WAN Architecture Site II losangeles. domain. com Internet Site I newyork. domain. com Router DNS BIG-IP Local DNS GLOBAL-SITE Webmaster Site III tokyo. domain. com Server Array User london. domain. com 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS SOURCE: EDWARD CHOW
Client- and Server Side Programming Server Client HTML Applets Internet CGI/Perl, C ASP Active. X Controls Servlet Dynamic HTML JSP Java. Script XML SOURCE: IIT 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Tiers and URLs can be used for application routing http: // 10. 0. 0. 1 / catalog / display. asp ? pg = 1 & product = 7 Web app Web Server Web app DB DB SOURCE: NTOBJECTIVES. COM 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
PHP Process Flow Raw. php source HTML is substituted for PHP code PHP Preprocessor HTML Internet Browser . php source file Web Server Request for. php file PHP originally mean “Personal Home Page” 20 -751 ECOMMERCE TECHNOLOGY SOURCE: M. HAMILL FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Website Components HTTP request (cleartext or SSL) SQL Database Firewall Web app Web Client Web Server Web app HTTP reply (HTML, Javascript, VBscript, etc) 20 -751 ECOMMERCE TECHNOLOGY • Apache • IIS • Netscape etc… FALL 2003 Plugins: • Perl • C/C++ • JSP, etc DB DB Database connection: • ADO, • ODBC, etc. COPYRIGHT © 2003 NTOBJECTIVES. COM MICHAEL I. SHAMOS SOURCE:
Major Ideas • • Client-server model Three-tiered (n-tiered) architecture Legacy connections Portals Server Farms Web development tools Client- and server-side tools 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
Q&A 20 -751 ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS
- Slides: 27