+ All Categories
Home > Documents > Extending ArcGIS Enterprise -...

Extending ArcGIS Enterprise -...

Date post: 03-Jul-2018
Category:
Upload: nguyentu
View: 227 times
Download: 0 times
Share this document with a friend
31
Extending ArcGIS Enterprise Bill Major
Transcript
Page 1: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Extending ArcGIS EnterpriseBill Major

Page 2: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Agenda

• Introduction

• Server Object Extensions

- Demo

• Server Object Interceptors

- Demo

• Q&A

Page 3: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Introduction

Page 4: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

ArcGIS Enterprise

• Powerful built-in mapping and analytics

• Configurable tools and templates

• Extensible APIs and building blocks

ArcGIS

Page 5: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Why?Motivations for extending ArcGIS Enterprise

• Existing behavior is not adequate

• Custom business logic

• Security

• Integrating disparate systems

Page 6: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Options

Custom

applications

Geoprocessing

services

Server object

extensions

Image

Services

SOE

Server object

interceptors

Map

ServicesSOI

Page 7: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Options

Custom applications

Business logic coded in your

application

• Performance

• Reusability

• Scalability

Server Extensibility

Page 8: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Geoprocessingservices

• Full GIS library

• Asynchronous

• Python

Options

Page 9: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Server Object Extensions and InterceptorsEssentials

• Allows you to enhance capabilities of Map, Feature and Image services

• Services have to be published from ArcMap

• Extensions and Interceptors are not yet supported on services published from ArcGIS

Pro**

• Must have ArcObjects development experience

• Java or .NET

Page 10: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Server Object Extensions

Page 11: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Server Object ExtensionsBasics

• Server-side code

• Attaches to Map or Image services

• Custom API

- Needs custom applications

• Managed lifecycle

- No additional hardware needed to deploy

- No need to worry about authentication and authorization

- One instance of your object per instance of the service

Page 12: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Use cases

Editing Data Processing

Image Functions Network Analysis

Page 13: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

GIS Server

Map

Services

Image

Services

Well-defined API

SOE

SOE

Custom API

Out-of-box applications Custom applications

Architecture

Page 14: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Development process

Install SDKStart with

samples/templatesAdd logic and build

.soe file

Register via ManagerConfigure extension

on a serviceDebug

Page 15: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Implementation notes

Page 16: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

DemoServer Object Extensions

Image

ServicesSOE

Page 17: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Server Object Interceptors

Page 18: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Server Object InterceptorsBasics

• Server-side code

• Filters requests to Map or Image services

• No change in API

- Existing applications are unaware

• Two or more can form an ordered chain

• Managed lifecycle

- No additional hardware needed to deploy

- No need to worry about authentication and authorization

Page 19: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Use cases

Security & Access Control

Data Enrichment

NotificationsAuditing & Metering

Page 20: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

GIS Server

Map

Services

Image

Services

Well-defined API

SOI

SOI

Out-of-box applications

Architecture

Page 21: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

GIS ServerOut-of-box applications

ArcSOC

Map

Services

Web

HandlerSOI 1 SOI 2

Call sequence

Page 22: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Implementation notes

Page 23: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

DemoServer Object Interceptors

Page 24: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Road ahead

Page 25: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Coming to a release near you…

• New Enterprise SDK for Java and .NET developers

• Extend and intercept ArcGIS Pro-based Map, Feature and Image services

• Intercept calls to Utility Networks

Page 26: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Best practices and tips

Page 27: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Troubleshooting

• Logging

- Access to server logger in your code

- Messages can be logged at various levels (SEVERE, WARNING, INFO, …)

- You can query logs using ArcGIS Server Manager or Administrator Directory (Admin API)

- Always good to add logs in the initialization routines

• Make sure to package your dependencies!

• Be aware of service startup time (default: 5mins) if initialization takes longer

Page 28: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Debugging

• Hint: Process command line contains the name of the service

- Example: -Dservice=parcels.MapServer

• .NET

- Attach Visual Studio to running ArcSOC process

• Java

- Using ArcGIS Server Manager, enable remote debugging and configure port range

- Configure IDE for remote debugging

- Attach IDE to running ArcSOC process on a specific port

Page 29: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Samples & templatesAutomate development workflows using Admin API

Use GP services for long running tasks

Don’t change the API in an SOI

Implement security carefullyNo SOIs for hosted feature or tile requests

May need to increase ArcSOC heap size for intensive

extensions

Always…

Page 30: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Download the Esri Events

app and find your eventSelect the session

you attended

Scroll down to find the

feedback section

Complete answers

and select “Submit”

Please Take Our Survey in the Esri Events App

Page 31: Extending ArcGIS Enterprise - proceedings.esri.comproceedings.esri.com/library/userconf/devsummit-dc18/papers/dev-dc... · • Attaches to Map or Image services • Custom API ...

Recommended