Changes between Version 10 and Version 11 of MapGuideRfc53
- Timestamp:
- 08/11/08 14:09:18 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc53
v10 v11 1 = !MapGuide RFC 53 - ! GetSchemas, !GetClasses and !DescribeSchemaAPI Enhancements =1 = !MapGuide RFC 53 - !DescribeSchema, !GetSchemas and !GetClasses API Enhancements = 2 2 3 3 This page contains a change request (RFC) for the !MapGuide Open Source project. … … 25 25 == Overview == 26 26 27 This RFC enhances MapGuide Feature Service to take performance advantage of the new FDO APIs as described in FDO RFC 23, http://trac.osgeo.org/fdo/wiki/FDORfc23 .27 This RFC enhances !MapGuide Feature Service to take performance advantage of the new FDO APIs as described in FDO RFC 23, http://trac.osgeo.org/fdo/wiki/FDORfc23 . 28 28 29 The mainly affected MapGuide Feature Service APIs include DescribeSchema, GetSchemas, andGetClasses.29 The mainly affected !MapGuide Feature Service APIs include !DescribeSchema, !GetSchemas, and !GetClasses. 30 30 31 31 == Motivation == 32 32 33 MapGuide Feature Service APIs provide the ability to configure a connection to a supported FDO provider, and to obtain available properties and geometries from a specific feature source. These requested data are retrieved via the FDODescribeSchema API which returns detailed information about all feature classes available from a provider.33 !MapGuide Feature Service APIs provide the ability to configure a connection to a supported FDO provider, and to obtain available properties and geometries from a specific feature source. These requested data are retrieved via the FDO !DescribeSchema API which returns detailed information about all feature classes available from a provider. 34 34 35 Although MapGuide does cache the full schemas for high performance with subsequent requests, the initialDescribeSchema API call can take a very long time when a database contains a large number of feature classes (e.g. real-world Oracle database deployments).35 Although !MapGuide does cache the full schemas for high performance with subsequent requests, the initial !DescribeSchema API call can take a very long time when a database contains a large number of feature classes (e.g. real-world Oracle database deployments). 36 36 37 The proposal described in this RFC is to update all the relevant MapGuide Feature Service APIs so that they allow only the required subset of the available information to be requested, and avoid making calls to retrieve the full schema unless it is absolutely necessary.37 The proposal described in this RFC is to update all the relevant !MapGuide Feature Service APIs so that they allow only the required subset of the available information to be requested, and avoid making calls to retrieve the full schema unless it is absolutely necessary. 38 38 39 39 == Proposed Solution == 40 40 41 * Update the following existing MapGuide Feature Service APIs to utilize the new FDO APIs:41 * Update the following existing !MapGuide Feature Service APIs to utilize the new FDO APIs: 42 42 43 43 {{{ … … 47 47 }}} 48 48 49 * Add the following new MapGuide Feature Service APIs:49 * Add the following new !MapGuide Feature Service APIs: 50 50 51 51 {{{ … … 157 157 == Implications == 158 158 159 * Other related MapGuide Feature Service APIs (such asDescribeSchemaAsXml, GetClassDefinition, GetIdentityProperties, etc.) will be updated to utilize the new FDO APIs for improved performance.160 * The existing HTTP interface DESCRIBEFEATURESCHEMA will be updated to utilize the new DescribeSchemaAsXml API.161 * For providers that do not support the new FDO APIs, MapGuide will fall back on usingDescribeSchema and walk through the results to retrieve the schema names, class names, and class definitions.162 * The MapGuide Feature Service cache framework will be modified to allow the schema information retrieved from the new APIs to be built up incrementally as required.163 * The old DescribeSchema andDescribeSchemaAsXml APIs will be deprecated in the future.159 * Other related !MapGuide Feature Service APIs (such as !DescribeSchemaAsXml, GetClassDefinition, GetIdentityProperties, etc.) will be updated to utilize the new FDO APIs for improved performance. 160 * The existing HTTP interface DESCRIBEFEATURESCHEMA will be updated to utilize the new !DescribeSchemaAsXml API. 161 * For providers that do not support the new FDO APIs, !MapGuide will fall back on using !DescribeSchema and walk through the results to retrieve the schema names, class names, and class definitions. 162 * The !MapGuide Feature Service cache framework will be modified to allow the schema information retrieved from the new APIs to be built up incrementally as required. 163 * The old !DescribeSchema and !DescribeSchemaAsXml APIs will be deprecated in the future. 164 164 165 165 == Test Plan == 166 166 167 * The old DescribeSchema andDescribeSchemaAsXml APIs should work as before.167 * The old !DescribeSchema and !DescribeSchemaAsXml APIs should work as before. 168 168 * Existing unit tests will be updated to utilize the new APIs and re-tested. 169 169