Changes between Version 8 and Version 9 of MapGuideRfc25


Ignore:
Timestamp:
Aug 9, 2007, 2:10:36 PM (15 years ago)
Author:
jasonchen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc25

    v8 v9  
    2323== Overview ==
    2424
    25 JSON (http://www.json.org) will be used to provide a lightweight data-interchange format between the web tier and any clients for requests that can currently return XML responses.
     25JSON ([http://www.json.org]) will be used to provide a lightweight data-interchange format between the web tier and any clients for requests that can currently return XML responses.
    2626
    2727== Motivation ==
     
    4242
    43431) The !MgJsonDoc Class [[BR]]
    44 - !MgJsonDoc is a wrapper over the jsoncpp implementation. !MgJsonDoc provides many easy-to-use interfaces, such as Begin* and End*, for creating JSON documents from an XML perspective. For example, to create as JSON document for the corresponding XML content---<Node>Text</Node>---, one would call !BeginObject("Node"), !SetValue("Text"), and !EndObject() subsequently.
     44- !MgJsonDoc is a wrapper over the jsoncpp implementation. !MgJsonDoc provides many easy-to-use interfaces, such as Begin* and End*, for creating JSON documents from an XML perspective. For example, to create a JSON document for the corresponding XML content, {{{<Node>Text</Node>}}}, one would call !BeginObject("Node"), !SetValue("Text"), and !EndObject() subsequently.
    4545
    46462) The !MgXmlJsonConvert Class [[BR]]
     
    8989# !GetVisibleMapExtent (1) [[BR]]
    9090
    91 where the appended labeling scheme indicates the different implementation considerations:
    92 (1) Web-tier changes -- every !ToXml function is matched with an !ToJson function implementation that creates a JSON document in place, [[BR]]
     91where the appended labeling scheme indicates the different implementation considerations: [[BR]]
     92(1) Web-tier changes -- every !ToXml function is matched with an !ToJson function implementation that creates a JSON document in place. [[BR]]
    9393(2) Web-tier changes -- utilizes the !MgXmlJsonConvert class to convert XML documents to JSON documents. [[BR]]
    9494(3) Server changes -- an extra parameter "CREFSTRING format" has been added to the respective API call; the !MgXmlJsonConvert class is used if format equals to the JSON MIME type. [[BR]]
    95 (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.
     95(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.
    9696
    9797== Implications ==