An Introduction to WWW
World Wide Web
HTML, URLs, HTTP
Downloaded and Mobile Code
Presentation Overview (cont'd)
Microsoft Active Platform (ASP, ActiveX)
Java Server Pages
The Internet is a vast interconnected collection of
computer networks of many different types.
Large distributed system;
Enables user to employ services like World Wide Web, Email,
The set of services can be extended.
Provides connection to individual users and organizations
enabling them to access services via the Internet;
Provides local services, like Web hosting.
A portion of the Internet that is separately
administered and has a boundary that can be
configured to enforce local security policies;
Connected to the rest of the Internet via a
access from outside;
Go beyond password protection by disabling an entire
class of services (
) for all but specified IP
address. Passwords are still required.
Linked together by backbones.
A network link with a high transmission capacity,
employing fibre optics and other high
The terms “Client” and “Server” can be
applied to both computer programs and to
Server provides services like receiving and
executing instructions, sending results.
Server runs continuously, waiting for clients
Typical Client: Web Browser
Displays files for reading
Downloads as needed
Sends requests (filenames) and processes
responses (file contents)
Typical Server: Web Server
Listens for and fulfils requests from Web
receive simple URL specifying an HTML file;
locate the file locally;
return to requesting browser.
World Wide Web
is an application of the Internet.
Evolving system for publishing and accessing
resources and services across the Internet.
Open system: can be extended and implemented in
new ways without disturbing its existing functionality;
Moved beyond simple data resources to encompass
services, like electronic purchasing of goods.
HyperText Markup Language.
Used to specify the text and images that make
up the contents of a web page, and to specify
how they are formatted for presentation to the
The set of markups (tags) is fixed.
Tags come either singly or in pairs:
<TAG>Some text here</TAG> (Tags are case
Physical Markup Tags
They change the physical appearance of the
the WWW browser has no
influence over the typeface used,
Section titles/headers; use H1 through H6 tags:
<H1>Big and Bold Header</H1>
<H2>Slightly Smaller Header</H2>
Also, H3, H4, H5 and H6
<B> Bold </B>
<I> Italics </I>
<U> Underlined </U>
<TT> are in Typewriter font </TT>
Logical Markup Tags
They give a specific reason for changing the
appearance of text
it is up to the browser to
decide in what fashion to change the
<EM> Emphasized </EM> :
<STRONG> Strong </STRONG> :
<CODE> some code </CODE> : some code
<CITE> citation </CITE> :
This is a citation
<HTML> This surrounds the entire document and
lets the browser know what language is being
used (<SGML> might also be used)
<HEAD> This surrounds the header portion of the
document. Title is within the head as well.
<TITLE> The title of the document as shown in
the title bar of the WWW browser.
<BODY> The main body of the document
<TITLE> Title of Page </TITLE>
The Header of the document.
The Main body of the document
Linking WWW Pages
HTML pages on the Web are linked to one another.
The basic tag for hypertext is called the Anchor
Anchors can be
the starting point for a link: a name proceeded by a #;
the destination (path) of a link.
A URL is placed in the HREF portion of the Anchor tag
The HREF can be either a
<A HREF =
is a relative reference </A>
<IMG SRC=“picture.gif" ALIGN=LEFT>
right, middle, top, bottom
Linking WWW Pages (cont’d)
Good design practice is to use absolute
This enables portability of the entire site.
Uniform Resource Locator.
Identifies a resource in such a way as to
enable the browser to locate the resource
Has two top
declares which type of URL it is:
mailto, ftp, http, nntp, telnet.
Only schemes sanctioned by W3C.
Domain Name Service (DNS) name;
Optional path name of the server resource;
Arguments, like query to a search engine.
refers to subdirectory
s home directory;
A pathname that end in a directory name rather
than a simple file refers to a file
Uniform Resource Identifier.
URLs are a subset of URIs.
URIs can take
access method (schemes),
i.e. not necessarily established
Can define your own access method:
HyperText Transfer Protocol.
main method of transfer used by Web protocols to
transfer data between a server and client.
intended for hypertext/hypermedia environments.
HTTP designed to be stateless
Web sites want to save client associated session
small amounts of data save by the Web server and
retrieved later from the client system;
normally used by CGI and related server
HTTP Cookies (cont
Managed by Web browsers, normally stored in
database or one or more files.
Implemented via 2 new HTTP headers: Cookie
Cookie transaction initiated by the server asking
the client to save a cookie.
If willing, client saves the data.
Later, browser returns data when visiting the
The Common Gateway
Interface : CGI
same each time visited unless the file is modified on the
Many WWW sites are
, i.e., the contents
change each time we visit.
Need to search, fill out questionnaires, order things
Need two pieces:
HTML language to create Forms
Common Gateway Interface (CGI) to process the forms.
CGI is a way to pass information from a WWW
browser to a program for further processing
CGI programs are run on the servers to
generate content for their clients.
Application specific functionality
E.g., DB connectivity, etc
Can parse the arguments that the client
Produce content of the required type
Usually HTML text.
Web design requires service
related code to
run inside the browser
at the user
added to HTML documents;
expands static HTML to include client
inserted into HTML document using script
Downloaded code is a subset of mobile code.
Code that can be sent from one computer to
e.g., Java applets.
The advantage of running downloaded code is
network delay avoidance during interactions.
Potential security threat to the local resources.
A scripting language developed by Netscape to
enable Web authors to design interactive sites.
Can interact with HTML source code, enabling
Web authors introduce dynamic content.
It is supported by recent browsers from
Netscape and Microsoft,
Internet Explorer supports only a subset,
which Microsoft calls JScript.
Scripting Languages: VBScript
Microsoft proprietary scripting language
syntax familiar to Visual Basic users;
grew out of Visual Basic.
Visual Basic is component
a program is built by placing components
onto a form;
then using VB to link them together.
Scripting Languages: VBScript
Visual Basic Control (VBX)
VBXs shared a commmon interface that allowed them
to be placed on a VB form.
The main difference between VB and VBScript is
VBScript has no functions that interact with the host
Scripting languages and Java
enhanced page gives immediate
feedback to the user
Use to check forms before sending them to the
server, update the web
page without reloading, etc.
increasingly a thing of the past;
Wide divergence between Netscape and Microsoft
While Java has become uniform and stable.
independent programs that run
within the context of a browser
s HTML document.;
add dynamic information to the static document.
level programming language developed
by Sun Microsystems.
Java is an object
Java source code files (files with a .java
extension) are compiled into a format called
bytecode (files with a .class extension), which
can then be executed by a Java interpreter.
Compiled Java code can run on most
Java interpreters and runtime environments=
Java Virtual Machines (VMs),
exist for most operating systems.
Bytecode can also be converted directly into
machine language instructions by a just
time compiler (JIT).
Java Virtual Machine (JVM)
An abstract computing machine.
JVM is a platform
language that converts Java bytecode into
machine language and executes it.
Mimics a real Java processor, enabling Java
bytecode to be executed as actions or
operating system calls on any processor
regardless of the operating system.
e.g., establishing a socket connection from a
workstation to a remote machine
involves an operating system call.
JVM translates the programming code so that the
two machines that may be on different platforms are
able to connect.
Java for WWW
Java applets have a number of features that
make them well suited for use on the World Wide
small Java applications that can be downloaded from a
Web server and run on the user's computer by a Java
compatible Web browser.
Stored on server, downloaded by web client
Applets need to be embedded in another
application, normally an HTML document and
run by a Java
enabled Web browser.
Applets have a restricted security context,
cannot access the client
s system, and can
talk only with the server that hosted it.
An applet that runs on a server
runs within a Web server environment.;
analogous to a Java applet that runs within a Web
Java servlets are becoming increasingly
popular as an alternative to CGI programs.
Java Servlets vs CGI
A Java applet is persistent;
once it is started, it stays in memory and can fulfill
A CGI program disappears once it has fulfilled
The persistence of Java applets makes them
Don’t need to initiate a new process for each
The Microsoft Active Platform
based software architecture for
developing Internet applications;
‘open’, according to MS.
Scripting (JScript, VBScript);
Components (Java or ActiveX).
On the client machine:
On the Web server:
The Microsoft Active Platform
Encompasses related technologies:
Object Linking and Embedding (OLE);
Component Object Model (COM);
Distributed COM (DCOM);
Windows Distributed interNet Application
Architecture (Windows DNA);
Clipboard metaphor for sharing data across
Dynamic Data Exchange (DDE) protocol as an
extension of the Clipboard functionality.
Slow and unreliable.
OLE replaced DDE.
oriented technology that enables development
of reusable software components.
OLE architecture allows application to use shared
objects that provide specific functionality.
Text docs, charts, spreadsheets, email messages, graphics,
When linked appear to be within the client application;
When clicked on, starts the application that created it.
Developed to provide seamless object integration.
Allows functional components that provide specific
services to be created and plugged from one application
Component Object Model is an object
Specs that define the interface between objects within a
Inplementation (packeged as DDL
Dynamic Linked Library).
Establishes a connection between a client
application and an object and its associated
Provides a standard method for
finding and installing objects;
communication between the client and the
Provides a binary interoperability standard.
Provides a distributed component
Implements location transparency for the
Replaces interprocess communication
between the client and the component
with an appropriate network protocol.
compatible extension of COM.
Integration of PC and the Internet.
Defines a common set of services
Directory and system management;
DB and data access.
Active Desktop and Active
Active desktop=operating system
Part of Internet Explorer;
but can be componentized, i.e. integrated within other
Active server is based on open standards and
Provides a way to integrate the Web and legacy
Includes several core components
Active Server Pages;
Active Data Objects (discussed later in course);
Active Server Pages
A specification for a dynamically created Web page
with a .ASP extension that utilizes ActiveX scripting
ActiveX=a set of scripting technologies based on
OLE and DCOM paradigms
Provides native support for VBScript or JScript.
When a browser requests an ASP page, the Web server
generates a page with HTML code and sends it back to
Provide CGI functionality, but
enable Visual Basic programmers to work with
process with the server, multi
Don’t need to initiate a new process for every request.
Java Server Pages
An extension to the Java servlet technology
not restricted to any specific platform or
developed by Sun as an alternative to
Microsoft's ASPs (Active Server Pages).
JSPs have dynamic scripting capability that
works with HTML code,
separates the page logic from the static
the actual design and display of the page.
A client designed to be especially small so that
the bulk of the data processing occurs on the
A group led by Netscape and Sun Microsystems
based thin clients running on
Microsoft and Intel are pushing ever
applications running locally on desktop computers.
Thin Client (cont'd)
The term thin client usually refers to software.
Increasingly used for computers,
such as network computers and Net PCs, that are
designed to serve as the clients for client/server
is a network computer without a hard
disk drive, whereas a fat client includes a disk drive.
A program run on a mid
sized machine that
handles all application operations between
based computers and a company's
end business applications or databases.
The application server works as a translator for
another application, e.g. a database,
allowing, for example, a customer with a
browser to search an online retailer's
database for pricing information.
Typical Application Server:
A product created by Allaire Corporation of
includes a server and a development toolset
designed to integrate databases and Web pages.
Example: a user could enter a zip code on a Web
page, and the server would query a database for
information on the nearest movie theatres and
present the results in HTML form
Cold Fusion Web pages include tags written in Cold
Fusion Markup Language (CFML) that simplify integration
with databases and avoid the use of more complex
languages like C++ to create translating programs.
Extensible Markup Language
A means for defining tags to encapsulate information.
A subset of SGML;
Provides syntactic interoperability:
Need to know the price
look inside the <price> tag.
Still lacking semantic interoperability
How do I know that you and I mean the same thing by
Coming soon: Semantic Web (discussed later in