Changes between Version 11 and Version 12 of MapGuideRfc68


Ignore:
Timestamp:
Jun 26, 2009, 3:12:18 AM (15 years ago)
Author:
leaf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc68

    v11 v12  
    2828== Motivation ==
    2929
    30 Currently all MapGuide Web .NET API is in one single dll !MapGuieDotNetApi.dll, which includes Foundation, Geometry, !PlatformBase, !MapGuideCommon, !WebApp and !HttpHandler components. It isn’t good for users to reuse functionality provided by MapGuide Web .NET API. For example, users have to include a reference to all components even if they just want to use Geometry related API.
     30Currently all MapGuide Web .NET API is in one single dll !MapGuieDotNetApi.dll, which includes Foundation, Geometry, !PlatformBase, !MapGuideCommon, !WebApp and !HttpHandler components. It is nearly impossible for users to reuse some of functionality outside of MapGuide because MapGuide .NET Web API depends on MapGuide enviroment. For example, users can't use coordinate system transformation functionality outside of MapGuide. So the key motivation of this RFC is to make MapGuide Web .NET API more reusable so that more projects or products can get benifits from MapGuide.
    3131
    3232== Proposed Solution ==
    3333
    34 MapGuide Web .NET API will be divided into five separated dlls. SWIG is used to create MapGuide .NET API as before.
     34
     35
     36In order to keep the existing MapGuide application compatible with this RFC, !MapGuieDotNetApi.dll still exists. However, it become a assembly with multiple files.
     37
     38(a) Create the following netmodule files.
     39
    3540 * OSGeo.!MapGuide.Foundation.dll: contains API in Foundation component.
    3641 * OSGeo.!MapGuide.Geometry.dll: contains API in Geometry compoent.
     
    3843 * OSGeo.!MapGuide.!MapGuideCommon.dll: contains API in !MapGuideCommon compoent.
    3944 * OSGeo.!MapGuide.Web.dll: contains API in !WebApp and !HttpHandler components.
     45
     46(b) Create an assembly for each .netmodule in step (a). Then the following files will be created.
     47 * OSGeo.MapGuide.Foundation.dll
     48 * OSGeo.MapGuide.Geometry.dll
     49 * OSGeo.MapGuide.PlatformBase.dll
     50 * OSGeo.MapGuide.MapGuideCommon.dll
     51 * OSGeo.MapGuide.Web.dll
     52
     53(c) Create an assembly for all .netmodule in step (a). The following file will be created.
     54 * MapGuideDotNetApi.dll
    4055
    4156== Implications ==