An Introduction to WWW Technology

viraginitysplashInternet και Εφαρμογές Web

10 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

73 εμφανίσεις

1

An Introduction to WWW
Technology

Yelena Yesha

Olga Streltchenko

2

Presentation Overview


The Internet


Client/Server Architecture


World Wide Web


HTML, URLs, HTTP


Downloaded and Mobile Code


CGI


Scripting languages (JavaScript/JScript,
VBScript)

3

Presentation Overview (cont'd)


Java


Java Applets


Java Servlets


Microsoft Active Platform (ASP, ActiveX)


Java Server Pages


Thin Clients


Application Servers


XML

4

The Internet



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,
ftp, etc.;


The set of services can be extended.


ISP


Provides connection to individual users and organizations
enabling them to access services via the Internet;


Provides local services, like Web hosting.

5

Intranets


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
router;


Employ

firewalls
to prevent

unauthorized
access from outside;


Go beyond password protection by disabling an entire
class of services (
ftp
,
telnet
) for all but specified IP
address. Passwords are still required.


6

Intranets (cont

d)


Linked together by backbones.


Backbone


A network link with a high transmission capacity,
employing fibre optics and other high
-
bandwidth
circuits.

7

Client/Server Architecture


The terms “Client” and “Server” can be
applied to both computer programs and to
machines.


Server provides services like receiving and
executing instructions, sending results.
s
灲p捥獳敳s 橥捴s



Server runs continuously, waiting for clients


requests.
s
灲p捥獳敳s 橥捴s

8

Typical Client: Web Browser


Displays files for reading


Downloads as needed


Sends requests (filenames) and processes
responses (file contents)

9

Typical Server: Web Server


Listens for and fulfils requests from Web
browsers


Basic activities:


receive simple URL specifying an HTML file;


locate the file locally;


return to requesting browser.

10

World Wide Web


WWW

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.

11

HTML


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
user.


The set of markups (tags) is fixed.

12

HTML Tags


Tags come either singly or in pairs:


<HR>


<TAG>Some text here</TAG> (Tags are case
insensitive)

13

Physical Markup Tags


They change the physical appearance of the
text directly
--

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


Font styles


<B> Bold </B>


<I> Italics </I>


<U> Underlined </U>


<TT> are in Typewriter font </TT>

14

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
appearance.


<EM> Emphasized </EM> :
Emphasized



<STRONG> Strong </STRONG> :
Strong



<CODE> some code </CODE> : some code


<CITE> citation </CITE> :
This is a citation

15

Document Structure


Document Structure


<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

16

Example


<HTML>



<HEAD>



<TITLE> Title of Page </TITLE>



The Header of the document.



</HEAD>



<BODY>



The Main body of the document



</BODY>


</HTML>


17

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
Relative:


<A HREF =
"http://www.cs.umbc.edu/~streltch/myfile.html

> This
is a relative reference </A>



or
Absolute

reference:
<IMG SRC=“picture.gif" ALIGN=LEFT>


right, middle, top, bottom

18

Linking WWW Pages (cont’d)


Good design practice is to use absolute
referencing.


This enables portability of the entire site.

19

URLs


Uniform Resource Locator.


Identifies a resource in such a way as to
enable the browser to locate the resource
on
the Internet
.


Has two top
-
level components:
scheme:scheme
-
specific
-
location


Scheme
declares which type of URL it is:


mailto, ftp, http, nntp, telnet.


Only schemes sanctioned by W3C.


20

URLs (cont

d)



HTTP URLs:
http://servername[:port][/pathNameOnServer][/arguments]


Domain Name Service (DNS) name;


Optional path name of the server resource;


Arguments, like query to a search engine.


Pathname conventions:


~streltch

refers to subdirectory
public_html

of
user streltch

s home directory;


A pathname that end in a directory name rather
than a simple file refers to a file
index.html

in this
directory.

21

URIs


Uniform Resource Identifier.


URLs are a subset of URIs.


URIs can take
any
access method (schemes),
i.e. not necessarily established


Can define your own access method:

Mysecrets:mysecrets_location
.

22

HTTP



HyperText Transfer Protocol.


Request
-
reply protocol.


main method of transfer used by Web protocols to
transfer data between a server and client.


understands URLs.


intended for hypertext/hypermedia environments.


Stateless


Cookies

later.

23

HTTP Cookies


HTTP designed to be stateless


Web sites want to save client associated session
information


Solution:
cookies


small amounts of data save by the Web server and
retrieved later from the client system;


normally used by CGI and related server
-
side code.

24

HTTP Cookies (cont

d)


Managed by Web browsers, normally stored in
database or one or more files.


Implemented via 2 new HTTP headers: Cookie
and Set
-
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
site.

25

The Common Gateway
Interface : CGI


Static
pages


same each time visited unless the file is modified on the
server.


Many WWW sites are
dynamic
, i.e., the contents
change each time we visit.


Need to search, fill out questionnaires, order things
from catalogs.


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


26

CGI (cont

d)


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
provides.


Produce content of the required type


Usually HTML text.

27

Downloaded code


Web design requires service
-
related code to
run inside the browser


at the user

s computer.


Solution:
Scripting


added to HTML documents;


expands static HTML to include client
-
side
interactivity;


inserted into HTML document using script
language tag.


28

Mobile Code


Downloaded code is a subset of mobile code.


Code that can be sent from one computer to
another;


e.g., Java applets.


The advantage of running downloaded code is
network delay avoidance during interactions.


Potential security threat to the local resources.

29

Scripting Languages:
JavaScript


A scripting language developed by Netscape to
enable Web authors to design interactive sites.


Developed
independently

from Java.


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.

30

Scripting Languages: VBScript


Microsoft proprietary scripting language


operations identical to JavaScript/JScript;


syntax familiar to Visual Basic users;


grew out of Visual Basic.


Visual Basic is component
-
based:


a program is built by placing components
onto a form;


then using VB to link them together.

31

Scripting Languages: VBScript
(cont'd)


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
security


VBScript has no functions that interact with the host
file system.

32

Scripting languages and Java


A script
-
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.


JavaScript/JScript has limited functionality;


increasingly a thing of the past;


Wide divergence between Netscape and Microsoft
standards;


While Java has become uniform and stable.



Solution:
Java applet


small, platform
-
independent programs that run
within the context of a browser

s HTML document.;


add dynamic information to the static document.

33

Java


A high
-
level programming language developed
by Sun Microsystems.


Java is an object
-
oriented language.


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.

34

Java (cont'd)


Compiled Java code can run on most
computers .


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
-
in
-
time compiler (JIT).

35

Java Virtual Machine (JVM)



An abstract computing machine.



JVM is a platform
-
independent programming
language that converts Java bytecode into
machine language and executes it.

36

JVM (cont'd)


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.

37

Java for WWW


Java applets have a number of features that
make them well suited for use on the World Wide
Web.


Java applets


small Java applications that can be downloaded from a
Web server and run on the user's computer by a Java
-
compatible Web browser.

38

Java applets


Stored on server, downloaded by web client
using HTTP.


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.


39

Java Servlets


An applet that runs on a server


runs within a Web server environment.;


analogous to a Java applet that runs within a Web
browser environment.


Java servlets are becoming increasingly
popular as an alternative to CGI programs.

40

Java Servlets vs CGI


A Java applet is persistent;


once it is started, it stays in memory and can fulfill
multiple requests.


A CGI program disappears once it has fulfilled
a request.


The persistence of Java applets makes them
faster


Don’t need to initiate a new process for each
request.

41

The Microsoft Active Platform


Standard
-
based software architecture for
developing Internet applications;


‘open’, according to MS.


Tools:


HTML;


Scripting (JScript, VBScript);


Components (Java or ActiveX).


On the client machine:
Active Desktop
.


On the Web server:
Active Server
.

42

The Microsoft Active Platform
(cont’d)


Encompasses related technologies:


Object Linking and Embedding (OLE);


Component Object Model (COM);


Distributed COM (DCOM);


Windows Distributed interNet Application
Architecture (Windows DNA);


Active Desktop;


Active Server.

43

OLE


Clipboard metaphor for sharing data across
applications.


Dynamic Data Exchange (DDE) protocol as an
extension of the Clipboard functionality.


Slow and unreliable.


OLE replaced DDE.


Object
-
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,
etc.;


When linked appear to be within the client application;


When clicked on, starts the application that created it.

44

COM


Developed to provide seamless object integration.


Allows functional components that provide specific
services to be created and plugged from one application
into another;


Component objects
idea.


Component Object Model is an object
-
based model
consisting of


Specs that define the interface between objects within a
system;


Inplementation (packeged as DDL
-

Dynamic Linked Library).

45

COM (cont’d)


Establishes a connection between a client
application and an object and its associated
services.


Provides a standard method for


finding and installing objects;


communication between the client and the
component.


Provides a binary interoperability standard.


46

DCOM


Provides a distributed component
-
based
computing environment


Implements location transparency for the
client.


Replaces interprocess communication
between the client and the component
with an appropriate network protocol.

47

Windows DNA


An upward
-
compatible extension of COM.


Integration of PC and the Internet.


Defines a common set of services


Components;


Scripting;


Transactions;


Message queuing;


Security;


Directory and system management;


User interface;


DB and data access.

48

Active Desktop and Active
Server


Active desktop=operating system
-
independent client


Part of Internet Explorer;


but can be componentized, i.e. integrated within other
client applications.


Active server is based on open standards and
protocols


Provides a way to integrate the Web and legacy
applications.


Includes several core components


Active Server Pages;


Active Data Objects (discussed later in course);


others.

49

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
the browser.


Provide CGI functionality, but


enable Visual Basic programmers to work with
familiar tools.


Run in
-
process with the server, multi
-
threaded


Don’t need to initiate a new process for every request.

50

Java Server Pages


An extension to the Java servlet technology



a server
-
side technology;


not restricted to any specific platform or
server;


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
elements


the actual design and display of the page.

51

Thin Client


A client designed to be especially small so that
the bulk of the data processing occurs on the
server.


Industry divide



A group led by Netscape and Sun Microsystems
advocating Java
-
based thin clients running on
network computers.



Microsoft and Intel are pushing ever
-
larger
applications running locally on desktop computers.

52

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
architectures.


A
thin client

is a network computer without a hard
disk drive, whereas a fat client includes a disk drive.

53

Application Servers


A program run on a mid
-
sized machine that
handles all application operations between
browser
-
based computers and a company's
back
-
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.

54

Typical Application Server:
ColdFusion


ColdFusion


A product created by Allaire Corporation of
Cambridge, Mass.


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
.

55

ColdFusion (cont'd)



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.

56

Extensible Markup Language
(XML)


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
price
?



Coming soon: Semantic Web (discussed later in
course).