COS 125 day 5

Download Report

Transcript COS 125 day 5

COS 125
DAY 5
Agenda


Questions from last Class??
Assignment one graded


Assignment #2 posted



Suggestion is to create a web page os some sort
Quiz #1 on Feb 12



Due Feb 15
We will discuss later in class
Capstone proposals due Feb 15


8 A’s, 1 B, and 1 MIA
20 M/C, 4 Short essays, One extra Credit
Chap 1-26
Today’s Topic

Using the World Wide Web
How Web Pages Work
Pages “live” on the World Wide Web
 Connected to each other using Hypertext
 Pages are written in HTML
 Works on Client/server model

Web Site Structure
First page is called the Home Page
 Other pages are organized in one of
three possible types

Tree
 Linear
 random

Tree structure
Home page
page
page
page
page
page
page
page
page
page
page
page
page
Linear Structure
Home Page
Page
Page
Page
Page
Page
Random Structure
Home Page
Page
Page
Page
Page
Page
Page
Page
Page
How Web Browsers Work

Web Browsers interpret and display web
pages
HTML
 DHTML
 XML
 Scripts
 Applications and programs

Helper apps
 Plug-ins

Web Browsers

Two most popular and competitive
browsers
Internet Explorer
 Netscape Navigator




Dead as of Feb 1, 2008  RIP
Both have very similar features
New entries
Firefox
 Opera

Web Codes

Successful Transactions





Redirection Transactions




200 The request was fulfilled.
201 The POST request was completed successfully.
202 Request accepted for processing of unknown type. Rare.
203 Request partially fulfilled.
301 The requested resource has been permanently moved to a new URL. Usually accompanied by
Location: newURL which automatically connects to the new URL.
302 Requested resource found, but at a different URL. You'll get a 302 Redirection if you omit the
trailing slash when pointing at a directory (sometimes called a malformed request).
304 Unmodified data not returned in response to a GET request with the If-Modified-Since field. Occurs
when a browser requests data found in cache.
Error Messages







400 Error in request syntax.
401 Request requires an Authorization: field, and the client did not provide one. This response is
accompanied by a list of acceptable authorization schemes use WWW-Authenticate response headers.
Error 401 can be part of a client/server dialogue to negotiate encryption and user authentication
schemes.
402 The requested operation costs money, and the client did not specify a valid Chargeto field.
403 Request for forbidden resource denied.
404 Requested resource not found.
500 The server has encountered an internal error and cannot continue processing your request.
501 Request okay but denied because server doesn't support transaction method.
How Markup Languages Work

Markup languages contain two things


Content
Instructions on how to format content (tags)

Markup languages are NOT programming
languages
 3 types of markup languages exist on the
WWW



HTML and xHTML
DHTML
XML
HTML and xHTML
Uses <tags>content</tags>
 Latest version is HTML 4.01



Full specification available at
http://www.w3.org/TR/html4/
HTML can be written with any text editor
but specialized HTML editors have been
developed

We will be using Macromedia Dreamweaver
2004 in this class
Example HTMLs
Block Level Tags
 Text Formatting
 Using Images
 Tables
 Frames
 More examples


http://perleybrook.umfk.maine.edu/samples/
DHTML

DHTML is Dynamic HTML



Allows changes to the HTML “on the fly”
Great for animation and special effects
Uses 3 Technologies

Document Object Model (DOM)


Cascading Style Sheets (CSS)


tracks every object and element on a web pages
Formatting and style information for a web pages
Client-Side Scripting

Provide access to DOM and CSS to change them
Example DHTML

Lots of examples available on the web

W3Schools.com


JavaScript Workshop


http://www.w3schools.com/dhtml/dhtml_examples.asp
http://www.jsworkshop.com/dhtmlexamples.html
Game written by COS 381 students

http://perleybrook.umfk.maine.edu/classes/cos381/jumble
1.htm
How XML works

Allows the creation of new markup
languages
Make your own tags that have special
meaning for a group of people
 There is no presentation information in an
XML document
 Example XML
http://perleybrook.umfk.maine.edu/SourceC
ode/w4code7/xslplane.xml

How XML works

XML languages are defined in

Data Type Definitions


Schemas


http://perleybrook.umfk.maine.edu/SourceCode/w4code7/planes.
dtd
http://perleybrook.umfk.maine.edu/SourceCode/w4code7/planes.
xsd
XML pages are formatted with


CSS

http://perleybrook.umfk.maine.edu/samples/text/planescss.xml

http://perleybrook.umfk.maine.edu/samples/text/planes.css
XLST
 http://perleybrook.umfk.maine.edu/samples/text/xslplane.xml
 http://perleybrook.umfk.maine.edu/samples/text/xslplane.xsl
How XML works
DTD
Document Type
Definations
XML
Schemas
XML
Document
XSLT
Style Sheets
CSS
Browser
Display
Future of XML

XML is the lingua franca for Net Services,
Microsoft’s .NET, Oracle, and many other
Internet based distributed architectures.
 All of HTML can be done in XML and has been
in xHTML
 XML resources



www.xml.com
www.xml.org
http://www.w3.org/XML/
How AJAX works

Asynchronous JavaScript and XML



Combines 5 technologies






XHTML
JavaScript
DOM (DHTML)
CSS
XMLHTTPRequest
Allows parts of the page to be update without affecting the entire
page



Not a new standard but a new “way”
A Google innovation http://maps.google.com/
Does not require a page refresh or reload
Prompts greater user interactivity with the web page
Tutorial

http://www.w3schools.com/ajax/default.asp
http://www.javareference.com/jrexamples/viewexample.jsp?id=111
Hypertext
How Hypertext works

Hypertext is text which is not constrained to be linear.
 Hypertext is text which contains links to other texts.
 HyperMedia is a term used for hypertext which is not
constrained to be text: it can include graphics, video
and sound , for example.
 Hypertext and HyperMedia are concepts, not products.
 Hypertext works with hyperlinks


Word, Icon or Graphic
Hypertext is embedded in WebPages using HTML
 Examples of embedded hyperlinks
Short History of Hypertext
From the book Multimedia and Hypertext: The Internet and Beyond

















1945 Vannevar Bush proposes Memex
1965 Ted Nelson coins the word "hypertext“
1967 The Hypertext Editing System and FRESS, Brown University, Andy van Dam
1968 Doug Engelbart demo of NLS system at FJCC
1975 ZOG (now KMS): CMU
1978 Aspen Movie Map, first hypermedia videodisk, Andy Lippman, MIT Architecture Machine Group
(now Media Lab)
1984 Filevision from Telos; limited hypermedia database widely available for the Macintosh
1985 Symbolics Document Examiner, Janet Walker
1985 Intermedia, Brown University, Norman Meyrowitz
1986 OWL introduces Guide, first widely available hypertext
1987 Apple introduces HyperCard, Bill Atkinson
1987 Hypertext'87 first major conference on hypertext
1991 World Wide Web at CERN becomes first global hypertext, Tim Berners-Lee
1992 New York Times Book Review cover story on hypertext fiction
1993 Mosaic anointed Internet killer app, National Center for Supercomputing Applications
1993 A Hard Day's Night becomes the first full-length feature film in hypermedia
1993 Hypermedia encyclopedias sell more copies than print encyclopedias
How URLs work

A URL is a unique identifier for a
resource on the WWW


Like a address
Example

http://perleybrook.umfk.maine.edu/logo/logo_files/frame.htm

Translation: go to the server perleybrook.umfk.maine.edu and
get the hypertext file “frame.htm” that is in the “logo/logo_files”
directory using the protocol “http”
Image Maps

An Image map is an image with regions that
link to different destinations
 Two types

Client Side Image Maps




Faster
Most common
Users can see the HTML that creates the map and the
possible destinations
Server Side Image Maps

Require a special program (CGI) running on the server


Requires programming skills
Hides the destinations from “View Source”
Creating an Image Map

First divide the image into regions

Circles


Rectangles


Center and radius
Top Left X and Y and Bottom right X and Y
Polygons

X and Y for each vertex of the Polygon
Finding regions
Link to www.bluesky.com
Link to www.montana.com
Link to www.harleydavidson.com
What is a form?

A form is a way to actively collect or display
information to or from a web site to a user
 What can you do with forms?






Get feedback
Have a guestbook
Take a survey
See who’s visiting you
Sell stuff
And much more!
Form example
http://perleybrook.umfk.maine.edu/samples/Black Jack.htm
Form Example
What is a form?

Two basic parts

Structure or shell





Fields
Labels
Buttons
Graphic User Interface (GUI) components
Scripts to process information collected



CGI
JavaScript
ASP
About CGI Scripts

A script is a program written in a scripting
language




Perl
VBscript
JavaScript
Script runs on Web Server through a Interface





Requires Web Server administrator
Common Gateway Interface CGI
ASP engine
.NET framework
JavaScript interpreter
How Web Servers Work

The most basic function that a webserver does is to deliver
requested files over the network

http://www.serverwatch.com/tutorials/article.php/10825_1407961_1
Downloading a Complex Webpage with
Two Graphics Files
HTML Document
Browser
Client PC
Webserver
Application
Webserver
As
Displayed
2
Graphics
Files
Webpage Consists of Three Files
Rendered as a Single Page On-Screen
Downloading a Complex Webpage with
Two Graphics Files
HTML Document
HTML Document
Browser
Client PC
As
Displayed
Webserver
Application
2
Graphics
Files
Webserver
Download Requires 3
HTTP Request-Response Cycles;
Downloads HTML Page First
It has Tags to Identify Other Files
Downloading a Complex Webpage with
Two Graphics Files
Browser
Client PC
As
Displayed
Webserver
Application
2
Graphics
Files
Webserver
Based on Tags in HTML Document,
Browser Requests Downloads of
Remaining Graphics or Other Files
Browser Renders Combined Webpage on Screen
Downloading a Complex Webpage
with Two Graphics Files

Quiz: Your browser downloads a
webpage with three graphics images, a
sound sequence, and a Java applet.
How many files will your browser have to
download?
How Web Servers Works

Web Servers may also run special program
called CGI applications
 CGI applications are often used to process
data from forms
How web servers work

In order to increase functionality most
web servers also do the following
Provide a management interface to manage
files, directories and virtual directories
 Provide a security and authentication
mechanism
 Provide logging
 Provide statistics

How web servers work
How Web sites work with databases

Most large web sites are actually
database driven
my.yahoo.com
 my.msn.com


Used for
Gathering information from users
 Displaying information to users
 Personalization of web pages

CGI and Databases
Example:
http://www.umfk.maine.edu/offices/bio.cfm?recordID=40
3-Tier Architecture
Client PC
with
Browser
1.
Form
Webserver
Application
2.
Server
Data
Mainframe
Server of
External Company
Database
Server
How .NET and Web Services Work

Allows computers on the internet to use
applications and services on other computers
connected to the internet
 How it works

First you find a service you may need

For example




Finding Zip Codes
Calculating Tax Rates
Finding and comparing prices
Use UDDI to find the web service and WSDL to figure how
it works


UDDI --Universal Description, Discovery amd Integration
WSDL -- Web Services Description Language
Universal Description, Discovery, and
Integration (UDDI) Server for Web Services
UDDI Functions:
Client PC
2.
Web Service Interaction
1.
UDDI
Request for
Information,
Response
UDDI Server
Server with
Web Service
Interaction Between
UDDI Servers
to Fulfill a Request
White Pages
By name
Yellow Pages
By type
Green Pages
Details of how
to use,
payment, etc.
UDDI Server
Web Service Description Language
(WSDL)

Protocol for asking a corporate
webserver about the company’s
SOAP-compliant services
Client PC
WSDL
Request-Response Cycle
Corporate
Webserver
How Web Services Work

Now that you have found the service and
figured out how to use it
Send a SOAP (Simple Object Access
Protocol) message using XML to interact
with the Web Service
 Example on following slide show a SOAP
request for a price of a product

Web Service
Web Service
HTTP Request
Client PC
SOAPCapable
Browser
HTTP Response
SOAP Message
Using XML Syntax
Web
Service
Webserver
-Interface
Properties
Methods
Simple SOAP Request and
Response

Simple Object Access Protocol (SOAP)
 Carried in HTTP request or response message
 Formatted using XML Syntax

Similar to HTML syntax but
the sender and receiver can
create new tags that
they can then use in
transactions, such as
<price>$33</price>
HTTP Header
SOAP
Body
Simple SOAP Request and
Response

Situation


There is a pricing object that returns the price if
another object sends the part number, quantity, and
shipping type (rush, etc.) on an interface
Objects can be on different computers
Request
(PartNum, Quantity, ShippingType)
Sending
Object
Pricing
Object
Response
(Price)
Simple SOAP Request and
Response

SOAP Request Message
HTTP Request Header pointing to program
<?xml version=“1.0”>
<BODY>
<QuotePrice xmlns=“QuoteInterface”>
<PartNum>QA78d</PartNum>
<Quantity>47</Quantity>
<ShippingType>Rush</ShippingType>
</QuotePrice>
</BODY>
Note: xmlns specifies an XML namespace for the object
..defines a XML schema
Figure 11.14: Simple SOAP Request
and Response

SOAP Response Message
HTTP Response Header
<?xml version=“1.0”>
<BODY>
<QuotePrice xmlns=“QuoteInterface”>
<Price>$750.33</Price>
</QuotePrice>
</BODY>
Microsoft .NET

http://www.microsoft.com/net/basics.mspx
Perspective on Web Services

Benefits of Web Services



Offers a way to standardize interactions between
objects over the Internet
Can make distributed computing far simpler once
Web services standards are fully developed
Concerns



High overhead (very chatty)
Standards immaturity
Security is embryonic
How Grid Computing Works
Using many (>100 and more like 10000)
ordinary computers connected together
over a network to perform a single task
or a series of related tasks
 Examples

Seti@home
 Beowulf
 Factoring large numbers

Seti@home
Largest number ever factored
How FTP works

Used to transfer files over the Internet

Needed

Client software




Can use Internet Browsers
Username/Password
FTP site
We will be using FTP in this class to place web
page assignments on the web server

Common practice
Ftp using Windows Explorer

In address bar

ftp://perleybrook.umfk.maine.edu

Login with the same info as you login in to
these computers
 Select COS 125 folder
 Select the folder with your first name
 Moving files



Drag and drop files
Use menu edit copy/paste
Click on file and right mouse for context menu
Assignment #2
Your first web page!
 Due Feb 15
 Using Microsoft Word
 Assignment 2

Microsoft Word

Can automatically create web pages

Problems
“bloat” code
 Proprietary code

Good for quick jobs
 Bad for anything that has to be maintained
over time

Microsoft Word as a Web Page
Design Tool
Select “new” from file menu
 Select “blank web page”
 Type out web page
 Add graphics
 Save as “Web Page (*htm;*html)”
 If you use graphics, Word will create a
folder with the graphic files


http://www.pickens.k12.sc.us/Pickens.ms/word_course
.htm
COS 125 Web Site

http://perleybrook.umfk.maine.edu/classes/cos125/