GeoServer
In computing, GeoServer is an open-source server written in Java that allows users to share, process and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards.  GeoServer has evolved to become an easy method of connecting existing information to virtual globes such as Google Earth and NASA World Wind as well as to web-based maps such as OpenLayers, Leaflet, Google Maps and Bing Maps.  GeoServer functions as the reference implementation of the Open Geospatial Consortium Web Feature Service standard, and also implements the Web Map Service, Web Coverage Service and Web Processing Service specifications.

Goals 
GeoServer aims to operate as a node within a free and open Spatial Data Infrastructure.  Just as the Apache HTTP Server has offered a free and open web server to publish HTML, GeoServer aims to do the same for geospatial data.

Features 
GeoServer reads a variety of data formats, including:

 PostGIS
 Oracle Spatial
 ArcSDE
 DB2
 MySQL
 MongoDB
 Apache Solr
 Shapefiles
 GeoTIFF
 GTOPO30
 ECW, MrSID
 JPEG2000

Through standard protocols it produces KML, GML, Shapefile, GeoRSS, PDF, GeoJSON, JPEG, GIF, SVG, PNG and more. In addition, one can edit data via the WFS transactional profile (WFS-T).  GeoServer includes an integrated OpenLayers client for previewing data layers.

GeoServer additionally supports efficient publishing of geospatial data to Google Earth through the use of network links, using KML.  Advanced features for Google Earth output include templates for customized pop-ups, time and height visualizations, and "super-overlays".

GeoServer relies on GeoTools, a GIS library.

Usage 
 MassGIS (Massachusetts state GIS) 
 MACRIS Maps (Massachusetts Historical Commission)
 TriMet  (Transit agency for Portland, Oregon)
 Ordnance Survey (National Mapping Agency of the UK)
 Institut Géographique National (National Mapping Agency of France)
 GBIF (Global Biodiversity Information Facility)
 World Bank
 Global Earthquake Model
 GMOS (Global Mercury Observation System)
 FAO (Food and Agriculture Organization of the United Nations)
 New York City Department of Information Technology and Telecommunications
 TeamSurv
 ITU (International Telecommunication Union)

Architecture 
GeoServer uses the Spring Framework, providing a request dispatch architecture for modules implementing OGC services. The web administration application uses wicket, allowing extensions to contribute additional configuration screens. The application provides a REST API implemented using the spring-mvc-framework.

GeoServer is a web application, supporting any common servlet container (a standalone distribution is available with the Jetty (web server) as an embedded server). GeoWebCache, a Java-based caching component similar to TileCache, is bundled with GeoServer, but available separately. Similarly, GeoServer packages GeoTools as a Java library, but it is also available separately.

GeoServer is a longstanding application and has undergone several architectural changes. GeoServer 1.0 was built around the STRUTS framework, with the migration to Spring and Wicket taking place for GeoServer 2.0. Early versions of the REST API used restlet before migration to spring-mvc-framework.

See also 

 Open Geospatial Consortium
 Web Feature Service
 Web Map Service
 Web Coverage Service
 MapServer - an open-source server written in C
 Mapnik

References

External links 
 GeoServer official website

Free software programmed in Java (programming language)
Geographical technology
Free GIS software