ArcGIS Enterprise Software Development Kit (SDK) allows developers to extend ArcGIS Enterprise functionalities. It supports extending the functionality of the map services and image services published from ArcGIS Pro. There are two ways to extend these services:
-
Server object extensions (SOEs) allow you to create new service operations to extend the base service functionality. SOEs are appropriate if you want to perform some well-defined business logic to work with the GIS data and services that is not easily accomplished using the existing service APIs.
-
Server object interceptors (SOIs) is capable of intercepting requests for built-in operations of map services and image services. This allows you to execute custom logic and alter the behavior of these services by overriding existing operations in a way that is seamless to existing clients, such as ArcGIS Pro, Map Viewer, and more.
-
Custom data feeds The ArcGIS Enterprise custom data feed implementation is a customization and administration workflow. Bring data into your ArcGIS Enterprise from any data source in real time. See how in this blog and video.
SOEs and SOIs can be developed with .NET or Java.
Get started with SOE and SOI
Get started with custom data feeds
Prerequisites
The ArcGIS Enterprise SDK is included with your license for the ArcGIS Enterprise product. There is no separate purchase or authorization mechanism specifically for the ArcGIS Enterprise SDK. However, as SOEs and SOIs must be deployed via ArcGIS Server, you must have a licensed ArcGIS Server to deploy or test the SOE/SOI.
Before you install the SDK, check System Requirements to make sure you have installed the following software or components of supported versions:
- Developing a .NET SOE or SOI:
- Visual Studio
- .NET Framework
- Developing a Java SOE or SOI:
- Java IDE
- JDK
- Maven (required since the 10.8.1 release)
Install ArcGIS Enterprise SDK
Follow these steps to download ArcGIS Enterprise SDK:
-
Download at My Esri.
- Log in to https://my.esri.com website.
- Find ArcGIS Enterprise under Downloads tab.
- Click the View Downloads button.
- Find ArcGIS Enterprise SDK under Developer Tools section and click Download.
Then, you can install ArcGIS Enterprise SDK on your development environment. See SDK installation guide for .NET and Java.
Build a simple SOE or SOI
The following are simple SOEs and SOIs that you can start with:
- Sample: .NET simple REST SOE sample
- Sample .NET simple SOI sample
- Walkthrough: How to create and develop a .NET REST SOE
- Walkthrough: How to create and develop a .NET SOI
- Sample: Java simple REST SOE sample
- Sample: Java simple SOI sample
- Walkthrough: How to create and develop a Java REST SOE
- Walkthrough: How to create and develop a Java SOI
Video
![](/enterprise-sdk/static/bfb2c41e521fc2a7646f59883c9c6cdc/c160a/dev-summit-2023.jpg)
Extending and Automating Your Enterprise
Esri Developer Summit 2023
See how custom data feeds are used to connect your GIS to various data providers such as Yelp and MongoDB.
![](/enterprise-sdk/static/544013b06a1d5d2122e045d0bf02dcee/8b78a/video1.png)
Extending and Automating Your Enterprise
Esri Developer Summit 2021
Utility Network takes the Enterprise SDK and demonstrates how you can create a Server Object Interceptor (SOI) to enhance collaboration and coordination.
![](/enterprise-sdk/static/26dea284b9012e0ffd34278a89d8a57e/1b392/video2.png)
Extending ArcGIS Enterprise: Developer Technologies and Webhooks
Esri Developer Summit 2021
Learn about using Server Object Extensions (SOEs), Server Object Interceptors (SOIs), and Webhooks, to extend ArcGIS Enterprise functionality.
![](/enterprise-sdk/static/a11a53fb1d726ca7d44c31b7dd7c776a/58c22/video3.png)
ArcGIS Enterprise SDK: An Overview of the Utility Network API
Esri Developer Summit 2021
This session will explore how to extend the Utility Network Service REST API to answer various business needs using the ArcGIS Enterprise SDK.
![](/enterprise-sdk/static/dbedb89cb9b48b890f671b8bc4a02f25/df8d2/video4.png)
Extending ArcGIS Enterprise
Esri Developer Summit 2020
![](/enterprise-sdk/static/735605cd7e5635e4a2f2f09f53bfe654/ee691/video6.png)