17
Pushing the envelope… New and innovative ways to leverage Open Source Toolkits for the ERMA portal Aaron Racicot (Z-Pulley Inc) Dane Springmeyer (DBSGeo)

Pushing the envelope… New and innovative ways to leverage Open Source Toolkits for the ERMA portal Aaron Racicot (Z-Pulley Inc) Dane Springmeyer (DBSGeo)

Embed Size (px)

Citation preview

Pushing the envelope…

New and innovative ways to leverage Open Source Toolkits

for the ERMA portal

Aaron Racicot (Z-Pulley Inc)Dane Springmeyer (DBSGeo)

Z-Pulley Inc - DBSGeo2

Architecture

Current Architecture

Z-Pulley Inc - DBSGeo3

Data Layer

Modeling/AnalysisLayer

User InterfaceLayer

USER USERUser Interface

(Custom HTML/JS and Openlayers)

Internet

Web Server (Apache/mod_perl)

???

Database (PostgreSQL/PostGIS) & File Server (Linux - Fedora)

GIS (Mapserver)

Custom Perl Module

SERV

ER

Architecture Direction

• Consolidation of Languages– Migrate to Python where it makes sense

• Integrate frameworks– GeoDjango – Authentication, REST Services, Admin– GeoExt – UI Layout, Cross Platform Support

• Increase ease of deployment– Automate with install scripts– Reduce dependencies

Z-Pulley Inc - DBSGeo4

Possible Future Architecture

Z-Pulley Inc - DBSGeo5

Data Layer

Modeling/AnalysisLayer

User InterfaceLayer

USER USERUser Interface

(GeoExt and Openlayers)

Internet

Web Server (Apache/mod_python)

Integration Framework(Python)

Database (PostgreSQL/PostGIS) & File Server (Linux - Ubuntu)

GIS (Mapserver/Mapnik)

Framework (GeoDjango)

SERV

ER

Current Short List• Shortcuts for speed

– Server/Connection speed– Faster map requests via Caching (TileCache)– Database optimization (indexing, normalization)– Avoid on-the-fly reprojection – Harmonize into common projection

• Frameworks and Libraries for:– Security

• Wrapping WMS/WFS services in authentication framework– Cross Platform Support

• Get IE support enabled– UI Layout optimization

• Increase map size• Online help

• Increased print functionality

Z-Pulley Inc - DBSGeo6

Current Long List

• Batch uploads• Search and Query capability• Enhanced Reporting• Incorporate 3rd party datasets (IOOS etc), both

WMS/WFS/WCS• Custom groups for categorizing users, AOI’s, visible

datasets, etc.• Bookmarks for quickly allowing users to scale to a

project scope in the interface

Z-Pulley Inc - DBSGeo7

Z-Pulley Inc - DBSGeo8

Speed

Z-Pulley Inc - DBSGeo9

Tile Serving with TileCacheUser Interface

(OpenLayers)

Internet

Web Server (Apache)

Database (PostgreSQL/PostGIS)

GIS (Mapserver/Mapnik)

TileCache

http://labs.metacarta.com/wms-c/tilecache.py/1.0.0/basic/5/32/23.png

Cache Miss

Disk Cache

User Interface (OpenLayers)

Internet

Web Server (Apache)

Database (PostgreSQL/PostGIS)

GIS (Mapserver/Mapnik)

TileCache

http://labs.metacarta.com/wms-c/tilecache.py/1.0.0/basic/5/32/23.png

Cache Hit

Z-Pulley Inc - DBSGeo10

Z-Pulley Inc - DBSGeo11

ProjectionsUser Interface

(OpenLayers)

Internet

Web Server (Apache)

Database (PostgreSQL/PostGIS)

GIS (Mapserver/Mapnik)

http://labs.metacarta.com/wms-c/tilecache.py/1.0.0/basic/5/32/23.png

Proj4

Proj Mismatch

User Interface (OpenLayers)

Internet

Web Server (Apache)

Database (PostgreSQL/PostGIS)

GIS (Mapserver/Mapnik)

http://labs.metacarta.com/wms-c/tilecache.py/1.0.0/basic/5/32/23.png

Proj4

Proj Match

Z-Pulley Inc - DBSGeo12

Z-Pulley Inc - DBSGeo13

Frameworks

ExtJS GeoExt

Z-Pulley Inc - DBSGeo14

Django GeoDjango

Z-Pulley Inc - DBSGeo15

Z-Pulley Inc - DBSGeo16

Rendering

Mapserver Mapnik

Z-Pulley Inc - DBSGeo17