ArcSDE plugin driver for MapServer

Howard Butler hobu.inc at GMAIL.COM
Tue May 15 13:25:14 EDT 2007


All,

I have received a commitment to fund the implementation of RFC 3 and  
RFC 8 for the ArcSDE driver.  This work will be targeted for  
MapServer 5.0, but could be backported to the 4.10 branch if people  
think it is worthwhile (are we going to have another 4.10 release?).

Howard

	ESRI ArcSDE Plugin Driver for MapServer
========================================

Purpose
=======

To implement MapServer's plugin architecture (MS RFC 3 and MS RFC 8 [1])
for the MapServer ArcSDE driver to provide an alternative (and  
optional) approach to
alleviate the need for hard linking version-specific ArcSDE code in  
libmap.dll.


Technical Details
=================

Overall
-------

MapServer currently embeds all SDE-specifc symbols and linkages  
within libmap.dll.
The limitation of this approach is that the use of alternative versions
of the ArcSDE C API SDK (ie, version 9.0, 9.1, or 9.2) requires that  
libmap.dll
be compiled separately against each version.  From a user-facing  
perspective, the
biggest problem is a user must partake in "dll swapping" to be able to
get the right combination of libmap.dll with a given linkage to a  
specific
ArcSDE C API SDK.

Observations
------------

Consequences of the proposed approach in contrast to the current  
behavior:

* Layers using this plugin will be of CONNECTIONTYPE 'PLUGIN' instead  
of 'SDE'.

* mapserv -v will not report SUPPORTS=SDE when using the SDE plugin  
approach.

* Each layer will require a 'PLUGIN' mapfile directive with the  
location of the
   MapServer SDE plugin dll.

* The scope of this work will be limited to mapsde.c, nmake.opt, and  
makefile.vc.
   While it would be possible to use this approach on GNU-style  
builds, initial
   development will be contained to the MSVC/Windows platform only.

* An additional makefile symbol, USE_SDE_PLUGIN, will be added to  
switch the
   compilation of the plugin-specific code and switches.

* Development will take place against the "trunk" of MapServer,  
targeted at
   the MapServer 5.0 release.

Documentation
-------------

Standard user documentation will be written and placed on the  
MapServer website
describing the compilation of the SDE plugin, which switches need to  
be set
in nmake.opt, and a short description of how to utilize a PLUGIN  
layer in a mapfile.

Intellectual Property
---------------------

The code and configuration described in this proposal will become a  
regular
part of the MapServer library and software project, and its source  
code and
documentation will be released under the normal MapServer open source  
license.


[1]
http://mapserver.gis.umn.edu/development/rfc/ms-rfc-3
http://mapserver.gis.umn.edu/development/rfc/ms-rfc-8



More information about the mapserver-dev mailing list