arcgis for developers seminar - systematics...• comprehensive widget set means rapid application...

40
11/18/2019 1 ArcGIS for Developers Euan Cameron CTO Developer Technology, Esri Welcome 1 2

Upload: others

Post on 16-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

1

ArcGIS for Developers

Euan CameronCTO Developer Technology, Esri

Welcome

1

2

Page 2: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

2

Easier, Open,and Accessible

Data

Computing GIS Innovation

Expanding the Power of GIS

WebGIS

GIS Is Advancing RapidlyIntegrating and Leveraging Many Innovations

WebGIS

Data

Imagery

Drones

Weather

Demographics

3DTraffic

Scientific Measurements

Lidar

Full-Motion Video

Crowdsourcing

IoTReal-Time

Remote Sensing

Expanding the Power of GIS

Easier, Open,and Accessible

GIS Is Advancing RapidlyIntegrating and Leveraging Many Innovations

3

4

Page 3: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

3

WebGIS

Computing

SaaS

Faster

MicroservicesWeb Services

Cloud

Big DataMobile

Networks

Distributed Computing

Containerization

Machine Learning / AIVirtualization

Expanding the Power of GIS

Easier, Open,and Accessible

GIS Is Advancing RapidlyIntegrating and Leveraging Many Innovations

WebGIS

GIS Innovation

Distributed ArchitectureContent

Real-TimeData Exploration

Analytics

Imagery

Scripting 3D Visualization

Smart Mapping

Apps

Predictive Modeling

Geospatial AI

Expanding the Power of GIS

Easier, Open,and Accessible

GIS Is Advancing RapidlyIntegrating and Leveraging Many Innovations

5

6

Page 4: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

4

Teams

Distributed

Leveraging

Web Services

Engaging

Everyone

Individuals

Departments

Organizations

Communities

Sharing and

Collaboration

. . . and

Interconnected

Web GIS Is the Modern GIS ArchitectureHelping Everyone Do Their Work Better

Digital Transformation

Digital Automation

Simultaneous

Sequential Workflows

Changing How Organizations as a Whole . . .

. . . Do Their Work

Integrated Operations

Web GIS Is Driving Digital TransformationHelping Organizations Re-envision Their Workflows

7

8

Page 5: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

5

Web Apps

App Builders

Smart Mapping

Portals

Web Maps

Online Content

Hub

Open Data

Solution Apps

Distributed

Story Maps Visualization

Field Apps

Location Analytics

. . . Fueled by Powerful Data and Analytics

What Makes Web GIS So Compelling?Easy, Accessible, and Interconnected . . .

Organizations

Communities

People

Supporting Communication

and Real-Time Awareness

A Common Framework . . .

for Collaborating and Problem Solving

Web Maps Engage and Interconnect . . . EveryoneProviding a Common Language

9

10

Page 6: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

6

ArcGIS Is Open and Interoperable

Certifications

. . . Successfully Integrated Into Thousands of Systems

AutoCAD

SAP HANA

Adobe Creative Cloud AWS

AzureMS Office

Oracle

SQL Server

Teradata

NetezzaSharePoint

Jupyter Notebook

Power BI

R Python

Revit PostgreSQL

Altibase

Dameng SQLite

Extensible ArchitectureOpen-Source Contributions

Open APIs & SDKsOpen Data Access Open-Source Integration

REST

OPeNDAPWMS

WCS CSW

GML

WFS

KMLWMTSSLD

GeoPackage

SOAP

IFC

LAS

netCDF

SQL

JSON WaterML CityGML

OneGeologyLERC

Shapefiles

Web Scene (I3S)

INSPIREXLSForm

WPSIMDF

Open Standards and Formats

Direct Product Integration

Open Software Architecture

Embeddable

. . . Many

Hadoop

Strategies for Building Custom Solutions

1. Take existing ArcGIS Apps and configure

2. Build custom web and mobile apps using builders

3. Build custom apps using ArcGIS client APIs

4. Extend ArcGIS Desktop and Enterprise

5. A mixture of all of the above

- ArcGIS system architecture designed to support this interoperability

11

12

Page 7: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

7

500,000+ Web Apps Created and Deployed

AppStudio

Build Once, Deploy on Any Device

Simple and Powerful

Many Widgets

Web AppBuilder

3D

ArcGIS App Builders | Enable Everyone to Build Apps

Deployable Independently

Improved Developer Program

Supporting GIS, Enterprise, and Independent App Developers

• Performance

• Usability

• Functionality

New and Improved

JavaSwift

.NET

Qt

Xamarin

Objective-CC++

C#

KotlinQML

SDKs

ArcGIS Developer Platform | Extending GIS and Creating New Apps

For Devices, Web, and Desktop

Connected andDisconnected

Web Apps

Pro Add-Ins

Python API

Pro SDK

JavaScript API

ArcGIS

Native

Device Apps

RuntimeSDK

13

14

Page 8: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

8

Dashboards

Story Maps

Social MediaBrowser AppsProfessional

Desktop Apps

Server Admin

Apps

Mobile Apps

The ArcGIS System

A P I s

ArcGIS Developer Platform | Apps Empower Your Users

CityWorks

OSIsoft

Navigate

Geodecisions

Pix4D

Trimble Leica

BadElf

Operations Dashboard

Survey123 for

ArcGIS

Collector for ArcGIS

Navigator for ArcGIS

ArcGIS for Desktop

Workforce for ArcGIS

Field

Operations

Drone2Map for

ArcGIS

Esri Apps and Your Apps Working TogetherA Field Apps Example

15

16

Page 9: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

9

ArcGIS APIs

ArcGIS APIs

• Client APIs for building Apps

- Web

- Mobile

- Desktop

• Extension APIs for customizing and extending ArcGIS

- Desktop

- Server

17

18

Page 10: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

10

Client SDKs

ArcGIS Client APIs

• ArcGIS REST API

• ArcGIS API for JavaScript

• ArcGIS Runtime SDKs

• ArcGIS API for Python

• APIs architected to take full advantage of the Web GIS Pattern

19

20

Page 11: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

11

ArcGIS Client APIs Designed for Web GISWorking with the GeoInformation Model – Maps and Layers

• The GeoInformation Model is the information model of WebGIS

• Content can be authored using online Map Viewer or ArcGIS Pro

- Complex advanced visualizations easily created with Smart Mapping

- Capabilities such as popups, bookmarks and slides supported

• The API for working with raw services is the same as content authored

- No capabilities are lost

• Working with Maps, Scenes and Layers are more productive than the raw services

• Apps can be updated on the fly with new content via the maps they open

ArcGIS Client APIs Designed for Web GISWorking with the GeoInformation Model – ArcGIS Identity

• Users have a unique secure identity

• Content saved under user name

• Users can be assigned special privileges

• Users can share or keep content private

• Organize users, content and services

• Find, upload, share, configure, secure

21

22

Page 12: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

12

ArcGIS REST API

• ArcGIS Online and ArcGIS Enterprise services are RESTful services

• Over 25 service types

• Grouped into 4 sub categories

- Location based services

- GIS services

- Users, groups and items services

- Enterprise administration services

• Higher level ArcGIS APIs wrap these REST services

- Simplifies development

- Presents capability in a more familiar environment

- The underlying REST service can still be access directly if required

https://developers.arcgis.com/rest/

ArcGIS API for JavaScript

• A modern JavaScript API for Web GIS

• Supports 2D and 3D visualizations

• Data driven visualization

- Turn data into information

- Where, What, How Much, and When

- Smart Mapping

• Supports elegant and engaging user experiences

https://developers.arcgis.com/javascript/

23

24

Page 13: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

13

ArcGIS API for JavaScriptA Modern API

• Simple and consistent API

• Rich visualizations possible with simple layer styling

• Works well with various JS frameworks and development environments

• Harnesses the power of modern browsers

- High performance map display with WebGL

- Client side engines for local processing of data

ArcGIS API for JavaScriptHigh Performance Map Display

• Combination of fast rendering on the client and efficient delivery of content

• Tiled feature services support efficient delivery of GIS features

- Tiles generated on the fly on the server and cached

- Updated automatically when underlying data changes

- Geometry and attributes are sent to client

- Supports editing

• Vector Tiles supported when full features or data currency not required

- After initial creation less server load

25

26

Page 14: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

14

ArcGIS API for JavaScript2D and 3D Mapping

• Programming pattern similar between 2D and 3D views

- Views share implementation for layers, renderers, tasks, geometry, symbology, pop-ups, and

navigation

• 3D adds specific capabilities for environmental aspects and camera

• Unique 3D symbology

• Data driven visualization

ArcGIS API for JavaScriptAnalytics Server and Client Side

• Local engines

- Geometry

- Projection

• Interactive scene analysis

• Network analysis on the server

• Geoprocessing on the server

27

28

Page 15: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

15

ArcGIS API for JavaScriptUser Experience

• Responsive user interface design

• Mobile first design principle

- Progressive advancement and graceful degradation

• Comprehensive widget set means rapid application development

- Over 40 widgets including; Legend, Coordinate conversion, Measure, Search, Popup, Print, …

- Rich popup implementation

- Consistent out of the box styling

• Possible to reuse business logic and style custom user interfaces

- Use themes, write your own CSS styles or customization via SASS

- Repurpose widgets to work with frameworks such as React, Bootstrap and JQuery.

ArcGIS Runtime SDKsSupporting Native App Development

• Supports 6 platforms

- Android, iOS, macOS, Linux, Universal Windows Platform and Windows

• 5 APIs

- .Net, Android, iOS, Java and Qt

• Allows you to select the development environment of your choice

- Integrates with your solution

- Makes you productive

• Your users benefit from the optimum solution

https://developers.arcgis.com/arcgis-runtime/

29

30

Page 16: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

16

ArcGIS Runtime SDKsWhy Build a Native App?

• Only native apps can give the best performance

• Fully leverage device capabilities

• Access all peripherals via their native SDKs

• Best debugging experience

• Offline use of ArcGIS

ArcGIS Runtime SDKsAn Architecture Designed to Maximize Performance and Reuse

C++ runtime core

WinLinux OS XAndroid iOS UWP

x86 x64 ARM ARM64x86 x64 ARM ARM64DirectX

OpenGL

OpenGL ES

31

32

Page 17: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

17

ArcGIS Runtime SDKsC++ Core has Advantages

• C++ core and hardware accelerated rendering offer best performance available

• Performance of C++ core is independent from API chosen

• Common conceptual model across all public APIs

• Capabilities the same across all APIs and devices*

• Public APIs can vary to conform to their platform norms

* Dependent on device support

ArcGIS Runtime SDKsWorking with Layers from Services

• Feature layer

• Raster layer

• Map Image Layer

• Scene Layer

• Vector tiles

• OGC services

- WMTS, WMS, KML and WFS

• Rich symbology with smart mapping

• Layers are created from items or in code connecting directly to the service

33

34

Page 18: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

18

ArcGIS Runtime SDKsLayers from Local GIS Data

• Feature Layer with vector data

- Mobile Geodatabase, GeoPackage, Shapefile

- Read and write

• ENC Layer – S57 with S52 symbology

• Raster Layer

- Mosaic dataset, GeoPackage,

- Raster file formats: ASRP/USRP, CRF, DTED,

GeoTIFF/TIFF, HFA, HRE, IMG, JPEG, JPEG2000, NITF, PNG, RPF, SRTM (HGT), USGS DEM

- Apply raster renderers and raster functions

• KML Layer

- Full OGC KML 2.2 + extensions

- Read and Write*

• Mobile Map Packages

• Mobile Scene Packages

• Scene Layer Packages

• Vector Tile Basemaps

ArcGIS Runtime SDKsWorking with Maps

• Working with maps

- Maps are a central API component

- Build a Map, display it in a MapView

- Maps are created from items or code

• Platform sharing of maps and layers

- Share & consume maps from Portal, ArcGIS Pro or other apps

- Share maps and layers in Mobile Map Packages

• Offline maps and layers

- Take maps and layers offline using on-demand or pre-planned workflows

35

36

Page 19: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

19

ArcGIS Runtime SDKs

Offline Mapping Workflows

• Build everything up in code and raw data on the device

+ Provides most flexibility and data type options

- Development intensive and less flexibility after deployment

• Author Maps and Scenes in ArcGIS Pro and share via Packages

+ Productive authoring experience with advanced cartographic options

- Read only maps and data

• Author map for use within Online or Enterprise and take offline using on-demand workflow

+ Productive authoring experience with little overhead to support offline use

+ Supports data editing with sync

- Must consider performance impacts when there are a large number of field users

• Author map for use within Online or Enterprise and take offline using on pre-planned workflow

+ Productive authoring experience with a small amount of upfront cost for defining offline areas

+ Supports data editing with sync

± Field areas are restricted to admin selected areas

ArcGIS Runtime SDKsWorking with 3D Content

• High performance on Desktops, laptops and mobile devices

• All 2D layers work in 3D

• Specific 3D layers for 3D content

- Terrain

- 3D features

- Models

- Integrated meshes

- Point clouds

• Interactive analysis tools

- Viewshed

- Line of sight

- Measure

37

38

Page 20: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

20

ArcGIS Runtime SDKsAnalysis

• Works with services

- Geoproessing

- Network analyst

• Local Engines

- Geometry

- Projection

- Network

• Interactive 3D Analysis

ArcGIS Runtime SDKsUltimate Performance

• Device capabilities continue to grow

• Harnessing this power is critical for tomorrows Apps

• Runtime core brings it all together

- Display

- Data access

- Analytics

• Apps that use large data volumes updating in real-time are now possible

39

40

Page 21: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

21

ArcGIS Runtime SDKsExtended Reality

• Developers want to use their authoritative GIS content and analytics across the mixed

reality spectrum

• Critical needs for usability

- Virtual reality needs high fidelity and responsive performance

- Augmented reality needs positional accuracy

Physical

Reality

Digital

Reality

Mixed Reality

Presence Immersive

Augmented RealityiOS and Android

• Just released into production!

• AR capabilities delivered as

- Capabilities exposed in the Runtime APIs

- Open source toolkits to work with hardware

• Supported use cases

- Fly over: Education

- Table top: Design

- World scale: Inspection

41

42

Page 22: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

22

Navigation

• Voice guidance, auto re-route

• Use your own data or enhance ours

• No connection needed

ArcGIS RuntimeLocal Server

• Local server is a ‘mini’ ArcGIS server dedicated to one client App

• Supports Windows and Linux desktops

• Support for ArcGIS Desktop and ArcGIS Pro packages

• For advanced analytical workflows

• Useful when integrating with ArcGIS Desktop workflows

• Independent SDK

- Works with .NET, Java and Qt SDKs

43

44

Page 23: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

23

ArcGIS Python APIA Whole New Way to Experience and Leverage ArcGIS

• Analytics - Data Science

• Scripting and Automation

• System Administration

Command Line

Scripts JupyterNotebooks

https://developers.arcgis.com/python/

ArcGIS Python APIProviding Answers to Questions Through Data Science

• What happened, where and when?

• Why did it happen?

• What will happen, where and when?

• What do we do about it?

45

46

Page 24: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

24

ArcGIS Python APIThe 3 Stages of Data Science

• Data preparation

• Analysis

• Dissemination

Familiar Experiences

Advanced Analysis,Scientific Methods, Tools, Algorithms

Notebooks with ArcGIS API for PythonYour Lab for Enterprise Data Science

• API Designed for Data Science

• Delivered via a familiar experience

• Brings Data Science to your Web GIS

• Designed for Machine Learning and Deep Learning workflows and models

- Build, train, iterate, test, deploy, infer

• Create reproducible research, share and collaborate

47

48

Page 25: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

25

Spatial Analysis,

Geocoding, Geoenrichment

Raster Analytics & Image Processing,

Geoanalytics(Distributed Computing, Big Data)

Notebook Server

Where is the Analysis Done?

DevOps with Chef and the Python API

• The lifecycle of the Web GIS from deployment to exploitation and growth

• Chef recipes for installing and administering ArcGIS Enterprise

• Python API used to manage users and content

Automation is no longer an option – it’s critical

Deploying your Web GIS

Expanding your Web GIS

Individuals

Teams

Departments

Organizations

Harnessing your Web GIS

49

50

Page 26: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

26

Automate your ArcGIS Enterprise deployments…

Automation for DevOps

ChefInfrastructure as Code

Enterprise Builder

For GIS Professionals

Cloud Builder CLI & Cloud Formation Templates

Cloud Builder &PowerShell DSC

Machine images, advanced cloud deployment options

AWS Azure

Automate your ArcGIS Online and ArcGIS Enterprise workflows…

Create, manage, monitor your organization

Org Administration

Your modern GIS, automated by the ArcGIS API for Python

AnalyticsMapping &

Visualization

Field

Mobility

MonitoringData

Management

Decision

Support

Design &

Planning

Sharing &

Collaboration

Constituent

Engagement

Connect to and integrate with

external systems

EnterpriseIntegration

51

52

Page 27: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

27

Automating Your WebGIS

• Many aspects of your WebGIS can be animated, not just the system setup

• Python API has access to the full GeoInformation model

- Data

- Maps and Layers

- Users and Groups

- Organization

• Many possibilities to automate

Extension SDKs

53

54

Page 28: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

28

ArcGIS Extending SDKs

• Extension SDKs allow developers to customize ArcGIS for their specific workflows

• SDKs are designed and built specifically for this purpose

• ArcGIS Pro SDK for .NET

• ArcGIS Enterprise SDK

• ArcObjects SDK available for extending ArcMap based functionality

ArcGIS ProCustomizing and Extending ArcGIS Pro

• Configure UI through settings and workflows through tasks

• Automate using geoprocessing and Python

• Extend with your own custom tools and solutions using the Pro SDK for Microsoft .NET

55

56

Page 29: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

29

ArcGIS Pro .NET SDK Customizing and Extending ArcGIS Pro

• Modern framework design specifically to support customization

• Microsoft .NET – using Visual Studio

• Two extensibility patterns supported with SDK:

- Add-Ins – Develop tools and new functionality, and customize UI

- Solution Configurations – Deeper customization, branding, start-up experience, streamline UI

ArcGIS Pro .NET SDKCustomizing the UI with Add-ins

• Easy to share and install

• Deployed as a single zipfile package, with .esriAddInX extension

• Can be secured and licensed

57

58

Page 30: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

30

ArcGIS Pro SDK for .NETTaking Control with Solution Configurations

• Includes all functionality of an add-in plus

- Change the application title and icon

- Change the application splash screen, start page, and about page

- Conditional customization of the UI

• Packaged within a single, compressed file with a .ProConfigX file extension

- Built in a similar way to an add-in

- Default install location in a dedicated folder with standard add-ins

What can you do with the Pro SDK?

• Framework – customize the Pro UI and manage the ribbon with context, extend with

solution configurations

• Content – manage Pro project items and connections to Portal to consume and integrate

online data

• Editing – develop powerful editing tools and create and manage editing operations

• Geodatabase – access file and enterprise datasets, and manage queries, searches and

selections, as well as versions

• Geometry – build and manage feature geometries and perform spatial operations

• Geoprocessing – run geoprocessing tools and python scripts from add-in tools and

routines

59

60

Page 31: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

31

What can you do with the Pro SDK?

• Layouts – build custom layouts and elements, manage layout views and selections

• Map Authoring – author maps, manage layers, define and set layer renderers

• Map Exploration – build and manage animations, control the camera and build new map

tools

• Raster – work with raster datasets, layers and colorizers

• Sharing – access and search content, folders, and groups of a portal or online organization

• Tasks – access and manage Tasks within the UI

• Utility Network – create custom utility network tools, traces and workflows

ArcGIS Enterprise SDKExtending ArcGIS Pro Compatible Services

• Extending ArcGIS Pro based services

- Building Server Object Extensions (SOEs)

- Building Server Object Interceptors (SOIs)

• Supports Feature and Image services

• SDK for Java and .NET developers

• IDE integration for Eclipse (Java) and Visual Studio 2015 and 2017 (.NET)

• Help documentation and API reference

• Build artifacts

- No need to have other ArcGIS software installed on developer or build machines

61

62

Page 32: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

32

Server Object ExtensionsBasics

• Server-side code

• Attaches to Feature or Image services

• Creates a custom API for the server

- Needs custom applications to use it

• 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

Server Object ExtensionsArchitecture

GIS Server

Feature Service

Image Service

Well-defined API

SOE

SOE

Custom API

Custom applicationsOut-of-box applications

63

64

Page 33: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

33

Server Object InterceptorsBasics

• Server-side code

• Filters requests to Feature 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

GIS Server

Feature Service

Image Service

Well-defined API

SOI

SOI

Server Object InterceptorsArchitecture

Out-of-box applications

65

66

Page 34: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

34

GIS Server

ArcSOC

Feature Service

Web

HandlerSOI 1 SOI 2

Server Object InterceptorsCall sequence

Out-of-box applications

ArcObjects SDKSupporting ArcMap Based Development

• Customizing and Extending ArcMap

• Extending ArcMap based services

- Building Server Object Extensions (SOEs)

- Building Server Object Interceptors (SOIs)

• Supporting VS2015/2017 and .NET 4.5

• ArcObjects continue to be supported

• ArcObjects resources available on GitHub

67

68

Page 35: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

35

ArcGIS Developer

Experience

One More Thing…

69

70

Page 36: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

36

Deploying Your Solution

Deploying REST AppsTechnical and Business Considerations

• Technical

- No technical considerations

• Business

- No cost deployment for internal enterprise apps or public non revenue generating apps

- Revenue generating apps that use ArcGIS Online data or services require a commercial

deployment license

- Credit bearing services require credit plan

71

72

Page 37: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

37

Deploying Apps using JavaScript APITechnical and Business Considerations

• Technical

- JavaScript API hosted by Esri and delivered via CDN

- Use the JavaScript Package Manager npm

- Download the API and host on your own server

• Business

- No cost deployment for internal enterprise apps or public non revenue generating apps

- Revenue generating apps that use ArcGIS Online data or services require a commercial

deployment license

- Credit bearing services require credit plan

Deploying Apps using ArcGIS RuntimeTechnical and Business Considerations

• Technical

- Deploy runtime binaries and supporting resources (runtime core with API) along with your app and

any supporting resources required by your app

- If using Local Server, build and deploy an appropriate Local Server deployment using the tools in

the SDK

• Business

- Revenue generating apps that use ArcGIS Online data or services require a commercial

deployment license

- Review functionality and select license level required

- Chose the appropriate licensing method for your App

- ArcGIS Identity

- Apps that extend or compliment ArcGIS

- Embedded license

- Standalone apps

- Credit bearing services require credit plan

73

74

Page 38: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

38

Deploying Apps using ArcGIS RuntimeLicense Levels

• Lite

- View maps, scenes and layers from the platform, simple routing and place finding

• Basic

- Simple feature editing (connected or disconnected),authoring maps, creating groups and sharing

• Standard

- Local data access and Local Server

• Advanced

- Direct connect to SDE, Mosaic datasets, advanced GP tools

• Analysis Extension

- Available with Standard and Advanced levels

- Spatial, 3D and Network Analysis tools

Deploying Apps using the Python APITechnical and Business Considerations

• Technical

- Python API hosted on Anaconda cloud and Python Package Index (PyPI)

- Install using conda or pip

• Business

- No cost deployment for internal enterprise apps or public non revenue generating apps

- Revenue generating apps that use ArcGIS Online data or services require a commercial deployment

license

- Credit bearing services require credit plan

75

76

Page 39: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

39

Deploying Solutions using ArcGIS Extension SDKsTechnical and Business Considerations

• Technical

- Ensure customer is using appropriate version of ArcGIS

- Consider signing binaries

• Business

- No cost to developer as the end user is responsible for licensing of host environment

ArcGIS for DevelopersA Complete Developer experience

• A comprehensive set of developer APIs and SDKs

• Full set of resources available to support your learning

• Business models covering all deployment options

https://developers.arcgis.com

77

78

Page 40: ArcGIS for Developers Seminar - Systematics...• Comprehensive widget set means rapid application development-Over 40 widgets including; Legend, Coordinate conversion, Measure, Search,

11/18/2019

40

79