AnsweredAssumed Answered

Client App -> Esri Server -> RESTful call to another non Esri server

Question asked by KieronFlynn on Jul 16, 2018

Hi Experts!


I am an experienced developer (C#, Java, Javascript, Python etc) who has been tasked with extending the GIS reach for a client. Note that I am not an experienced GIS developer, hence maybe the following numpty questions... ;o)


My clients have an existing web app written in the ArcGIS for Silverlight API that displays data via their ArcGis server (10.1). We are in the process of transforming a lot of the existing IT practices with all kinds of data, not just spatial. All this data will be stored via an external app using a NoSql database in the background.


Note that the above scenario (external app etc) is written in stone so I cannot change (there is a lot going on, GIS is just a small to medium part of the transformation). The data eventually will all be controlled via the external app with it's own mapping web sites etc (maybe using ArcGIS javascript API, maybe not), so not in ArcGIS server at all.


The first 'proof of concept' intermediate step in working in the GIS part of the work is to hopefully leave their ArcGIS for Silverlight app unchanged as it will eventually be discontinued. What I want to do is:


    Their WebGIS app makes a call to ArcGIS server as before.
    ArcGIS server then makes a restful call to our external app which returns just metadata, JSON would be good.
    ArcGIS server then returns the JSON result to the WebGIS app which displays the info in a window.


So in essence I want to make any changes for the rerouting of meta data restful calls to the ArcGIS server, I do not want to go near the silverlight app if at all possible.


I have been looking through lots of websites and nothing is telling me how to register non ESRI servers, via restful api, with Esri ArcGIS server. I did see a link to an app called MarkLogic which shows Esri Server making a restful call to MarkLogic, so it seems that want I want to do is possible.


Does Esri server handle this 'out of the box', or is their seperate coding to do via something like a server object extension (SOE)?


Otherwise is there a product that can sit between a web app and Esri ArcMap Server that can function as before for calls to data registered to the ArcMap server, but conditionally make a call via a restful API to a non esri data store?


Cheers Kieron