OSGeo Web Mapping Software Comparison


Published on

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.

Published in: Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

OSGeo Web Mapping Software Comparison

  1. 1. OSGeo Web Mapping Typification:GeoMajas, Mapbender, MapFish and OpenLayers Christoph Baudson Arnulf Christl FOSS4G 2010 – Barcelona
  2. 2. Metaspatial.net This presentation is brought to you by:  MetaspatialWhen?  Consultation since March 2010Why?  To leverage your spatial dataWhat?  Consultation and Implementation of - Spatial Data Infrastructures - MetadataHow:  Open Source Software and Data with Open Standards and Agile management http://www.metaspatial.net 2 / 47
  3. 3. Disclaimer All information contained in this presentation has been  compiled to the best of our knowledge and presents an ad­ hoc 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 PDFA web mapping typification – Christoph Baudson, Arnulf Christl 3 / 47
  4. 4. 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 Web­GIS ● 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.A web mapping typification – Christoph Baudson, Arnulf Christl 4 / 47
  5. 5. On Diversity We all know the term in the context of bio­diversity. Mono­ cultures (the opposite of diversity) are well known to be  associated with all kinds of problems and issues. Therefore  OSGeo strives for diversity in its 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.A web mapping typification – Christoph Baudson, Arnulf Christl 5 / 47
  6. 6. A History of Web Mapping 2009 GeomajasA web mapping typification – Christoph Baudson, Arnulf Christl 6 / 47
  7. 7. Excursion: GRASS and the OGC 1992: 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 Specification Interesting read, The history of the OGC: http://www.opengeospatial.org/ogc/historyA web mapping typification – Christoph Baudson, Arnulf Christl 7 / 47
  8. 8. Mapbender 1999: experimental Perl client for OGC WMT 1.0 2001: re­implementation in PHP, operational users 2003: Adoption of Open Source license and development 2006: OSGeo foundation project, Incubation passed. 2007: Introducing jQuery­library to Mapbender 2008: Modularization, first steps using OpenLayers 2009: Version 2.6 with lots of new features 2010: Version 3.0 re­engineering with REST principlesA web mapping typification – Christoph Baudson, Arnulf Christl 8 / 47
  9. 9. Excursion: GoogleMaps 2006: 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.A web mapping typification – Christoph Baudson, Arnulf Christl 9 / 47
  10. 10. Openlayers 2005: First ideas for a JavaScript mapping library form at  the Where 2.0 conference by OReilly 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.A web mapping typification – Christoph Baudson, Arnulf Christl 10 / 47
  11. 11. 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. A web mapping typification – Christoph Baudson, Arnulf Christl 11 / 47
  12. 12. 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. A web mapping typification – Christoph Baudson, Arnulf Christl 12 / 47
  13. 13. 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 its 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 processA web mapping typification – Christoph Baudson, Arnulf Christl 13 / 47
  14. 14. Functionality in all  frameworks is very  similar. Lets take a look at...A web mapping typification – Christoph Baudson, Arnulf Christl 14 / 47
  15. 15. … the source  code!A web mapping typification – Christoph Baudson, Arnulf Christl 15 / 47
  16. 16. OpenLayers Client JavaScript Server ­A web mapping typification – Christoph Baudson, Arnulf Christl 16 / 47
  17. 17. Client JavaScript Server PythonA web mapping typification – Christoph Baudson, Arnulf Christl 17 / 47
  18. 18. Mapbender Client JavaScript Server PHPA web mapping typification – Christoph Baudson, Arnulf Christl 18 / 47
  19. 19. Client Java Server JavaA web mapping typification – Christoph Baudson, Arnulf Christl 19 / 47
  20. 20. Client components ?A web mapping typification – Christoph Baudson, Arnulf Christl 20 / 47
  21. 21. Mapbender Ext Core Core jQueryA web mapping typification – Christoph Baudson, Arnulf Christl 21 / 47
  22. 22. Widgets ExtJS jQuery UI Ext Core Core jQueryA web mapping typification – Christoph Baudson, Arnulf Christl 22 / 47
  23. 23. Widgets Core Mapbender GeoExt Geo jQuery PluginsA web mapping typification – Christoph Baudson, Arnulf Christl 23 / 47
  24. 24. Widgets Core geojquery?? GeoExt GeoA web mapping typification – Christoph Baudson, Arnulf Christl 24 / 47
  25. 25. geojquery wants to bring the jQuery  way of doing things to web mapping.A web mapping typification – Christoph Baudson, Arnulf Christl 25 / 47
  26. 26. Mission: Implement a jQuery  interface to OpenLayers, provide a  rich set of UI widgets.A web mapping typification – Christoph Baudson, Arnulf Christl 26 / 47
  27. 27. A web mapping typification – Christoph Baudson, Arnulf Christl 27 / 47
  28. 28. Not a GeoExt clone. Write less, do more.A web mapping typification – Christoph Baudson, Arnulf Christl 28 / 47
  29. 29. Join code sprint on Friday: http://wiki.osgeo.org/wiki/FOSS4G_2010_Code_SprintA web mapping typification – Christoph Baudson, Arnulf Christl 29 / 47
  30. 30. Widgets Core Geo MapA web mapping typification – Christoph Baudson, Arnulf Christl 30 / 47
  31. 31. ExtJS / jQuery – License ExtJS: Dual ("Commercial" and GPLv3) jQuery / jQuery UI: Dual (MIT and GPLv3)A web mapping typification – Christoph Baudson, Arnulf Christl 31 / 47
  32. 32. 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 non­profit organization  Software Freedom ConservancyA web mapping typification – Christoph Baudson, Arnulf Christl 32 / 47
  33. 33. ExtJS / jQuery – Distribution Google TrendsA web mapping typification – Christoph Baudson, Arnulf Christl 33 / 47
  34. 34. ExtJS / jQuery UI – Distribution Google TrendsA web mapping typification – Christoph Baudson, Arnulf Christl 34 / 47
  35. 35. 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 its own WMS client  with comprehensive layer and metadata management . GeoMajas is self contained and comes with its own client  and server.A web mapping typification – Christoph Baudson, Arnulf Christl 35 / 47
  36. 36. 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 A web mapping typification – Christoph Baudson, Arnulf Christl 36 / 47
  37. 37. 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 standardsA web mapping typification – Christoph Baudson, Arnulf Christl 37 / 47
  38. 38. 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 frameworkA web mapping typification – Christoph Baudson, Arnulf Christl 38 / 47
  39. 39. Administration MapFish: Administration requires source code and config  file editing Mapbender: Administration via Web based interfaces.  GeoMajas: Administration requires source code and config  file editingA web mapping typification – Christoph Baudson, Arnulf Christl 39 / 47
  40. 40. Database Component MapFish: SQLAlchemy (SQLite, Postgres, MySQL, Oracle,  MS­SQL, …), GeoAlchemy for spatial databases. Mapbender exclusively PostgreSQL, PostGIS for spatial  functionality. GeoMajas: via Hibernate, spatial databases via GeoTools.A web mapping typification – Christoph Baudson, Arnulf Christl 40 / 47
  41. 41. 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 modulesA web mapping typification – Christoph Baudson, Arnulf Christl 41 / 47
  42. 42. Copyright Mapbender: OSGeo MapFish: Camptocamp, SourcePole, others  OpenLayers: OpenLayers contributors GeoMajas: Geosparc, BelgiumA web mapping typification – Christoph Baudson, Arnulf Christl 42 / 47
  43. 43. 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.A web mapping typification – Christoph Baudson, Arnulf Christl 43 / 47
  44. 44. 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 languagesA web mapping typification – Christoph Baudson, Arnulf Christl 44 / 47
  45. 45. 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.A web mapping typification – Christoph Baudson, Arnulf Christl 45 / 47
  46. 46. Which Software for which Task?  GeoMajas is a self contained out­of­the­box 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.A web mapping typification – Christoph Baudson, Arnulf Christl 46 / 47
  47. 47. Come to the OSGeo  booth and talk to  users and developers The international Open Source Conference of the Geospatial Domain With friendly support by: Creative Commons Share Alike License 3.0 Download as ODP or PDF Metaspatial Copyright © 2010: Christoph Baudson Arnulf ChristlA web mapping typification – Christoph Baudson, Arnulf Christl 47 / 47