GeoServer学习手记(三):GeoServer架构浅谈

粟卫民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期:2009-10-28

保留所有版权。如需转载,请联系作者,并在醒目位置注明出处

前面概述了GeoServer的功能(GeoServer学习手记(一):GeoServer概述,http://blog.csdn.net/suen/archive/2009/10/25/4726204.aspx),和代码下载及在Eclipse中加载的方法(GeoServer学习手记(二):代码下载及在Eclipse中加载,http://blog.csdn.net/suen/archive/2009/10/25/4726733.aspx),接下来得开始正式的分析了。

分析的开始一般都会总体上来说一说,但是因为这是学习手记,我是边学习边写,对于架构还不能很好地把握,因此题目也只能说<浅谈>,只简单地转载其他的技术文章,同时说说我的理解.以后等我理解透彻再好好说说.这里也请各位读者谅解.(不知怎么的,Google的拼音调不到中文符号,只能用英文符号,晕)

1 GeoServer工程及设计

(此部分内容转载,转载自http://geoserver.sourceforge.net/documentation/javadocs/index.html)

The GeoServer Project – the open Internet gateway for geographic data

Packages

org.vfny.geoserver

Contains all interface servlets, one for each WFS response.

org.vfny.geoserver.action

Control of the GeoServer application (Struts Actions).

org.vfny.geoserver.action.data

Contains Actions for configuring the GeoServer Data Model.

org.vfny.geoserver.action.global

org.vfny.geoserver.action.validation

org.vfny.geoserver.action.wfs

Contains Actions for configuring the GeoServer Web Feature Server.

org.vfny.geoserver.action.wms

Contains Actions for configuring the GeoServer Web Map Server.

org.vfny.geoserver.config

Configuration Model being edited.

org.vfny.geoserver.config.validation

Validation Model being edited.

org.vfny.geoserver.form

Java Beans used to represent input screens (STRUTS Form Beans).

org.vfny.geoserver.form.data

Contains Form Beans describing the GeoServer Data Model.

org.vfny.geoserver.form.global

org.vfny.geoserver.form.validation

org.vfny.geoserver.form.wfs

Contains Web Feature Server Form Beans.

org.vfny.geoserver.form.wms

Contains Web Map Server Form Beans.

org.vfny.geoserver.global

Maintains the GeoServer applicaiton state (This is the Application).

org.vfny.geoserver.global.dto

Maintains the Data Transfer Objects used to set up GeoServer.

org.vfny.geoserver.global.xml

Offers XML based persistence to the GeoServer application.

org.vfny.geoserver.servlets

Provides Servlets Framework used by GeoServer.

org.vfny.geoserver.util

Manages all of the top-level responses.

org.vfny.geoserver.util.requests

Handles all of the request processing for GeoServer.

org.vfny.geoserver.util.requests.readers

Client request processing into GeoServer Request objects.

org.vfny.geoserver.wfs

org.vfny.geoserver.wfs.requests

Handles all of the WFS request processing for GeoServer.

org.vfny.geoserver.wfs.requests.readers

WFS Client request processing into Request objects for the GeoServer framework.

org.vfny.geoserver.wfs.responses

Manages all of the top-level WFS responses.

org.vfny.geoserver.wfs.servlets

Provides Servlets for the GeoServer Web Feature Server implementation.

org.vfny.geoserver.wms

org.vfny.geoserver.wms.requests

Handles all of the request processing for the WMS interfaces.

org.vfny.geoserver.wms.responses

Manages all of the top-level WMS responses.

org.vfny.geoserver.wms.responses.featureInfo

org.vfny.geoserver.wms.responses.helpers

org.vfny.geoserver.wms.responses.map

Manages all of the WMS Map responses.

org.vfny.geoserver.wms.responses.map.gif

org.vfny.geoserver.wms.responses.map.kml

org.vfny.geoserver.wms.responses.map.png

org.vfny.geoserver.wms.responses.map.svg

org.vfny.geoserver.wms.servlets

Provides Servlets for the GeoServer Web Map Server implementation.

org.vfny.geoserver.zserver

Provides a ZServer Catalog Service for GeoServer.

The GeoServer Project – the open Internet gateway for geographic data

The GeoServer Project is a Java (J2EE) implementation of:

  • The OpenGIS Consortium’s Web Feature Server specification. With full transactional support!
  • The OpenGIS Consortium’s Web Map Server Specification.
  • ZServer

GeoServer is free software, available under the GPL 2.0 license.

Users who would like to access and modify their geographic data over the Internet using flexible, industry-approved standards should take a look at GeoServer.

GeoServer Design

GeoServer is constructed using a Layered Design as outlined in the diagram below. There are two Layer systems in use – the classic J2EE Servlet/Handler/Request/Response and the STRUTS Framework.

GeoServerLayerDiagram.gif
GeoServer Layer Diagram

Use of GeoTools2

As seen in the above Layer Diagram GeoServer makes use of the wonderful GeoTools2 library to provide data access. GeoServer maintains its own geotools.jar available in the lib directory. This jar is often more recent then the latest GeoTools public beta.

Many GeoServer classes implement GeoTools2 interfaces inorder to facilitate reuse and intergration with subsystems such as validation.

2 GeoServer架构

(此部分内容转载,转载自http://geoserver.org/display/GEOSDOC/1+GeoServer+Architecture)

The following diagram provides an Overview of the GeoServer architecture. The GeoServer application is comprised of a series of modules. GeoServer modules can be combined with our maven 2 build sytem to form a deployable war.

architecture.png

At runtime a module can make use of Spring to obtain classes providing services from other modules. This ability to “plug-in” additional functionality forms the basis for GeoServers extension mechanism. This mechanism is used to provide additional OGC web services (by the WFS and WMS modules) and to implement support for different WMS image encodings.

The core geoserver modules serve as a useful example of how new services can be added. You can review the web module for an example of packaging modules into a deployable war.

备注:

GeoServer采用分层设计,在GeoTools的基础上,实现了应用层和Web容器层的逻辑,主要工程包括Data,Main,Validation,Web,WMS,WFS等。由于基于Spring框架,系统具有良好的可扩展性,可增加新的服务。(Google拼音又可以了,还是不太稳定呀)

转载自:https://blog.csdn.net/suen/article/details/4745032

You may also like...