Apache HTTP Server
• Ongoing group software development effort
• Dominated Web since 1996 because it is free and performs efficiently
• Apache
• Developed by Rob McCool at University of Illinois in1994 at the NCSA
• Currently available on the Web at no cost as open-source software
E-Commerce: The Second Wave, Fifth
7
Annual Edition
Microsoft Internet Information Server
• Comes bundled with current versions of Microsoft Windows Server
operating systems
• Used on many corporate intranets
• Supports the use of
• ASP
• ActiveX Data Objects
• SQL database queries
E-Commerce: The Second Wave, Fifth
8
Annual Edition
Sun Java System Web Server
(Sun ONE, iPlanet, Netscape)
• Descendant of original NCSA Web server program
• Formerly sold under the names
• Sun ONE
• Netscape Enterprise Serve
• iPlanet Enterprise Server
• Charges a $1500-per-CPU licensing fee
E-Commerce: The Second Wave, Fifth
9
Annual Edition
Introduction
• The Web, initially static, was developed in 1990 at
CERN by Berners-Lee.
• Implementation became public domain in 1993,
Mosaic led rush to the Web.
• Static content didn’t support the applications that
were needed (online commerce, education,
communication, etc.).
Support for Dynamic Content
• The HTTP request-response cycle provides an architectural
foundation for distributed hypertext applications.
• Web servers and browsers communicate through message-passing,
browser initiated requests by URI name for resources (HTML pages,
etc.)
• Initial dynamic interaction supported by HTML forms and CGI.
A Web server reference architecture (Hassan)
Request
Analyzer
Operating System Abstraction Layer
Operating System
Access
Control
Request
Response Reception
BROWSER
Resource
Client Machine Handler
WEB SERVER
Transaction
Log
Server Machine
A reference architecture for browsers
Request
Formatter
Operating System Abstraction Layer
Operating System
Request
Analyzer
Access
Request Control
User Network
Response
Interface Interface
WEB SERVER
Server Machine
Response Response
WEB BROWSER
Renderer Analyzer
Client Machine
CGI
Request
Operating System Abstraction Layer
Analyzer
Access
Request
Control
Operating System
Response Reception
BROWSER
Resource
Handler
Client Machine
Transaction CGI
WEBLog
SERVER Interface
CGI
Server Machine Process
CGI advantages / disadvantages
• Simple, implemented on all well-known Web servers out-of-the-box.
• Combined with scripting languages are a portable solution.
• Not process efficient.
• HTML generation from within code, not providing separation
between the HTML designers and programmers.
Scalable CGI
Request
Operating System Abstraction Layer
Analyzer
Request Access
Response Reception Control
Operating System
BROWSER
Client Machine Transaction Resource
Log Handler
CGI Process Pool CGI
…
WEB SERVER Interface
CGI CGI CGI CGI
Process 1 Process 2 Process 3 Process N…
Server Machine
Scalable CGI advantages / disadvantages
• FastCGI is the most well-known implementation.
• Performance is very good, still better than more recent technologies.
• The usability disadvantages of CGI still apply, programmers are
responsible for everything and must know details of HTTP.
Web server APIs
Request
Analyzer
Operating System Abstraction Layer
Filter
Operating System
Access
Control
Request
Response Reception
BROWSER
Resource
Client Machine Handler
Extension
WEB SERVER
Transaction
Log
Server Machine
Web Server APIs
• NSAPI, ISAPI, Apache API.
• Very efficient since compiled extension modules
run within the Web server’s address space…
• …but also dangerous since a bug in an extension
module can crash the Web server.
• Not commonly used for applications, but for
performance reasons, most server-side
technologies that support dynamic content are
based on Web server extension modules.
Browser extension interfaces
Request
Formatter
Operating System Abstraction Layer
Operating System
Request
Analyzer
Access
Request Control
User Network
Response
Interface Interface
Helper WEB SERVER
Function
Server Machine
Response Response
WEB BROWSER
Renderer Analyzer
Client Machine
Browser Extension Interfaces
• CCI (obsolete)
• Plug-ins
• Client-side scripting (JavaScript, DOM)
• Java applets
• ActiveX
• Flash
• Rich internet applications (RIA)
• Attempts to break free from page-centered interactivity
constraints.
Interpreted Template-based Scripting
• Server-Side Includes (SSI)
• Extended SSI (XSSI)
• ColdFusion
• Server-side Java Script (SSJS)
• Active Server Pages (ASP)
• PHP
ASP
Request
Analyzer
Operating System Abstraction Layer
Access
Control
Request
Operating System
Response Reception
BROWSER
Resource
Client Machine Handler
ASP
Interpreter
(asp.dll)
WEB SERVER
Transaction
Log
ASP
Templates COM Objects
Server Machine
Scaling Up
• Middleware
• Reliability
• Throughput
• Integration
• Security
• Development
• Application servers and components
• Java
• Servlets
• JSP
• J2EE
• .NET
Client Machine Server Machine
Request
Analyzer
Access
Request Control
Response
BROWSER
WEB SERVER
Application Server Machine
Java 2, Standard Edition (J2SE)
Presentation Tier Middleware
Java Virtual Machine (JVM)
Java JavaServer Java Naming Java
Java Database
and Directory Transaction
Servlets Pages (JSP) Interface
Connectivity
Server
(JDBC)
(JNDI) (JTS)
WEB CONTAINER
Business Logic Tier Java Java Java
Messaging Connector Auth.
Service Architecture Service
EJB (JMS) (JCA) (JAAS)
Java Classes
Components
EJB CONTAINER J2EE Services and Interfaces
J2EE SERVER
Client Machine Server Machine
Request
Analyzer
Access
Request Control
Response
BROWSER
WEB SERVER
Application Server Machine
Common Language Runtime (CLR)
Presentation Tier Middleware
.NET
Active
ASP.NET Web Forms Framework
.NET Framework
Directory ADO.NET
Enterprise
(AD)
Services
Business Logic Tier Microsoft
Messaging .NET
Message
API Framework
Queue
(MAPI) System.XML
.NET Managed (MSMQ)
Assemblies
Components
.NET Framework Services and Interfaces
.NET SERVER
Web programming vs. regular programming
• Web development traditionally lagged state-of-
the-art, until J2EE.
• Approaches carried forward to the Web
• Patterns
• Tiered architectures
• Frameworks
• Persistence
• Lightweight containers
• WebMVC
Request
Controller
(Java Servlet)
Response Forward Update
View Access
Model
(JSP or other (EJB or JavaBeans)
type of template)
Web server Database
Browser
server
Server machine
App server
Database
Browser
Web server server
Server machine
Web server App server Database
Browser
server
Server machine Server machine
Web server App server App server Database
Browser (Presentation) (Business) server
Server machine Server machine Server machine
Summary Classification
Conclusions
• Infrastructure
• Scalability problem is largely solved.
• Google
• Load balancing
• Application Development
• Current methods don’t scale well for people.
• Can be many modes to deal with.
• May be able to formulate a simpler, more concise
model for Web application development.
Web Site and Internet Utility Programs
• Finger
• Runs on UNIX operating systems
• Allows users to obtain information about other network users
• Command yields list of users who are logged on to network
• Ping (Packet Internet Groper)
• Tests connectivity between two computers connected to the Internet
E-Commerce: The Second Wave, Fifth
39
Annual Edition
Tracert and Other Route-Tracing Programs
• Tracert (TRACE RouTe)
• Sends data packets to every computer on the path
between one computer and another
• Clocks packets’ roundtrip times
• Calculate and display number of hops between
computers
• Calculate time it takes to traverse entire one-way path
between machines
E-Commerce: The Second Wave, Fifth
40
Annual Edition
Tracing a Path Between Two Computers on
the Internet
E-Commerce: The Second Wave, Fifth
41
Annual Edition
Electronic Mail
• Useful feature
• Attachments
• Drawbacks
• Time spent by business people responding to e-mail
• Computer virus
• Program that attaches itself to another program
• Can cause damage when host program is activated
E-Commerce: The Second Wave, Fifth
42
Annual Edition
Unsolicited Commercial E-Mail
(UCE, Spam)
• Electronic junk mail that can include
• Solicitations, advertisements, or e-mail chain letters
• Can consume large amounts of Internet capacity
• Companies
• Now offer software to limit amount of spam
E-Commerce: The Second Wave, Fifth
43
Annual Edition
Growth of Spam as a Proportion of all
Business E-mail
E-Commerce: The Second Wave, Fifth
44
Annual Edition
Solutions to the Spam Problem
• Reduce likelihood that a spammer can automatically generate e-mail
addresses
• Control exposure of an e-mail address
• Use multiple e-mail addresses
• Content filtering strategy
• Require software that identifies content elements that indicate if message is
(or is not) spam
E-Commerce: The Second Wave, Fifth
45
Annual Edition
Solutions to the Spam Problem (Continued)
• Content-filtering techniques
• Black list spam filter
• Looks for known spammer From addresses in incoming
messages
• White list spam filter
• Examines From addresses and compares them to list of known
good sender addresses
• Challenge-response
• Compares all incoming messages to a white list
E-Commerce: The Second Wave, Fifth
46
Annual Edition
Telnet and FTP Utilities
• Telnet
• Program that allows users to log on to a computer connected to the Internet
• Telnet protocol
• Set of rules used by Telnet programs
• File Transfer Protocol (FTP)
• Defines formats used to transfer files between TCP/IP-connected computers
E-Commerce: The Second Wave, Fifth
47
Annual Edition
Apache HTTP Server
• Ongoing group software development effort
• Dominated Web since 1996 because it is free and performs efficiently
• Apache
• Developed by Rob McCool at University of Illinois in1994 at the NCSA
• Currently available on the Web at no cost as open-source software
E-Commerce: The Second Wave, Fifth
48
Annual Edition
Microsoft Internet Information Server
• Comes bundled with current versions of Microsoft Windows Server
operating systems
• Used on many corporate intranets
• Supports the use of
• ASP
• ActiveX Data Objects
• SQL database queries
E-Commerce: The Second Wave, Fifth
49
Annual Edition
Sun Java System Web Server
(Sun ONE, iPlanet, Netscape)
• Descendant of original NCSA Web server program
• Formerly sold under the names
• Sun ONE
• Netscape Enterprise Serve
• iPlanet Enterprise Server
• Charges a $1500-per-CPU licensing fee
E-Commerce: The Second Wave, Fifth
50
Annual Edition
Web Site and Internet Utility Programs
• Finger
• Runs on UNIX operating systems
• Allows users to obtain information about other network users
• Command yields list of users who are logged on to network
• Ping (Packet Internet Groper)
• Tests connectivity between two computers connected to the Internet
E-Commerce: The Second Wave, Fifth
51
Annual Edition
Tracert and Other Route-Tracing Programs
• Tracert (TRACE RouTe)
• Sends data packets to every computer on the path
between one computer and another
• Clocks packets’ roundtrip times
• Calculate and display number of hops between
computers
• Calculate time it takes to traverse entire one-way path
between machines
E-Commerce: The Second Wave, Fifth
52
Annual Edition
Tracing a Path Between Two Computers on
the Internet
E-Commerce: The Second Wave, Fifth
53
Annual Edition
Electronic Mail
• Useful feature
• Attachments
• Drawbacks
• Time spent by business people responding to e-mail
• Computer virus
• Program that attaches itself to another program
• Can cause damage when host program is activated
E-Commerce: The Second Wave, Fifth
54
Annual Edition
Unsolicited Commercial E-Mail
(UCE, Spam)
• Electronic junk mail that can include
• Solicitations, advertisements, or e-mail chain letters
• Can consume large amounts of Internet capacity
• Companies
• Now offer software to limit amount of spam
E-Commerce: The Second Wave, Fifth
55
Annual Edition
Growth of Spam as a Proportion of all
Business E-mail
E-Commerce: The Second Wave, Fifth
56
Annual Edition
Solutions to the Spam Problem
• Reduce likelihood that a spammer can automatically generate e-mail
addresses
• Control exposure of an e-mail address
• Use multiple e-mail addresses
• Content filtering strategy
• Require software that identifies content elements that indicate if message is
(or is not) spam
E-Commerce: The Second Wave, Fifth
57
Annual Edition
Solutions to the Spam Problem (Continued)
• Content-filtering techniques
• Black list spam filter
• Looks for known spammer From addresses in incoming
messages
• White list spam filter
• Examines From addresses and compares them to list of known
good sender addresses
• Challenge-response
• Compares all incoming messages to a white list
E-Commerce: The Second Wave, Fifth
58
Annual Edition
Telnet and FTP Utilities
• Telnet
• Program that allows users to log on to a computer connected to the Internet
• Telnet protocol
• Set of rules used by Telnet programs
• File Transfer Protocol (FTP)
• Defines formats used to transfer files between TCP/IP-connected computers
E-Commerce: The Second Wave, Fifth
59
Annual Edition
Link-Checking Utilities
• Link checker
• Examines each Web page and reports on URLs that are
• Broken, seem broken, or are in some way incorrect
• Orphan file
• File on Web site not linked to any Page
• Dead link
• When clicked, displays error message rather than a
Web page
E-Commerce: The Second Wave, Fifth
60
Annual Edition
Watchfire Link Report
E-Commerce: The Second Wave, Fifth
61
Annual Edition
Remote Server Administration
• Web site administrator can control Web site from
any Internet-connected computer
• NetMechanic
• Offers variety of link-checking, HTML troubleshooting,
site-monitoring, and other programs
E-Commerce: The Second Wave, Fifth
62
Annual Edition
Web Server Hardware
• Web server computers
• More memory, larger hard disk drives, and faster
processors
• Blade servers
• Placing small server computers on a single computer board,
then installing boards into a rack-mounted frame
• Virtual server (virtual host)
• Maintains more than one server on one machine
E-Commerce: The Second Wave, Fifth
63
Annual Edition
Web Server Performance Evaluation
• Benchmarking
• Testing used to compare the performance of hardware and software
• Throughput
• Number of HTTP requests that hardware and software combination can
process in a unit of time
• Response time
• Time required by server to process one request
E-Commerce: The Second Wave, Fifth
64
Annual Edition
Web Server Hardware Architectures
• Server farms
• Large collections of servers
• Centralized architecture
• Uses a few very large and fast computers
• Distributed/decentralized architecture
• Uses large number of less powerful computers
• Divides the workload among them
E-Commerce: The Second Wave, Fifth
65
Annual Edition
Load-Balancing Systems
• Load-balancing switch
• Piece of network hardware that monitors the
workloads of servers attached to it
• Assigns incoming Web traffic to server that has the
most available capacity at that instant in time
E-Commerce: The Second Wave, Fifth
66
Annual Edition
A Load-Balancing System in a Decentralized
Architecture
E-Commerce: The Second Wave, Fifth
67
Annual Edition
Complex Load Balancing
E-Commerce: The Second Wave, Fifth
68
Annual Edition
Functional Roles
• Data Storage
• Application Host
• GeoProcessing
• Spatial Data Management
• Website Host
• E-mail