We´re are re-designing our desktop-app which consists of some millions of lines of ArcObjects-code. To do this, we plan to create a prototype based on ArcGIS Server and the Runtime SDK.
But in contrast to the samples we plan to use the runtime-client as a service to access it within a WebGIS, where the actual presentation happens. So we end up a three-tier-architecture with an ArcGIS-Server as data-layer, the runtime-app as business-layer and the web-client as presentation-layer.
So my question is if this is possible with the runtime-SDK or if there are better oppourtunities to extend the ArcGIS-server with some business-logic.
Some words to that logic: currently it contains dozens of event-handlers registered to the events propagated by ArcMap as well as the geodatabase. So in order to store a feature, we need to be able to implicitely update other features that may be related. This in fact triggers recursive store-operations to those features. Another feature we´re currently using and extending is the ability to undo and redo operations or even rollback the entire session.
I know this question is fairly complex and not easy to answer. But so far we couldn´t get any idea on which framework to use.
The ArcGIS Runtime components are not currently supported for use in a service. It is a requirement we are monitoring and we hope to be able to support this in the future. I will add this thread to the list of requests.
There are ways of extending ArcGIS Server to implement your behavior - for more info see About extending services—Documentation | ArcGIS Enterprise.
Thanks for your reply. We already checked the Server-Extensions. However we´re unsure on how far those will be supported in the future as they are based on ArcObjects. Of course we could re-use some of our legacy-code, but it doesn´t seem a good alternative though.
On the other side we could use some GeoProcessing-modells. Unfortunately debugging those models can be hard and annoying. Furthermore it still needs the client (in our case the Runtime-app) to call that model-functionality in some way and expose it to the web-client. Or can we access those models directly within the ArcGIS-server from our web-client?
Hi, I think the OP raises a valid point. When Esri dropped support for ArcObjects in IIS, many of us were left out in the cold. To transfer all the business logic to an SOE makes our applications very chatty. The runtime has the ability to fill most of that void, with only a minimal set of functionality needed to be implemented through and SOE.
I agree that Runtime enables rich functionality and probably most of our needs. However we still have the problem on accessing the runtime-app as a service from our web-client.