Centralize Application Logic

Description

From VWFS Implementaion Report Section 2.2.1

The advent of the WMS and WFS classes in the global package presents an
opportunity to improve the GeoServer Application. Currently GeoServer has
dispersed application logic across several Servlets.
These Servlets are used to implement the WFS and WMS protocols according to
the Transaction Script pattern (Fowler 110).
Transaction Scripts represent an Object Oriented Idiom similar in effect to
procedural programming. The use of this design has resulted in significant
duplication of functionality.
By moving common functionality to the WMS and WFS classes in the global
package we can reduce duplication.

Specific recommendations:

  • Move FeatureType Schema generation from DescribeFeatureType to
    FeatureTypeInfo. This functionality is currently duplicated.
    * Allow WFS to publish a selection of FeatureTypes defined in Data. This
    functionality is currently duplicated in the FeatureTypeInfo.
    * Allow WMS to publish a selection of FeatureTypes defined in Data. This
    functionality is currently duplicated in the FeatureTypeInfo.
    * Allows WMS to control the style associated with a Layer.
    It may be noted that the global Data classes module has already accomplished
    this centralization for the GeoServer Data classes and the Validation Processor.

Environment

None

Activity

codehaus 
April 10, 2015 at 3:50 PM

CodeHaus Comment From: cholmes - Time: Wed, 27 Sep 2006 15:13:54 -0500
---------------------
<p>Closing this as it's been around a long time and there are new thoughts on architecture.</p>

codehaus 
April 10, 2015 at 3:50 PM

CodeHaus Comment From: emperorkefka - Time: Tue, 17 Feb 2004 15:21:20 -0600
---------------------
<p>David has already layered for this to happen (<a href="https://jira.codehaus.org/browse/GEOS-89" title="Data Layer" class="issue-link" data-issue-key="GEOS-89"><del>GEOS-89</del></a>), we should centeralize gradually - no need to rush this one.</p>

codehaus 
April 10, 2015 at 3:50 PM

CodeHaus Comment From: jgarnett - Time: Thu, 5 Feb 2004 17:15:08 -0600
---------------------
<p>To be very specific this allows:</p>
<ul class="alternate" type="square">
<li>Take code from WFS Servlets and place in WFS class</li>
<li>Take code from WMS Servlets and place in WMS class</li>
</ul>

Fixed

Details

Assignee

Reporter

Priority

Created February 5, 2004 at 10:11 PM
Updated October 31, 2015 at 4:55 PM
Resolved May 26, 2015 at 2:06 PM