Changes between Version 12 and Version 13 of MapGuideRfc25


Ignore:
Timestamp:
Aug 9, 2007, 5:28:54 PM (15 years ago)
Author:
jasonchen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc25

    v12 v13  
    3333== Proposed Solution ==
    3434
    35 The solution involves adding an extra "format" parameter on selected API invocations from the Web-tier to the Server. The "format" can be either "text/xml" or "application/json". If no parameter is specified at the Web-tier, the "format" will default to "text/xml". Due to performance considerations, two additional APIs (i.e. !DescribeSchemaAsJson and GetFDOCacheInfoAsJson) have been added to handle the special cases.
     35The solution involves adding an extra "format" parameter to the selected API invocations from the Web-tier to the Server. The "format" can be either "text/xml" or "application/json". If no parameter is specified at the Web-tier, the "format" will default to "text/xml". Due to performance considerations, two additional APIs (i.e. !DescribeSchemaAsJson and GetFDOCacheInfoAsJson) have been added to handle the special cases.
    3636
    3737----
     
    9393where the appended labeling indicates the different implementation schemes:
    9494
    95 (1) Web-tier changes -- every !ToXml implementation is matched with a !ToJson implementation that composes a JSON document in place.
     95(1) Web-tier changes -- !ToJson functions are introduced to compose the JSON document in place; that is, most of the !ToXml implementation is matched with a !ToJson implementation.
    9696
    9797(2) Web-tier changes -- utilizes the !MgXmlJsonConvert class to convert XML documents to JSON documents.
    9898
    99 (3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API call; the !MgXmlJsonConvert class is used if format is equaled to the JSON MIME type.
     99(3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API calls; the !MgXmlJsonConvert class is used if format is equaled to the JSON MIME type (i.e. "application/json").
    100100
    101 (4) Server changes -- an extra API has been added matching the respective API call (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and GetFDOCacheInfo has GetFDOCacheInfoAsJson as its JSON specific implementation); this is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation; and for the affected APIs, the !MgByteReader* is returned instead.
     101(4) Server changes -- extra APIs have been added to handle JSON requests (e.g. !DescribeSchemaAsXml has !DescribeSchemaAsJson as the JSON version, and GetFDOCacheInfo has GetFDOCacheInfoAsJson as its JSON implementation). This is because the original APIs return "STRING" and could not be efficiently adapted by the conversion process within the !MgXmlJsonConvert class implementation. For the affected APIs, the !MgByteReader* is returned instead.
    102102
    103103== Implications ==
     
    109109The following tests should be performed:
    110110
    111     * Resource Service unit tests must all pass.
    112     * Feature Service unit tests must all pass.
    113     * API test pages should be checked against the affected APIs.
     111    * Resource Service unit tests
     112    * Feature Service unit tests
     113    * Affected APIs on the HTML test pages.
    114114
    115115== Funding/Resources ==