Title: Web Architecture
1Web Architecture
2Client-Server Model
CLIENT (Often a Web browser)
SERVER
INTERNET
3Two-Tier Architecture
This architecture is obsolete. Server does too
much work.
SOURCE FOURNIER
4Three-Tier Architecture
TIER 3 BACKEND
TIER 2 SERVER
TIER 1 CLIENT
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
5N-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
6InterShop Architecture
SOURCE INTERSHOP
7Connecting to Legacy Systemsby Wrapping
WRAPPER
Web Server
MAINFRAME
Web App
Legacy App
8Connecting to Legacy Systems
The screen scraper
Legacy system(mainframe)
Terminalscreen data
HTML data
HTMLdata
Screen scraper
Existing application
Legacy database
Web server
Client
SOURCE WIM GEVERS
9Screen 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.
M0238Jan. M024416, M02482000displays 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
10Portal Architecture
E N T E R P R I S E P O R T A L
SOURCE PLUMTREE
11Portal Architecture
LOB LINE OF BUSINESS
SOURCE MIKE CRANDALL, GATES FOUNDATION
12Server Farms
- To serve many clients, one server is not enough
- How do multiple servers cooperate?
Network Switch
Network Switch
Internet Firewall
Intranet Firewall
DB Servers
App Servers
SOURCE ATESTO
13Server Cluster (Server Farm)
Clients
HTTP request
Router
Request Routing
Communication
Server farm
System Management
SOURCE CHU-SING YANG
14Server Selection Problem
Server Farm A
Server Farm B
Which server?
- Avoid scalabilityproblems of central servers
bydistributing load
Which network site?
Contact the weather service.
SOURCE JEFF CHASE
15Load Balancing Switch
client
http//pds.cse.nsysu.edu.tw/job/
Server Farm
Router
SVR.1
SVR.2
Web Switch
Virtual IP address
SVR.n
SOURCE CHU-SING YANG
16Domain 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 .COM .MIL .NET .EDU
.ORG .IT
CMU PITT MIT
AMAZON MCKINSEY YAHOO
208.216.182.15
207.237.113.94
GSIA CS ECOM HEINZ
WWW YEN EURO DOLLAR PESO
128.2.218.4
128.2.218.2
128.2.16.175
17Domain 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
Try .com
Try foo.com
foo.com DNS
Local DNS Resolver
abc.foo.com is 202.168.14.12
Cache
SOURCE CISCO SYSTEMS
18URL-Based Load Balancing
- 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
SOURCE SUN
19DNS 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
20Web Data Center
SOURCE SUN
21Global WAN Architecture
Site II losangeles.domain.com
Internet
Site I newyork.domain.com
Router
DNS
BIG-IP
BIG-IP
Local DNS
GLOBAL-SITE
Webmaster
Site III tokyo.domain.com
Server Array
User london.domain.com
SOURCE EDWARD CHOW
22Client- and Server Side Programming
Server
Client
HTML
CGI/Perl, C
Applets
ASP
ActiveX Controls
Servlet
Dynamic HTML
JSP
JavaScript
XML
SOURCE IIT
23Tiers and URLs
URLs can be used for application routing
http // 10.0.0.1 / catalog / display.asp ?
pg 1 product 7
Web Server
DB
Web app
Web app
DB
Web app
Web app
SOURCE NTOBJECTIVES.COM
24PHP Process Flow
Raw .php source
HTML is substituted for PHP code
PHP Pre- processor
Web Server
Browser
HTML
.php source file
Internet
Request for .php file
PHP originally mean Personal Home Page
SOURCE M. HAMILL
25Website Components
SQL Database
HTTP request (cleartext or SSL)
Firewall
Web Server
DB
Web Client
Web app
Web app
DB
Web app
Web app
HTTP reply (HTML, Javascript, VBscript, etc)
- Plugins
- Perl
- C/C
- JSP, etc
- Database connection
- ADO,
- ODBC, etc.
SOURCE NTOBJECTIVES.COM
26Major Ideas
- Client-server model
- Three-tiered (n-tiered) architecture
- Legacy connections
- Portals
- Server Farms
- Web development tools
- Client- and server-side tools