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

本文介绍了GeoServer的功能及其架构设计,GeoServer是一个基于Java实现的开放地理信息服务网关,支持WebFeatureServer和WebMapServer规范,并提供了强大的数据访问能力。文章详细分析了GeoServer的模块构成及其基于Spring框架的良好扩展性。

转载粟卫民http://www.gisdev.cn/ http://blog.youkuaiyun.com/suen/ 日期:2009-10-28

 

前面概述了GeoServer的功能(GeoServer学习手记(一):GeoServer概述,http://blog.youkuaiyun.com/suen/archive/2009/10/25/4726204.aspx),和代码下载及在Eclipse中加载的方法(GeoServer学习手记(二):代码下载及在Eclipse中加载,http://blog.youkuaiyun.com/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.

 
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.

 

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拼音又可以了,还是不太稳定呀)

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/suen/archive/2009/10/29/4745032.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值