47
OSGeo Web Mapping Typification: GeoMajas, Mapbender, MapFish and OpenLayers Christoph Baudson Arnulf Christl FOSS4G 2010 – Barcelona

OSGeo Web Mapping Software Comparison

Embed Size (px)

DESCRIPTION

The relationship of four OSGeo projects OpenLayers, Mapbender, GeoMajas and MapFish can be summarized as follows:OpenLayers is a JavaScript library that is used by web developers to add maps to their web sites and applications.Mapbender is a server software package used by geo portal administrators to maintain and monitor services, deploy applications, maintain users and allow secured access to services through proxy facade. MapFish is a development framework used by geospatial software developers to implement web map applications, depending on OpenLayers as the single viewing component. GeoMajas is a self contained Web GIS software package implemented in Java using HTML and JavaScript front ends.

Citation preview

Page 1: OSGeo Web Mapping Software Comparison

OSGeo Web Mapping Typification:GeoMajas, Mapbender, MapFish and OpenLayers

Christoph Baudson

Arnulf Christl

FOSS4G 2010 – Barcelona

Page 2: OSGeo Web Mapping Software Comparison

2 / 47

Metaspatial.netMetaspatial.net

This presentation is brought to you by:  Metaspatial

When?  Consultation since March 2010

Why?  To leverage your spatial data

What?  Consultation and Implementation of- Spatial Data Infrastructures- Metadata

How:  Open Source Software and Datawith Open Standardsand Agile management

http://www.metaspatial.net

Page 3: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 3 / 47

DisclaimerAll information contained in this presentation has been compiled to the best of our knowledge and presents an adhoc snapshot of current state of the art web mapping client frameworks and portals.

Christoph Baudson and Arnulf Christl are deeply involved in developing the Mapbender project since many years.

For further information and help on how to select the best option for your needs ask your consultant and service provider. 

Download as ODP or PDF

Page 4: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 4 / 47

Introduction

This presentation differentiates  four of  the web mapping projects  of  OSGeo.  They  can  be  roughly  split  into  four categories although there is a lot of overlap. 

● GeoMajas is a self contained, ful fledged WebGIS● OpenLayers is a JavaScript client library● Mapbender is a geoportal management software● MapFish is a web mapping developer framework 

All  projects  have  server  side  components  except  for OpenLayers.  Both  MapFish  and  Mapbender  integrate OpenLayers as viewer.

Page 5: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 5 / 47

On Diversity

We all know the term in the context of biodiversity. Monocultures (the opposite of diversity) are well known to be associated with all kinds of problems and issues. Therefore OSGeo strives for diversity in it's projects. 

Diversity comes with competition, which is sometimes good and sometimes also has a negative touch. To better understand how the Open Source community works competition is best mixed with cooperation to form the new word coopetition – which can be a great motivation for folks.

Page 6: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 6 / 47

A History of Web Mapping

Geomajas

2009

Page 7: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 7 / 47

Excursion: GRASS and the OGC1992: The OGF (Open GRASS Foundation) forms to:

(1)make more geoprocessing choices available 

(2)act as sounding board for the user community to articulate its requirements to the developer community

(3)speed up procurement by aligning the needs of the users with the product plans of the vendors

1994: "Open Geodata Interoperability Specification" started

1994: Change into a consortium (proprietary vendors' needs)

1999: OpenGIS WMS Interface SpecificationInteresting read, The history of the OGC: http://www.opengeospatial.org/ogc/history

Page 8: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 8 / 47

Mapbender1999: experimental Perl client for OGC WMT 1.0

2001: reimplementation in PHP, operational users

2003: Adoption of Open Source license and development

2006: OSGeo foundation project, Incubation passed.

2007: Introducing jQuerylibrary to Mapbender

2008: Modularization, first steps using OpenLayers

2009: Version 2.6 with lots of new features

2010: Version 3.0 reengineering with REST principles

Page 9: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 9 / 47

Excursion: GoogleMaps2006: The tile is back. The long overcome legacy technology of pre tiled maps is back – with lots of accompanying noise. This technological regression is celebrated as the GIS Revolution. GIS professionals start to fear Google. 

2007: "Mashup" becomes bullshit bingo winner at Where 2.0.

2008: All maps have become static and street maps. 

2009: "Vounteered Geographic Information" (VGI) misunderstood as exploiting volunteers without giving back. 

2010: OpenStreetMap is getting better than the Big Three.

Page 10: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 10 / 47

Openlayers2005: First ideas for a JavaScript mapping library form at the Where 2.0 conference by O'Reilly in Silicon Valley

2006: Presentation of OpenLayers 1.0 at Where 2.0 conference targeted at Web developers who simply need a map in their web site. 

2007: Introduction of the slippy map

2008: OpenLayers Release 2.7

2010: More and more web mapping software uses OpenLayers as their viewer.

Page 11: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 11 / 47

Geomajas

2006: The origin lies in geGIS (www.gegis.org) the result of a tender for the Flemish government and company DFC

2008: geGIS project ends. Start from Scratch as Geomajas.

2009: Folks from DFC found GeoSparc to support Geomajas

2010: Geosparc owns Geomajas IP

2010: Geomajas enters OSGeo Incubation. Support and use grows beyond th scope of the original developing company. 

Page 12: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 12 / 47

MapFish

MapFish is a new development initiated by camptocamp.

Prior art can be found in Cartoweb, MapBuilder, and others

2007: first source code available in an open repository

2008: the developer community grows beyond the initiator (company camptocamp)

2009: MapFish starts OSGeo Incubation 

2010: Several large productive systems go online. 

Page 13: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 13 / 47

Excursion: on Tiling

Tiling pros and cons:

Tiles are a perfect fit for Internet technology.

Associated technology is very robust and scalable.

Every coordinate system and scale level needs it's own set of tiles: This makes data management a real issue. 

Tiled maps are static.

Most servers are purposefully not standardized in an open and consensus based process

Page 14: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 14 / 47

Functionality in all frameworks is very similar.

Let's take a look at...

Page 15: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 15 / 47

… thesource code!

Page 16: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 16 / 47

OpenLayers

Client

Server

JavaScript

Page 17: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 17 / 47

Client

Server

JavaScript

Python

Page 18: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 18 / 47

Client

Server

JavaScript

PHP

Mapbender

Page 19: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 19 / 47

Client

Server

Java

Java

Page 20: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 20 / 47

Client components

?

Page 21: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 21 / 47

jQueryExt Core Core

Mapbender

Page 22: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 22 / 47

jQueryExt Core

Widgets

Core

jQuery UIExtJS

Page 23: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 23 / 47

Widgets

Core

GeoGeoExt

MapbenderjQueryPlugins

Page 24: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 24 / 47

Widgets

Core

GeoGeoExt

geojquery??

Page 25: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 25 / 47

geojquery wants to bring the jQuery way of doing things to web mapping.

Page 26: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 26 / 47

Mission: Implement a jQuery interface to OpenLayers, provide a rich set of UI widgets.

Page 27: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 27 / 47

Page 28: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 28 / 47

Not a GeoExt clone.

Write less, do more.

Page 29: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 29 / 47

Join code sprint on Friday:

http://wiki.osgeo.org/wiki/FOSS4G_2010_Code_Sprint

Page 30: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 30 / 47

Widgets

Core

Geo

Map

Page 31: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 31 / 47

ExtJS / jQuery – License

ExtJS: Dual ("Commercial" and GPLv3)

jQuery / jQuery UI: Dual (MIT and GPLv3)

Page 32: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 32 / 47

ExtJS / jQuery – Copyright

ExtJS: Copyright lies with Ext JS, LLC 

jQuery: Copyright lies with creator John Resig

jQuery und jQuery UI: Copyright lies with the team of the  jQuery Project

Thoughts to transfer rights to the nonprofit organization Software Freedom Conservancy

Page 33: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 33 / 47

ExtJS / jQuery – Distribution

Google Trends

Page 34: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 34 / 47

ExtJS / jQuery UI – Distribution

Google Trends

Page 35: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 35 / 47

Client summary

OpenLayers does not compare to the others as it is limited to JavaScript and runs in the browser.

OpenLayers is an integral part of MapFish, which relies on GeoExt.

Mapbender can use OpenLayers and it's own WMS client with comprehensive layer and metadata management .

GeoMajas is self contained and comes with it's own client and server.

Page 36: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 36 / 47

Component Analysis Server

MapFish

REST API (MapFish protocol)

Implemented in Python, based on Pylons

Implementations in other languages exist (PHP, Java and Ruby) Version 2.0 status?

Shapely or JTS provide spatial analysis methods

Spatial SQLAlchemy extension GeoAlchemy 

Page 37: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 37 / 47

Component Analysis Server

Mapbender

Implemented in PHP

No standardized API

Version 3.0 with REST architecture

PostgreSQL database to store users, applications and service repository

Best of breed integration with OGC standards

Page 38: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 38 / 47

Component Analysis Server

GeoMajas

Documented API (not standardized)

Strong focus on server side

Implemented in Java

GeoTools allows powerful data analysis and manipulation

Client/Server communication highly integrated

Maps and clients in one framework

Page 39: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 39 / 47

Administration

MapFish: Administration requires source code and config file editing

Mapbender: Administration via Web based interfaces. 

GeoMajas: Administration requires source code and config file editing

Page 40: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 40 / 47

Database Component

MapFish: SQLAlchemy (SQLite, Postgres, MySQL, Oracle, MSSQL, …), GeoAlchemy for spatial databases.

Mapbender exclusively PostgreSQL, PostGIS for spatial functionality.

GeoMajas: via Hibernate, spatial databases via GeoTools.

Page 41: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 41 / 47

License

OpenLayers: The Clear BSD License

GeoMajas: AGPL plus other options through vendor

Mapbender: Dual: GPLv2 and Simplified BSD

MapFish: GPLv3, except some libraries and modules

Page 42: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 42 / 47

Copyright

Mapbender: OSGeo

MapFish: Camptocamp, SourcePole, others 

OpenLayers: OpenLayers contributors

GeoMajas: Geosparc, Belgium

Page 43: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 43 / 47

Which Software for which Task? 

OpenLayers currently is the best option for web developers who simply need a map. 

GeoMajas, MapFish and Mapbender with their server side components are too heavy for this job.

OpenLayers is also used by developers of complex web mapping frameworks and geoportal software, for example MapFish and Mapbender.

Page 44: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 44 / 47

Which Software for which Task? 

MapFish is a framework for Web GIS application developers.

Well structured source code

Modular architecture using OpenLayers and GeoExt

Standardized API

Supports several programming languages

Page 45: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 45 / 47

Which Software for which Task? 

Mapbender is a software to create and operate SDI geoportals.

Administration is optimized for standard services like OGC WMS, WFS and INSPIRE.

User specific access control.

Web interfaces to create applications.

No need to write a single line of Code.

Page 46: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 46 / 47

Which Software for which Task? 

GeoMajas is a self contained outofthebox Web GIS solution

Includes client and server.

User specific access control.

Web interfaces to create applications.

integrates powerful server side algorithms into the web browser.

Page 47: OSGeo Web Mapping Software Comparison

A web mapping typification – Christoph Baudson, Arnulf Christl 47 / 47

Come to the OSGeo booth and talk to users and developers

Creative Commons Share Alike License 3.0Download as ODP or PDF

Copyright © 2010: Christoph BaudsonArnulf Christl

The internationalOpen Source Conference

of theGeospatial Domain

With friendly support by:

Metaspatial