Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

1

Web Technology
Components
By Joscelyn Dias
Topics
Client-Server model architecture
Client environment
Server environment
Web Servers
Implementing / Evaluating Client and
server technologies
Client Server model
Developed for networked/distributed computing
The client program, makes a service request to
another, the server program
Each instance of the client software can send
data requests to one or more connected servers.
Servers can accept these requests, process
them, and return the requested information to
the client.
Email exchange, web access and database
access, are based on the client-server model
Internet's main application protocols, such as
HTTP, SMTP, Telnet, DNS
C-S architecture
Roles and responsibilities of a computing system
distributed among several independent computers
Separation of functions
Central processing, Business logic,
Validation
User interface; graphical, rich and heavy, customizable
Low-cost desktops
Clients of different capabilities have access
Security access and control : data, business logic code
stored on the servers.
Ease of maintenance
replace, repair, upgrade server while clients are unaware
reduces client upgrades.
C-S architecture
Traffic congestion with increase in simultaneous
client requests
Critical server failure result in zero clients
requests fulfilled.
Client/Server computing (s/w maintenance) is 8
or more times the cost of equipment
enormous distribution and maintenance problem
need constantly upgrade the client machines
installing corporate software on thousands of user
machines, or hundreds of departmental LANs
Browsers in C-S computing
Thin client in 2-tier architecture
Greatly reduced upgrade of user machines
Negligible installation (User downloadable,
easily available, self installable) software
on user machines
Assets all reside in corporate servers,
under IT control.
Updates to systems easily coordinated.
2
Web Server functions
HTTP response to the client
Usually HTML document, but also raw file, image, or other types
(MIME-types)
Logging detailed information to log files
about client requests, server responses
statistics collected by running log analyzers
Authentication and authorization request for access to
resources
HTTPS secure (encrypted) connections to the server
Virtual Hosting: Many websites one IP address
Load limits number of concurrent client connections per
IP address and TCP port (default 500-1000, usually 2-
60000)
Bandwidth throttling limits the speed of responses
not saturate the network, be able to serve more clients
A simple web application
Consider a straight HTML request
1) instructs a web browser to
2) contact a web server using the HTTP
protocol
3) ask it for a specific HTML document
4)
5) which the server returns
6) to be displayed by the web browser.
HTML
<html>
<body>
<p><b>This text is bold</b></p>
<p><big>This text is big</big></p>
<p><i>This text is italic</i></p>
<p><code>This is computer
output</code></p>
<p>This is<sub> subscript</sub>
and
<sup>superscript</sup></p>
</body>
</html>
HTML is simply a 'markup language' used to
define a logical structure rather than compute.
Level 0
First implementation in 1990 proposed by
Berners Lee and used by his colleagues for
exchanging information
Level 1
Structuring of the document (including <head>
and <body> tags) and addition of images was
carried in 1991
Level 2
Addition of the <form> tag for creating data entry
screens on web
HTML and its evoution
Level 3
Addition of the <table> tag and align attribute for
positioning of the information on web page
Level 4
Addition of <frame> and <object> tags for multi
window view and embedding sound and video
clips in web page
Level 5 : HTML became XHTML
All tags used in HTML 4 were converted to
became XML compliant
Evolution of HTML
HTML 4.0 standard
DHTML
Client Side Scripting
Some TAGS interpreted by specific browsers
Latest standard HTML 5
HTML standards
3
Client-side technologies Plug-Ins
Plugging in smaller components into the
browser rather than build bigger browsers
E.g. Real Audio, Real Video, Shockwave, and
Acrobat
Take advantage of the HTTP pipeline
Executed by the browser when needed
Encapsulated in the browser software.
Scripting : Client-side
Exposed browser API to developers
animation
accessing the bookmarks and history
event handling
mouse over effects
form field validation
spawning of event dialogs and new windows.
DHTML and DOM
Combine plain HTML, cascading style sheets, and
scripting languages
Uses Document Object Model (DOM) and Cascading
Style Sheets (CSS)
Exposes elements and GUI widgets Every element in a
document becomes a virtual widget
Style sheets are used to apply style attributes
margin, color, and size of a paragraph of text
Exposed to Scripting languages (JavaScript or VBScript)
Eg. word flash through a cycle of colors, change the colors in a
table depending on the data entered, user actions.
A simple web application
Consider a request
1) instructs a web browser to
2) contact a web server using the HTTP
protocol
3) ask it for a specified resource
4) resource generated from Datasource or
other service on server.
5) which the server returns
6) to be displayed by the web browser.
A Web Application workflow
4
Web Server functions
HTTP response to the client
Static
Dynamic
Server side technologies
Server Side
Includes
CGI Common Gateway Interface
Standard protocol
Interfaces external application software with web server.
Method of Implementing
Request identifies the executable (command) and
possibly arguments
Runs the command and return its output
Web servers have a cgi-bin directory
Location for executable files called with CGI
URL .cgi mapped corresponding to CGI program to be
executed
Data passed through environment variables
Each command creates new process
Compiling and interpreting takes more time / memory than actual
output processing
Server overloaded for large number of command calls
PHP Personal Home Page
Server-side scripting language embedded into HTML.
Designed for producing dynamic web pages.
Inputs from a file containing text and/or PHP instructions
Outputs another stream of data (HTML)
PHP4 parser compiles i/p to produce bytecode for processing
versus earlier interpreter
PHP software deployed on most web servers, many operating
systems and platforms and connects to most RDBMS
LAMP architecture for deploying Web Applications;
Linux, Apache, MySQL + PHP
Commercial
Free software under PHP License
PHP is installed on more than 20 million websites/domains, 1 million
web servers E.g.. FaceBook
PHP was recorded as the most popular Apache module
Microsofts ASP
Provides a means to specify a "tag" with
instructions that should be interpreted by
the web server.
Has a robust set of objects that you can
use to do serious programming
Ability to instantiate server side resources,
components
5
Microsofts ASP Tag
<HTML>
<HEAD>
<TITLE>Test ASP</TITLE>
</HEAD>
<BODY>
<% @Language = "VBScript" %>
<% Response.Write("Hello WWW")
%>
</BODY>
</HTML>
Servlets and JSP
Servlets allow you to embed a Java server service
through the web server.
Servlet execution would be something like
Web browser makes an HTTP request, specifying the
servlet to be used to handle the request
The web server passes off the request to the servlet. If
the servlet has not already been loaded into memory, the
web server will do so (that way future requests can be
handled immediately).
The servlet responds by sending data back to the client
via the web server.
JSPs are SSIs executed as Servlets
Application Servers
Usually in a special Server in N-tier architecture
Use hosts APIs to expose business
logic/processes
Refers to services, software frameworks and
even hardware
Includes required environment, software
implementation
Requires only a Web Browser on client
At times run-time / frameworks to be installed
Application Servers - JAVA
Based on Suns Java platform and J2EE
frameworks
Servlets and JSP
EJB (Enterprise JavaBeans) for business
logic and database transactions
J2EE application servers
Suns Java System Application Server
IMBs WebSphere Application Server
BEA-Oracle WebLogic Server
Red Hats JBoss
Application Servers - Microsoft
Based on Microsofts .NET frameworks
ADO.NET, ASP.NET
.NET application server
MS IIS ( Internet Information Services)
Selection of Server Side Technology
Main Factors
Cost
Resource Requirement
Speed of response
Development Effort
Expertise Requirements
OS Dependency
6
Server Side
Technology
Web Server OS
Hardware
Technology Selection Path Web Server Market
Developer Web Sites Hosted Percent
Apache 359,875,516 58.00%
Microsoft IIS 101,005,285 16.28%
nginx 73,243,944 11.80%
Google GWS 20,947,340 3.38%
Market Share across all domains
Software license & subscription costs.
Cost of selection of the vendor software
Developer, admin and end-user training cost
Self-support costs
Product upgrades cost
Cost of risks
Downtime costs (planned and unplanned)
SLA penalties
Operational support cost
Runtime price/performance analysis cost
Hardware and networking costs
Software license & subscription costs.
Requirements analysis and capture cost
Application design and development costs
Deployment cost
Quality, user acceptance and other testing costs
Cost of integration with other systems
Application enhancements and bug fixes cost
Removal and disposal costs
Products available for free (such as open source), or those that are a "same
cost swap out, can cost more during three- to five-year period than a first-
time commercial purchase costing thousands of dollars. To understand
operation life cycle costs, a number of key inputs are necessary to provide a
more realistic assessment of the total costs of management products.
- Gartner research note G00165072, March 2009:
Summary
Available technologies, programming languages,
standards and protocols, and tools.
No right way to solve a problem and no truly
unique technology.
Understand
Categories into which individual technologies fall
Technologies within the same categories, can be
used interchangeably
Choosing one or the other may often be more of
a bureaucratic/administrative/standards decision
than a technical one.

You might also like