[GIS] Connect ESRI Feature Service to Oracle Spatial database

arcgis-serveroracle-spatialweb service

I need to display some business and feature data from an Oracle Spatial database on a website. The website will use ESRI's HTML5 map components (https://developers.arcgis.com/en/javascript/jssamples/#search/html5), which would get their features from some kind of Feature web service.

So I'm looking for a web service by ESRI which can be hooked on an Oracle Spatial data source. I don't know if I need a WMS, WFS or an OGC service (sorry, no experience with such services), as long as it's compatible with ESRI's HTML5 Javascript libraries.

Is there such a web service component in ESRI's software suite? Or do I need the full ArcGIS Server (including ArcSDE) to display Features in a website?

What kind of web service (WMS, WFS, OGC, etc.) would best be suited for such a scenario?

Best Answer

The ArcGIS JavaScript API only has built-in support for editing (and then writing the edited features) of ArcGIS Server Feature Services. (Or at least this was the case the last time I worked with it a few months ago.)

But the API does have a general purpose drawing and editing capability. If you can't get ArcGIS Server then you could potentially roll your own type of layer that knows how to talk to your back-end data store and persist any edits. The down side to this approach is that you'd need to be pretty darn good with HTML 5 and the dojo toolkit. And you'd also need a lot of patience since the documentation of the ArcGIS JavaScript API isn't geared toward people trying to extend it in this way. (I know this from experience.)

If you didn't have ArcGIS Server, you would need something on the server side to web-enable your Oracle Spatial data. This would make it accessible to the browser JavaScript. (GeoServer could be used in this way, for example.)


Have you considered using the OpenLayers client toolkit? It is a more general-purpose JavaScript library with no licensing cost. Combine that with GeoServer on the back end (to web-enable your Oracle Spatial data). You'd still have some glue code to write, but at least you wouldn't have the licensing cost of ArcGIS Server.


EDIT: If I understand your comment correctly, you have an existing Oracle Spatial instance. And you have (or will have) an existing ArcGIS Server install. And you want ArcGIS Server to view the data in Oracle without having to install ArcSDE (and its associated database objects) on your Oracle instance.

Yeah, I think you could get the data OUT of Oracle. That would go like this:

  • You'd have to set up Oracle client on your ArcGIS Server machine(s). See here.
  • You'd have to set up Oracle client on your ArcGIS Desktop machines.
  • You'd have to register your Oracle instance with ArcGIS Server so that any feature services you deploy will get their data direct from Oracle (rather than having their data copied upon deployment). See here.

After that you could make ArcGIS Server map and feature services that view the data.

Those services would probably not be editable through ArcGIS, though. Geodatabase editing in ArcGIS seems to need those extra ArcSDE metadata tables. (But I'm not an expert on that corner of the ArcGIS software, so maybe someone else would say different.)

Related Question