Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Module Maintainer:

Gabriel Roldán

Status:

(star) (star)

Email Help:

Geotools-gt2-users@lists.sourceforge.net

Volunteer:

geotools-devel@lists.sourceforge.net

Plugin:

DataStore

Recent Development (as of Jan. 2007)

For the 2.2.x branch the arcsde module has returned to the build process with a stub jar to replace ESRI dependencies.

For the 2.3.x branch, there is a candidate implementation of ArcSDE Raster Support.  You can find out about it here. Raster support will be ported to the 2.4.x branch at some point after it is accepted into 2.3.x.

For the 2.4.x branch arcsde is working on returning to supported status; we need to provide a profile for nightly builds to run.

Module Status

(tick) The arcsde module is stable for data reading, most pending issues refers to transaction support.

(tick) The arcsde module is mostly stable for transactional data modification, but issues remain.

(tick) The arcsde module is currently a part of the nightly build

(error) The test suite is not being run as a part of the nightly build as there is no build profile which would connect it to a live SDE instance to perform tests.

ArcSDE, the jsde jars and building a 'working' ArcSDE module

To connect to ArcSDE from java code, ESRI publishes a java library which is split across 2, 3 or 4 jars (depending on the version you use). These "java-to-ArcSDE connector jars" are here called the 'jsde' jars, so as to seperate them from our own ArcSDE module.

The ArcSDE module relies on the jsde jars for all its direct communication to ArcSDE, as indeed any java-based ArcSDE client application does. However, due to concerns about redistributing ESRI's jsde jars, geotools wanted to avoid having everyone who built gt2 download the jsde jars from the geotools maven site. This was accomplished by the use of a 'dummy' api, which is an exact mimic of the jsde api, only it doesn't actually do anything. It's simply classes which allow compilation of the ArcSDE module, without actually having or downloading the jsde jar files.

If you want to actually connect to ArcSDE using the ArcSDE module, you'll need to download the jsde jars and instruct maven to actually use them when building the ArcSDE module.

You have to build your module against the jsde jars if you want to use it to really access ArcSDE

Icon

There have been reports of problems if you:
1. Build the ArcSDE module against the dummy api
2. Copy the ArcSDE module into their application, leaving the dummy api behind
3. Copy the actual jsde jars into their application
4. Run the dummy-built module against the real jsde jars and try to access ArcSDE and fetch data

Mostly these problems have to do with static final constants which have different values and get inlined by the compiler. There is a jira issue to track this, so if you need to do the above, check it out

The jsde jars are actually very easily available. You can download the 9.1 jars here Just unroll the tar, zip and then tar files that you get, and extract the jsde_sdk.jar and jsde_pde.jar files.

Here's how to build the ArcSDE module with the real jsde jars:

geotools version

sde version

instructions

2.2.x

any

Modify the module pom.xml to include dependencies on com.esri:jsde_sdk:9.0,com.esri:jsde_jpe:9.0 and com.esri:jsde_concurrent:9.0. All these dependencies are commented out in the pom.xml, you just need to uncomment them and rebuild.

2.3.x

any

Modify the module pom.xml to include dependencies on com.esri:jsde_sdk:9.0,com.esri:jsde_jpe:9.0 and com.esri:jsde_concurrent:9.0. All these dependencies are commented out in the pom.xml, you just need to uncomment them and rebuild.

2.4.x (trunk)

9.0

add the parameter -DhaveSDEJars=true to your maven build command. Something like this will work just fine:

Note that the jsde version 9.0 jars are publically available at maven.geotools.fr, so your maven build will just automatically download these and build everything correctly.

2.4.x (trunk)

other than 9.0

add both the parameter -DhaveSDEJars=true and -Dsde.version=<version> to your maven build command. Something like this will work:

Note that no versions other than jsde 9.0 are available via a maven repository, so you'll need to inject:

  • com.esri:jsde_sdk:YOURVERSION
  • com.esri:jsde_jpe_sdk:YOURVERSION
  • com.esri:jsde_concurrent:YOURVERSION
  • (for version 9.2) com.esri:jsde_icu4j:YOURVERSION
    into your local maven repository yourself. Something like this should do the trick (once you've downloaded/tracked down the jars you wish to inject):

Getting ArcSDE to 'supported' status:

There are five 'support stars' to earn. In order to get the ArcSDE module to supported status, we need at least four, and eventually five.

status

description

(question)

Passes IP check, basically has correct headers

(question)

Releasable - has no non blocking bugs in jira

(star)

Used in anger - Used by GeoServer or uDig on large real world datasets – used by MassGIS to serve the statewide landuse dataset. Takes 15 minutes to grind through the renderer, but it works!

(question)

Optimized - has been tuned to meet hard performance requirements (example shapefile)

(star)

Supported - user docs, module maintainer watches user list, answers email etc.. – Both Gabriel Roldán and Saul Farber watch the list. Javadocs could use a review.

IP Review

Please refer to:

Outstanding Issues

Loading
Type Key Summary Assignee Reporter Priority Status Resolution Created Updated Due

  • No labels