Su Weimin http://www.gisdev.cn/http://blog.csdn.net/suen/ Date:
All copyrights reserved. If you need to reprint the information, contact the author and indicate the source in a conspicuous position.
The features of geoserver (geoserver learning notes (I): geoserver overview, http://blog.csdn.net/suen/archive/2009/10/25/4726204.aspx), and how to download and Load Code in eclipse (II ): code download and load in eclipse, http://blog.csdn.net/suen/archive/2009/10/25/4726733.aspx), then you have to start the formal analysis.
The beginning of the analysis will generally be explained in general, but because it is a learning note, I am learning and writing, and I still cannot grasp the architecture well. Therefore, I can only say this question, I simply reprinted other technical articles and explained my understanding. let me talk about it later. please forgive me. (somehow, Google's pinyin cannot call Chinese characters, and only English characters can be used)
1 geoserver engineering and design
(This part of Content reproduced, reproduced from the 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 processing the geoserver data model. |
Org. vfny. geoserver. action. global |
|
Org. vfny. geoserver. action. validation |
|
Org. vfny. geoserver. action. wfs |
Contains actions for processing the geoserver Web Feature server. |
Org. vfny. geoserver. action. wms |
Contains actions for processing 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:
- 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 wocould like to access and modify their geographic data over the Internet using flexible, industry-approved standards shocould take a look at GeoServer.
Geoserver Design
GeoServer is constructed using a Layered Design as outlined in the dimo-below. There are two Layer systems in use-the classic J2EE Servlet/Handler/Request/Response and the STRUTS Framework.
Geoserver layer digoal
Use of geotools2
As seen in the above Layer dimo-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 Architecture
(This part of Content reproduced, reproduced from the http://geoserver.org/display/GEOSDOC/1+GeoServer+Architecture)
The following dimo-provides an overview of the geoserver architecture. The geoserver application is comprised of a seriesModules. Geoserver modules can be combined with ourMaven 2Build 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 geoserversExtension mechanic. 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 reviewWebModule for an example of packaging modules into a deployable war.
Note:
Based on geotools, geoserver implements the logic of the application layer and Web Container layer. The main projects include data, main, validation, web, WMS, and WFS. Based on the Spring framework, the system has good scalability and can add new services. (Google Pinyin is okay again, but it is still not stable)