Web Mapping Issues

Download Report

Transcript Web Mapping Issues

Web Development
• Web development never ends:
1. Find out what the stakeholders need
(sponsors, users, etc.)
2. Investigate available technology
3. Plan the project
4. Build/update the web site
5. Test functionality in all browsers
6. Release the site
7. Monitor and maintain
8. Go to 1.
Technical Issues
•
•
•
•
Keeping a web site available
Maintaining a server
Getting “hacked”
Performance problems
Bottom Line
• If your web site is not available:
– You don’t exist!
What is a web server?
• Has a “hard IP”.
– An IP address that never changes
• Runs “web server” software
– Typically IIS or Apache
• Typically:
– Is in a “rack” in a protected space that is:
• Is environmentally controlled (air conditioned)
• Has “conditioned” power (a UPS)
– Has redundant components
Maintaining a server
• You can “rent” space on a server
– DropBox offers a “Public” folder
• A server costs from $500 to $100,000
– Don’t listen to what the manufacturers tell you
what you need! Talk to other developers.
• It costs $100 to $200 per month to have
someone “host” your server.
• In theory, you could have a server at your
house but it is not recommended
Software
• Keep the server as simple as possible
– Complexity = more failures
• Limit access
• Do required updates
• There are web site that will monitor your
server and email you if it goes down
Getting Hacked
• Common Types:
– SQL Injection
– “Stealing Bandwidth”
– Web Server breach
– Uploading viruses
– Denial of server
SQL Injection
• In a query string, enter:
– “Query; DELETE FROM ‘<table>’”
– Deletes the entire contents of the table
• Can also steal info from DB
• Easy to protect from:
– Check for single quotes and replace them
with two single quotes
– Don’t allow “delete from” in a query
– Don’t allow sensitive information in your
database
Stealing Bandwidth
• Someone breaks into your server and
puts a bunch of data there. Then, they
make you their download site
• Causes a massive spike in bandwidth
which you have to pay for!
• Preventing:
– Don’t have FTP sites
– Keep web software up to date
– Make sure your ISP monitors for them
Web Server Breach
• An HTML steam that breaks your web
server and then takes over your server.
• Used to steal band width and corrupt your
server’s contents
• Preventing:
– These are rare and can only be prevented by
the web server software provider
– Keep web server software up to date
Uploading Viruses
• User’s upload a file that than runs a
program or “sleeps” until users download
it to their computer
– Allows others to get you to distributed
viruses!
• Don’t allow “scripts” to be uploaded. This
includes:
– “xls”, “doc”, “ppt” files!
Denial of Server
• A web service is written that calls your
web site over and over again to “bring it
down”.
• IIS can crash with these
• Preventing:
– Don’t attract attention
• If you do, get a lot of servers
– Block abusive users
– Education and only allow reasonable web
service calls
Reality
• Getting hacked today is rare
– Twice in last 6 years (never in last 4)
• Keep the OS and web software up to date
• Don’t let a lot of folks edit the contents of
your server
• Keep an eye on it
• Other problems (like performance) will be
bigger.
GIS Web Sites
• GIS web sites “go bad” because of:
– Poor user design
– Poor performance
• New issues:
– Scripting performance
– Database performance
– Geospatial data access
Scripting Performance
• Use a “modern” language
• Make sure there is minimal recursion
– Functions calling functions
– Scripts calling scripts
– Including files that include the same files
• Find the “bottlenecks” and fix them
• Don’t use ArcGIS (you’re not allowed to in
a server environment anyway).
Database Performance
• Don’t use MS-Access or MySQL
• Use indexes (search trees)
• Minimize string searches
– Index if needed
• Minimize hierarchical queries
• Do performance analysis on key queries
and add redundant data if needed
Geospatial Issues
•
•
•
•
Pixels .vs geographic systems
Cartesian vs. tiles
Tiled data
Transfer speeds
180
-180
90
Height
in
Pixels
-90
Width in Pixels
10,000,000 meters
UTM, Zone 10
6,600,000 meters
Pixels
Geospatial Coordinates
0,0
Positive X
Positive Y
Easting, Northing
Positive X
Negative Y
Raster Pyramids
• Problem:
– Rasters can be huge!
– The Internet is slow
• Analysis:
– Users can only view about 1000 x 1000
pixels at time
– Options:
• Large area at low resolution
• Small area at high resolution
• Solution:
Raster Pyramid
0,0
Zoom Level 0
256,256
0,0
0
Columns
1
0
Zoom Level 1
Rows
1
512,512
0,0
0
Columns
1
0
Zoom Level 1
Rows
1
512,512
0,0
0
1
Columns
0
1
Zoom Level 1
Rows
512,512
Zoom Level
Pixel Width
Num
Columns
Size (Pixels)
Num Tiles
1
256
1
65536
1
2
512
2
262144
4
3
1024
4
1048576
16
4
2048
8
4194304
64
5
4096
16
16777216
256
6
8192
32
67108864
1024
7
16384
64
268435456
4096
8
32768
128
1073741824
16384
9
65536
256
4294967296
65536
10
131072
512
17179869184
262144
11
262144
1024
68719476736
1048576
12
524288
2048
2.74878E+11
4194304
13
1048576
4096
1.09951E+12
16777216
14
2097152
8192
4.39805E+12
67108864
15
4194304
16384
1.75922E+13
268435456
16
8388608
32768
7.03687E+13
1073741824
17
1.7E+07
65536
2.81475E+14
4294967296
18
3.4E+07
131072
1.1259E+15
17179869184
19
6.7E+07
262144
4.5036E+15
68719476736
Sum:
6.0048E+15
91625968981
Vector Pyramids
• Vector data is getting later
– Millions of points
– Complex, global polygons
• Vector Pyramids are coming
– Each tile contains GeoJSON data for that tile