Let's Talk !
ArcGIS Server extensions are a lucrative opportunity for customized map and image generation applications like ESRI. Backed by a rich Software Development Kit (SDK) and a worldwide customer base, this Python-built ArcGIS SDK provides the ability to create bespoke server object extensions (SOEs) and server object interceptors (SOIs) alike.
ArcGIS is a Platform as a Service (PaaS) product that developers use to build mapping and spatial analysis applications with location services and tools. This, in turn, provides fundamental mapping, data management, and analytics for your ArcGIS Enterprise deployment.
The GIS server can host layers, publish services, and even provide Living Atlas of the World content to connect or disconnect deployments. This versatile server also supports OGC web services and custom geoprocessing.
Put simply it has a lot to offer. So much so that we decided to explore the main two feature extensions that ArcGIS has to offer:
The Esri SDK enables rapid prototyping of custom, GIS-powered apps with many templates and sample apps provided out of the box. Organizations can use the Esri SDK to build server object extensions and server object interrupters, quickly construct apps that perform geospatial analysis at scale, and deploy custom ArcGIS services on various devices.
For mobile development, the Esri SDK supports:
iOS: The ArcGIS Runtime SDK integrates with the Apple XCode IDE.
Android: ArcGIS providers can use the SDK's Eclipse IDE plugin to generate a familiar development environment with a full-featured, Android-native API.
Windows Phone: With support for Silverlight, Visual Studio, and Expression Blend, the SDK caters to experienced custom Microsoft developers.
If a business requires a map or service extension that supports desktop functionality with ArcGIS Pro, then the ArcGIS Enterprise SDK provides superior tooling. As is the case for building applications with the ArcObjects SDK, creating customized ArcGIS Server Manager pages will require a solid foundation of knowledge in the core components of the front-end web development stack.
Businesses that have already established the business logic need ArcGIS Server to execute; server object extensions that can help move beyond the standard features of the API. Since server object extensions are compatible with any application capable of making an HTTP request and parsing the subsequent response, companies can integrate SOEs into most existing IT stacks.
By leveraging the power of SOEs, ArcGIS providers can:
Use the existing ArcGIS APIs.
This is done to build custom map and image services that feature interoperability with current REST or SOAP ArcGIS applications. Custom application developers can help you turn any server object extension into a SOAP or REST microservice and make it directly accessible from the ArcGIS Services Directory. Your REST SOEs can be shown in the ArcGIS Services Directory, which exposes the typical object types that ArcGIS APIs understand (primarily in JSON format).
With several hundred thousand users across the ArcGIS ecosystem, the Services Directory provides an attractive opportunity to generate new revenue on autopilot.
Execute API calls quickly and efficiently.
Most SOEs work directly on ArcGIS Server's back-end in a self-contained manner, thereby eliminating the constant pinging that can slow map and image services down.
Moreover, SOEs use widespread data types, such as JSON and XML objects, strings, and canonical number formats, for input and output values. The interoperability and extensibility of SOEs significantly decrease onboarding time and the cost of implementation.
An SOE is built using coarse-grained methods that work on ArcGIS Server, removing the convoluted process of making multiple calls from the business server. SOEs efficiently encapsulate business logic, creating an ideal environment for executing calls quickly.
Your business needs to develop an SOE if it wants to expose functionality that’s unavailable in other ways or needs to be executed immediately. This is achieved by using custom code to work with geospatial data and maps.
When considering a developer, they must be experienced in SOE and have a thorough knowledge of various development platforms.
In contrast to SOEs, which excel at integrating existing business logic with ArcGIS Server's core features, server object interceptors are more flexible and better suited to alter the behavior of existing microservices in the ArcGIS Enterprise ecosystem.
Server Object Interceptors (SOIs) allow for the interception of requests for existing built-in operations of map and image services. Allowing your business to execute custom logic and override existing operations seamlessly, altering the behavior of these services to existing logic.
SOIs are powerful tools for creating custom extensions with:
Full-scale logging capabilities
As requests come into the application, SOIs can create detailed log files containing data on which user originated the request, all the parameters included in the bid, and much more. These log files then provide a scaffold to perform rigorous audits for debugging or other purposes.
Operation-level accesses control.
This automatic managing service requests if it can give specific users the permissions they need. Without custom extensions, the ArcGIS server only provides an "all or nothing" approach that either includes access for all users of a specific service or completely disables access to the service for everybody. However, an appropriate series of server object interceptors can implement complex filters to accept or deny an incoming request according to a user's assigned permissions.
Layer-level access permissions for map service users.
Like its default operation-level permission structure, ArcGIS Server's default data-access settings only give users the ability to access all data from a service or no access to no data at all. Hiring experienced developers can help bring SOIs together to create layer-specific data access permissions and let specific users access only the data they need instead of locking them out completely. Such layer-specific data access permissions cut down on the IT department's day-to-day workload and create a self-serve environment where information silos disappear.
Auditing and logging requests
Create a series of SOIs that log detailed information about incoming requests, such as the input parameters, and the user credentials passed in with the said request. This is ideally used for debugging purposes.
Compared to server object interceptors, server object extensions are more appropriate for giving map and image services extended capabilities without changing their existing behavior.
Designed to be chained together, SOIs provide a set of powerful primitives that, when combined, can execute arbitrarily complex logic. Multiple SOIs can be chained together on one or more services, and at any time, this list of SOIs can be modified and their execution chain order changed. To fully harness the power of ArcGIS, your team of GIS specialists should be fluent in C# or another language with .NET support to efficiently design service object interceptors for a Windows-only application.
SOEs also offer many benefits if your business wants to create service operations to extend the base functionality of maps and image service extensions.
Imagine you need to upgrade your work chair. Now you know what you want, how it should fit in with your workspace, and how it should accommodate to your needs. You have been searching the internet but every chair you come across is not quite right - yes, they’re the right size, but they don’t meet all your needs. You search to no avail, and this is because you know there must be better ones out there.
Then finally, you discover custom chairs. Yes, they are a little pricier, but this chair will be tailored to all your requirements, and in the long run, it's a worthy investment.
- This is how custom development should feel - like you’ve invested in something that you know is worth it.
Creating custom capabilities and functionalities for ArcGIS Server is beneficial for businesses currently limited by the few options ArcGIS currently offers. With a custom ESRI, there is endless potential in what benefits a business can reap from the software.
Such professional extension development requires a reputable vendor that can offer experience and knowledge in developing and integrating with ArcGIS and tailoring it to your business’s custom wants and needs. With skill and experience, your hired vendor will dramatically increase the utility of map and image services with your own custom edge.
With an understanding that extensions cannot be developed for multiple purposes but tailored towards a single service, your professional vendor must be able to develop individual extensions for each service type you require. In other words, they will need to create different extensions tailored towards a map service or image service. Not both.
To take full advantage of the custom extensions that ArcGIS can offer in ESRI, vendors require a well-founded understanding of languages like Java and .NET, as well as an understanding of REST and SOAP principles. It is also essential to keep in mind that extensions developed with Java can be deployed to the ArcGIS Server on Windows or Linux, but extensions developed with .NET can only be deployed to ArcGIS Server on Windows.
Hopefully, now you have a better understanding of the potential that custom ArcGIS extensions have to offer. The next step in pursuing such an opportunity for development is to consider your custom needs and then find a reputable vendor capable of working with them.
It is also essential to remember that every service type must have its extensions, be it a map service or an image service. In other words, it is not currently possible to develop a "global" ArcGIS Server extension. But with the leaps and bounds of technological advancements today, who knows what the future will hold.
For all the geospatial imaging and mapping power that ArcGIS Server offers, some of its default options fall short of the capabilities that enterprise customers need. But with custom ArcGIS server extensions, your business can be provided with in-demand add-ons to the software's internal functionality; and its role within an enterprise-grade IT stack.
With this custom touch, your extensions will be tailored to your business and what it needs to get ahead in today's competitive market.
Chetu is an Esri Silver partner with an Esri Release-ready specialty. Chetu’s certified ESRI GIS specialists have backend industry experience in Transportation, AEC, Telecommunications, and more to provide unparalleled services for ArcGIS Cloud, Desktop Suite, and Mobile toolbox.
Chetu offers technical and non-technical ESRI services per 100 Block of Hours with reduced rates contingent on hours purchased. Our lowest rates are attained when utilizing our full-time, dedicated resource(s).
Chetu, Inc. does not affect the opinion of this article. Any mention of specific names for software, companies or individuals does not constitute an endorsement from either party unless otherwise specified. All case studies and blogs are written with the full cooperation, knowledge and participation of the individuals mentioned. This blog should not be construed as legal advice.
Chetu was incorporated in 2000 and is headquartered in Florida. We deliver World-Class Software Development Solutions serving entrepreneurs to Fortune 500 clients. Our services include process and systems design, package implementation, custom development, business intelligence and reporting, systems integration, as well as testing, maintenance and support. Chetu's expertise spans across the entire IT spectrum.
- See more at: www.chetu.com/blogs