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