Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts...

31
Web GIS Architectural Patterns and Practices Shannon Kalisky Bill Major

Transcript of Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts...

Page 1: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Web GIS Architectural Patterns and Practices Shannon Kalisky

Bill Major

Page 2: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

When we talk about Web GIS we are talking about an end-to-end experience – not just a REST service.

ArcGIS Enterprise ArcGIS Online

Page 3: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Configurable Apps

App Templates

App Builders

WidgetsComponents SDKs APIs

easier, quicker coarse-grained more black box less coding

more effort, more timefine-grained

more controlmore coding

Configure or CustomizeDelivering value with your Web GIS

Page 4: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise

Customer Managed Infrastructure

On-premises

Private Cloud

Public Cloud

(AWS, Azure, others)

Managed Services

ArcGIS Online

Esri Managed Infrastructure

Basemaps & Content Services

Web GIS Deployment Patterns

Page 5: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Web GIS Technology at a Glance

ArcGIS Enterprise ArcGIS Online

• Software

- ArcGIS Enterprise software which includes Portal for ArcGIS

- Releases 1-2 times per year

- Upgraded manually (by organization)

- Organization controls SLA

• Core Web GIS functionality (visualization, smart mapping, analysis…)

• Enterprise Integration

- Web SSO via SAML

- Web-tier Authentication via Web Adaptor

- Enterprise Groups

- ArcGIS Server Integration…

• Advanced GIS functionality

• Software as a Service (SaaS)

- www.arcgis.com

- Releases 3-4 times per year

- Upgraded automatically (by Esri)

- Esri controls SLA

• Core Web GIS functionality (visualization, smart mapping, analysis…)

• Enterprise Integration

- Web SSO via SAML

• Ready to use content

- Living Atlas

- Utility Services

Page 6: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Core Web GIS functionalityShared concepts

Administration, Identity & Security

Data Management

Analytics

Mapping, Data Visualization, and Interactive Apps

Content

Sharing & Collaboration

Automation

Page 7: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Automating Web GIS Workflows

• Use Python scripts for administrative and analytical tasks

- Can use the API in a “raw” Python script or within a notebook (Jupyter)

• Administrative automation – script repetitive analytical tasks and tasks that are tedious to do manually

- For example – creating groups, moving content between users, etc.

• Analytical scripts - Rerun the script to automate the workflow, notebooks can document a full analysis project, use external libraries side-by-side with GIS libraries, extend your GIS work into the data science space.

Using the ArcGIS API for Python with ArcGIS Enterprise and ArcGIS Online

Page 8: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise Crash CourseEssential knowledge

• Before you get started your organization will need to install and configure the software

- Standard configuration = base ArcGIS Enterprise deployment

- You can also federate additional servers to your ArcGIS Enterprise deployment

Portal

for ArcGIS

Hosting

Server

ArcGIS

Data Store

(relational + tile cache)

ArcGIS

Web Adaptor

ArcGIS

Web Adaptor

Federated GIS

Server site

Web Adaptor for

GIS Server site

Page 9: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

A quick review of what you need to know about ArcGIS Enterprise and ArcGIS Online

Web GIS Crash Course

Page 10: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise Crash CourseEssential knowledge

• Use the ArcGIS Data Store to store hosted data

- Hosted data = data you copy to ArcGIS Enterprise and the data output of analysis tools run within the Enterprise portal

ArcGIS Pro | Share as web layer pane

ArcGIS Enterprise portal | Map Viewer

Page 11: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise Crash CourseEssential knowledge

• Use the ArcGIS Data Store to store hosted data

- Hosted data = data you copy to ArcGIS Enterprise and the data output of analysis tools run within the Enterprise portal

- You can also register data from databases, cloud stores, folders, big data file shares, and raster stores

ArcGIS Pro | Share as web layer pane

Page 12: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise Crash CourseEssential knowledge

• Use the ArcGIS Data Store to store hosted data

- Hosted data = data you copy to ArcGIS Enterprise and the data output of analysis tools run within the Enterprise portal

- You can also register data from databases, cloud stores, folders, big data file shares, and raster stores

ArcGIS Pro | Share as web layer pane

ArcGIS Server Manager | Site Data Stores

Page 13: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise Crash CourseEssential knowledge

• As an administrator the Enterprise portal is your main command center, but you will still need to engage with your servers via ArcGIS Server Manager

- Use the Enterprise portal to set security, share content, add/manage users, create groups, etc.

• Deploy ArcGIS Enterprise on-premises or in the cloud

• Viewers (Level 1 Members) are included with ArcGIS Enterprise Standard and Advanced – get as many as you want/need at no additional cost

Page 14: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Online Crash CourseEssential knowledge

• Software as a Service

- ArcGIS Online organizations are hosted and managed by Esri through Esri’s cloud

- Auto-Scales to meet need when Apps and data are under heavy load

- Easily activated, can be up and running in minutes

- New functionality and upgrades are automatically available when updates occur

• Integrates with Enterprise environments

- Supports Enterprise logins and group creation with SAML 2.0

- Distributed Collaboration enables data synchronization between environments

• The ArcGIS Online Ecosystem

- Access to Esri Content, Customer Content and Marketplace content

Page 15: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise? ArcGIS Online? Or both?

Choosing a Web GIS Implementation

Page 16: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Deciding between ArcGIS Enterprise and ArcGIS OnlineWhat is the best Web GIS strategy for your organization?

ArcGIS Enterprise ArcGIS Online

• You need to manage the infrastructure yourself

• You need an internal geospatial system of record

• Enterprise geodatabases

• Your workflows require specific analytics

• Raster analytics (Image Server)

• Big data analysis (GeoAnalytics Server)

• Real-time/IoT analysis (GeoEvent Server)

• You need the ability to customize your Web GIS

functionality

• Custom widgets

• Web tools

• SOEs/SOIs

• You need to work completely disconnected from

the open internet

• You don’t want/have the resources to manage the

infrastructure

• You want infrastructure that is massively scalable

without your intervention

• You can connect to the internet (with some options

to go offline)

Page 17: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Choosing bothUsing ArcGIS Enterprise and ArcGIS Online together

Key Benefit:

• Take advantage of the strengths of each offering

- Scalability for external uses

- Security for internal systems/data

Key Consideration:

• ArcGIS Online accounts and ArcGIS Enterprise accounts are not interchangeable. Users who need access to both will require two sets of identities.

- Security

Page 18: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Distributed CollaborationA streamlined way to use ArcGIS Online and ArcGIS Enterprise together

ArcGIS Enterprise

Sam

GIS Analyst at

Genesee City

City Parcel Layer

EGDB

Portal

Genesee

City

ArcGIS Online

ArcGIS Online

Genesee

City Organization

City Parcel

Viewer

CitizensSend As Copy

Page 19: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise

Customer Managed Infrastructure

On-premises

Private Cloud

Public Cloud

(AWS, Azure, others)

Managed Services

ArcGIS Online

Esri Managed Infrastructure

Basemaps & Content Services

Web GIS Deployment Patterns

Page 20: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Web GIS in the

real world

Page 21: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

ArcGIS Enterprise

Customer Managed Infrastructure

On-premises

Private Cloud

Public Cloud

(AWS, Azure, others)

Managed Services

ArcGIS Online orexternal ArcGIS Enterprise

Basemaps & Content Services

Development Environments

Page 22: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

DMZ EnvironmentsBasemaps &

Content Services

EGDB

ArcGIS

Web Adaptors

Firewall

Load Balancer

Hosting Site

Portal for ArcGIS

Page 23: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

IT says you only can have 6 servers….

Hosting Server

GIS Server(Map Services &

GP Services)

GeoAnalyticsServer

GeoEventServer

Image Server(Raster

Analytics)

ArcGISData Store

(relational & tile cache)

Portal for ArcGIS

ArcGISWeb Adaptors

SpatiotemporalBig Data Store

IIS Web Server

Users

IIS Web Server

Separate Web Adaptors for each Server Site

Raster Source

Data

All Servers federatedwith Portal

#1

#2

#3

#4 #5

#6

#1

Page 24: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Education Institution - HA

maps.xxx.edu.##

maps-internal.xxx.edu (/arcgis).##

gis-portal.xxx.edu (/arcgis)(.##)

gis-portal-1.##

SAML Authentication with Shibboleth

gis-hosting.xxx.edu (alias).##

maps-1.##

maps-2.##

F5

maps-internal-1.##

maps-internal-2.##

F5

gis-portal-2.##

gis-hosting-1.##

F5

gis-hosting-2.##

gis-ds-2.##

gis-ds-1.##

Basemaps & Content Services

Page 25: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Operational Practices | Upgrades

Subnet1

Subnet2

AZ

AZ

Page 26: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Operational Practices | Upgrades

Subnet1

Subnet2

AZ

AZ

Subnet1

Subnet2

AZ

AZ

DUPLICATE

Instances need to retain Private IP addressesSet to Read-Only

Page 27: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Operational Practices | Upgrades

Subnet1

Subnet2

AZ

AZ

Subnet1

Subnet2

AZ

AZ

Subnet3

UPGRADE

Update Host file

PrivateIP = URL

Page 28: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Operational Practices | Upgrades

Subnet1

Subnet2

AZ

AZ

Subnet1

Subnet2

AZ

AZ

Update DNS to new site

Page 29: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

Print Your Certificate of AttendancePrint stations located in the 140 Concourse

Tuesday Wednesday12:30 pm – 6:30 pm GIS Solutions Expo Hall B

5:00 pm – 6:30 pm GIS Solutions Expo SocialHall B

10:30 am – 5:15 pm GIS Solutions Expo Hall B

6:30 pm – 9:00 pm Networking ReceptionSmithsonian National Portrait Gallery

Page 30: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script

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: Web GIS: Architectural Patterns and Practices · Automating Web GIS Workflows •Use Python scripts for administrative and analytical tasks-Can use the API in a “raw” Python script