How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File...

32
How Web Servers Work Browser Client Server Web Server HTML File Image File HTML File Image File Internet URL

Transcript of How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File...

Page 1: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

How Web Servers Work

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

Page 2: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Web Formats & Languages

• Direct Browser Support:– HTML: Web page content– JavaScript: Scripting web pages– CSS: Style sheets– Images: GIF, PNG, JPEG

• Plug-ins:– PDF: Final product distribution

• AJAX (JavaScript to Server)– XML

Page 3: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

XML-Type Languages

• Extensible Markup Language

• Single tag: <tag />

• Tag with attributes: <name attribute=‘value’ />

• Tag with content:<name>

<contentname/>

</name>

• Includes: HTML, KML, and many more

Page 4: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

HTML

• Hyper Text Markup Language<html>

<head>

<title>This is my page</title>

</head>

<body>

Some text that will appear on the page

</body>

</html>

Page 5: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Hyperlinks

<a href=‘www.google.com’>Google</a>

<a href=‘WebPage.html’>My Page</a>

<a href=‘LargeImage.png’><img src=‘SmallImage.png’>

</a>

Page 6: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Images in HTML

<img src=‘MyImage.png’>

<img border=‘0’ src=‘MyImage.png>

Page 7: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Accessibility Attributes

• DreamWeaver will ask you for attributes for those with disabilities

• Provides text that will be spoken for those with impaired vision.

• Don’t worry about this for this assignment

Page 8: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Image Maps

• Create background image in ArcGIS– Create a map that looks good on the screen– Export or Screen Capture

• Define polygonal areas as “image maps” in DreamWeaver– Circles for points– Simple polygons for polygons– Polygons for polylines?

• Good for 10 to 20 areas

Page 9: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Image Maps• <img src="planets.gif" width="145" height="126"

alt="Planets" usemap="#planetmap">

• <map name="planetmap">• <area shape="rect" coords="0,0,82,126"

href="sun.htm" alt="Sun">• <area shape="circle" coords="90,58,3"

href="mercur.htm" alt="Mercury">• <area shape="circle" coords="124,58,8"

href="venus.htm" alt="Venus">• </map>

Page 11: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Can also have…

• Paragraphs <p>

• Horizontal rules <hr>

• Tables <table><tr><td>data</td></tr></table>

• Divs (boxes) <div>

• Headings: <h1>Heading</h1>

• Text with:– Bold <b>– Italic <i>– And “Styles” with much more

Page 12: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

MacroMedia DreamWeaver

• Now part of Adobe CS

• HTML Editor

• Excellent tutorials

• Makes HTML editing similar to MS-Word

• Allows “publishing” pages to the web

• Work flow:– Edit web pages locally– Review in browser– Upload/publish to a server

Page 13: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Tips for Maps in HTML Pages

• Use a white or light background with dark or black text (easy to read). The alternative is to use a black or dark background but then the text must be light.

• Make the maps for the web: – They have to be simpler than paper maps– Text must be large enough to read– You can break up site maps, titles, and even

legends into separate images

Page 14: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Dynamic Web Sites

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Data

Scripts

Page 15: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Server-Side• Scripting Languages:

– PHP– Python

• Databases:– MySQL– PostgreSQL– SQL Server– Oracle

• Web Servers– Apache– IIS

• Operating Systems– Windows– Linux (e.g. Ubuntu)– UNIX

Page 16: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS Data

JavaScriptAJAX

Page 17: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GIS Web Servers• ArcGIS Server

– Expensive– Slow– Buggy (reboot each night)

• MapServer– Free– Moderately fast– Hard to configure

• GeoServer– Free– Client: OpenLayers– Looking pretty good

• Custom solutions– Have to assemble– Can be very fast

Page 18: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GIS Web Servers

• ArcServer Examples:– Greeley Colorado’s GIS Website

• http://gis.greeleygov.com/origin/propinfo.html

• GeoServer Examples:– National Map Viewer

• http://viewer.nationalmap.gov/viewer/

– NOAA’s ERMA• http://tinyurl.com/cafwp54

Page 19: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Problem with Performance

1. User zooms or pans the map

2. Client requests a new area from the server

3. Server renders the area to a raster file (takes a relatively long time)

4. Server returns the raster to the client

5. Back to 1

• With lots of users, the server cannot keep up!

Page 20: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Tile-Based Servers

• Topozone tiled the USGS 24k topo maps into 256x256 cells at multiple zoom levels

• GoogleMaps copied this approach with the entire world in “Google Mercator”– Now “World Mercator”

• Very fast– No rendering– Images can be cached locally (they don’t

change)

• Cannot symbolize the layers

Page 21: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

JavaScriptAJAX

Tile Server

Page 22: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GoogleMaps API

• Performance limited to about 400 points features– Example: EDDMaps.org

• Can also provide rendered “tiles” with GoogleMaps (harder)– Example: NIISS.org

Page 23: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

GIS Web Servers

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS Data

JavaScriptAJAX

Tile Server

Page 24: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Hybrid Systems

• National Institute of Invasive Species Science (www.niiss.org).

• Other sites based on International Biological Information System (ibis.colostate.edu)

Page 25: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Latest Developments

• Arcata: Online GIS Portal

• Crime Spotters– http://sanfrancisco.crimespotting.org/

• Cloud Made:– http://maps.cloudmade.com/

• Open Street Map– http://www.openstreetmap.org/

• EROS EarthExplorer– http://edcsns17.cr.usgs.gov/EarthExplorer/

Page 26: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Future Web

• Heavy Clients?– C++ based plug ins

• Arcata: Online GIS Portal

• Java Applets?

• HTML 5– “Heavy” on JavaScript

Page 27: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

“Heavy Clients”

Browser

Client Server

Web Server

HTML File

Image File

HTML File

Image File

Internet

URL

GIS Server

Database

Scripts

GIS DataPlug-in/HTML 5

Tile Server

Page 28: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

HTML 5

• New HTML Standard– <canvas>: 2D drawing– Elements for media control: <video>, <audio> – Support for local storage– Additional Elements: <article>, <footer>,

<header>, <nav>, <section>– New form controls:

• calendar, date, time, email, url, search

• No browser currently supports the entire standard

Page 29: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Minimum HTML 5 <!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Title of the document</title>

</head>

<body>

Content of the document......

</body>

</html>

Page 30: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

HTML 5 Examples

• 21 Ridiculously Impressive HTML5 Canvas Experiments– http://net.tutsplus.com/articles/web-

roundups/21-ridiculously-impressive-html5-canvas-experiments/

• GIS Cloud

• http://raphaeljs.com/australia.html

• http://www.scale18.com/canvas4.html

Page 31: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Future?

Browser

Client

Server

HTML File

Image File

HTML File

Image File

Web Server

URL

GIS Server

Data Stores

Scripts

Spatial Database

JavaScript

Tile Cache

ScriptsWeb Service

Page 32: How Web Servers Work Browser ClientServer Web Server HTML File Image File HTML File Image File Internet URL.

Creating a GIS Web Site

1. Understand and define the user needs1. Talk to the users

2. Select the technology that meets the needs with minimum complexity

3. Deliver in stages when possible

4. Use experienced people when possible

5. Web site must be intuitive or users will go elsewhere

1. Help is built in

6. Test, rework, test, rework, …