Using ArcGIS Server "externally"

595
2
11-28-2013 10:07 PM
DominikSchlarmann
Occasional Contributor
Hello,
I have some problems using the ArcGIS Server and the provided features with "not ArcGIS Software".
Some basic information:
Our project will use ArcGIS Server as the Backend for providing map and Feature Access Services. We will use the REST interface to perform the basic operations. We will have a webmap (implemented with the ESRI JavaScript API) and we will also have an OpenSource web map, which won't use any of ESRI solutions, which are not open source.

Some problems:

  1. Our developers have already defined an API, which is based on common REST principles like using GET, POST, PUT and DELETE. Because of the fact that all Feature Service operations are processed through the POST operation (POST only (http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Apply_Edits_Feature_Service_Layer/02...)) we have some trouble. I've realized that there is no option to change any of these principles (like changing the REST operation type).

  2. Another problem: Datatypes. Our API want to use some Arrays as datatypes: Using ArcGIS Server there is no option to use Arrays as a datatype. I've already tried to modify the json-schema manually, but then it's not possible anymore to import the service definition.

  3. Additional information (like an API-key), which should be placed in the header of the service json file is also impossible, right?



My question is: Would an adapter be a recommended solution to solve some of these issues? How much work would this be?
Although I doubt that this is possible (mainly because of the ArcGIS Server REST principles and datatypes)...

Would be nice to get some feedback.
Thanks!
Dominik
0 Kudos
2 Replies
RichardWatson
Frequent Contributor
The typical way to extend map services is to implement an SOE.  Is that what you have done?

If you implement an SOE then you have to play by ESRI's rules, e.g. GET and POST only.

If you implemented an custom web service then you can do whatever you want.

I assume that you have not implemented an SOE and have a custom web service which calls ArcGIS Server (using SOAP probably) when needed.  In this case you can expose any HTTP verb that you want, take any argument type you support, etc.  What you cannot do is to change the underlying ArcGIS Server APIs.  What you need to do is to reformat/translate the request to that which ArcGIS Server supports/expects.
0 Kudos
by Anonymous User
Not applicable
Original User: mboeringa2010

The typical way to extend map services is to implement an SOE.


SOE = Server Object Extension:

What is a server object extension?
0 Kudos