SlideShare a Scribd company logo
Server Provisioning without
Programming through APIs
Bo Guo, PhD, PE
Gistic Research
FME UC
May, 2017
Vancouver, British Columbia
FME Server Provisioning
Server Security & Server Configuration
Roles
Users
Role Policies
Shared Resource Folders
Number of Engines
...
Arizona E911 Data Aggregation
3.8 Million Address Points
17 Communities
Different schemas
Varying level of data quality
Arizona E911 Data Aggregation
State has
Admin user and role
NG911 folder
Each community has its own
User and role
Resource folder under NG911 folder
Uploaded data
Configuration file
Community Users,Roles & Folders
Jurisdiction	Name Jurisdiction	Folder	Name User	name	suffix Role	name	suffix User	name Role	name
NG911 NG911 admin rol ng911_admin ng911_rol
Cochise Cochise usr rol cochise_usr cochise_rol
Coconino Coconino usr rol coconino_usr coconino_rol
Colorado	City ColoradoCity usr rol coloradocity_usr coloradocity_rol
... ... ... ... ... ..
Resource	Folder	Name Owner	Role Note
NG911 ng911_rol Root	of	the	folder
NG911Config ng911_rol Where	config	files	are	stored,	read-only	to	all	local	juris	users
NG911Cochise cochise_rol Cochise	county	specific	data	is	kept,	not	accessible	by	other	county	users
NG911Coconino coconino_rol Coconino	county	specific	data	is	kept,	not	accessible	by	other	county	users
NG911ColoradoCity coloradocity_rol Colorado	City	county	specific	data	is	kept,	not	accessible	by	other	county	users
... ... ...
Depressed...
Manual clicking and typing?
Error-prone,
Time consuming (dev / test / prod servers),
Boring!
Requirements can change anytime
Myseriable!
Determined!
Repeatable,
Automated,
Fun!
RESTful
Web APIs
The Key
Use FME Server REST APIs in a fashion ...
Easily scripted,
Cleanly documented,
Conveniently changed, &
Naturally standardized
Making API Calls in Browser
In Browser with standard authentication
http://myfmehost:port/fmerest/v3/info
In Browser with token authentication
http://myfmehost:port/fmerest/v3/info?token=949de
9cea90ca0b860e9044ea6623d334a8483e4
Making API Calls Using cURL
- curl -L https://safe.com
- curl -X GET -H "Accept: application/json" -H "Authorization:
fmetoken token=6103d5ab68010ec6e20d8ef511c232d7a79abd01"
http://myfmehost:port/fmerest/v3/info
- curl -X GET -H "Authorization: fmetoken
token=6103d5ab68010ec6e20d8ef511c232d7a79abd01"
http://myfmehost:port/fmerest/v3/info
- curl -X GET
http://myfmehost:port/fmerest/v3/info?fmetoken=6103d5ab68010e
c6e20d8ef511c232d7a79abd01
Test API calls
Using any API testing tools such as Postman
Scripting!
- Scripting is “simple” coding
- Repeating commands of similar pattern
- The pattern
Command curl
method -X
GET/POST/DELETE/PUT
Options -d
Path http(s)://….
Query String ?
- This is where Excel comes in play
Spreadsheet!
Root Path http://myfmehost:port/fmerest/v3/security/
Role section roles/
Account section accounts/
Account-role section accounts/
Token ?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
Curl, method, option curl -X POST -d
Creating Roles
Data Complete Command
'name=ng911_rol'
curl -X POST -d 'name=ng911_rol'
http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
'name=cochise_rol'
curl -X POST -d 'name=cochise_rol'
http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
'name=coconino_rol'
curl -X POST -d 'name=coconino_rol'
http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
'name=coloradocity_rol'
curl -X POST -d 'name=coloradocity_rol'
http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
Summary
FME REST APIs can help server provisioning
RESTful APIs can be used with little coding
RESTful API testing tools are handy
Spreadsheet helps documentation and code
generation!
Bo Guo, PhD, PE
Certified FME Professional
bo.guo@gisticinc.com
https://www.youtube.com/user/linearbench

More Related Content

What's hot (17)

PPTX
08 php-files
hoangphuc2587
 
PDF
Bash Script Disk Space Utilization Report and EMail
VCP Muthukrishna
 
PPTX
Process monitoring in UNIX shell scripting
Dan Morrill
 
PDF
File Space Usage Information and EMail Report - Shell Script
VCP Muthukrishna
 
PDF
Shell Script to Extract IP Address, MAC Address Information
VCP Muthukrishna
 
PDF
Redis & ZeroMQ: How to scale your application
rjsmelo
 
PPT
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
 
PDF
Play With Docker
Karim Memon
 
PDF
scdevsumit 2016 - Become a jedi with php streams
Matheus Marabesi
 
PPTX
Windows power shell and active directory
Dan Morrill
 
PDF
Redis as a message queue
Brandon Lamb
 
PDF
Fluentd intro at Tajo seoul meetup
Dongmin Yu
 
PPTX
Windows power shell basics
Dan Morrill
 
PPTX
Ch3(working with file)
Chhom Karath
 
PPTX
Dtalk shell
Miha Mencin
 
PPTX
Cake PHP 3 Presentaion
glslarmenta
 
PPT
File Upload
webhostingguy
 
08 php-files
hoangphuc2587
 
Bash Script Disk Space Utilization Report and EMail
VCP Muthukrishna
 
Process monitoring in UNIX shell scripting
Dan Morrill
 
File Space Usage Information and EMail Report - Shell Script
VCP Muthukrishna
 
Shell Script to Extract IP Address, MAC Address Information
VCP Muthukrishna
 
Redis & ZeroMQ: How to scale your application
rjsmelo
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
 
Play With Docker
Karim Memon
 
scdevsumit 2016 - Become a jedi with php streams
Matheus Marabesi
 
Windows power shell and active directory
Dan Morrill
 
Redis as a message queue
Brandon Lamb
 
Fluentd intro at Tajo seoul meetup
Dongmin Yu
 
Windows power shell basics
Dan Morrill
 
Ch3(working with file)
Chhom Karath
 
Dtalk shell
Miha Mencin
 
Cake PHP 3 Presentaion
glslarmenta
 
File Upload
webhostingguy
 

Similar to Leveraging APIs without Programming in FME Server Provisioning (20)

PDF
A linux mac os x command line interface
David Walker
 
PPTX
Kubernetes walkthrough
Sangwon Lee
 
PDF
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
María Angélica Bracho
 
PDF
Securing Prometheus exporters using HashiCorp Vault
Bram Vogelaar
 
PDF
Istio Playground
QAware GmbH
 
PDF
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Jérémy Derussé
 
PDF
The Advantages And Disadvantages Of Client-Based State...
Beth Hernandez
 
PDF
Lessons Learnt from Running Thousands of On-demand Spark Applications
Itai Yaffe
 
PDF
Gluster Containerized Storage for Cloud Applications
Gluster.org
 
PDF
Gluster Contenarized Storage for Cloud Applications
Humble Chirammal
 
PDF
Conf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpractices
BrentMatlock
 
PDF
Seaside - The Revenge of Smalltalk
Lukas Renggli
 
PDF
Rapid Prototyping with Solr
Erik Hatcher
 
PDF
Guillotina: The Asyncio REST Resource API
Nathan Van Gheem
 
PDF
Downloading a Billion Files in Python
James Saryerwinnie
 
PDF
Web scale infrastructures with kubernetes and flannel
purpleocean
 
PDF
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Angel Borroy López
 
PPTX
Troubleshooting common oslo.messaging and RabbitMQ issues
Michael Klishin
 
PDF
OpenStack Swift的性能调优
Hardway Hou
 
PDF
Automating Research Data Flows and an Introduction to the Globus Platform
Globus
 
A linux mac os x command line interface
David Walker
 
Kubernetes walkthrough
Sangwon Lee
 
OpenShift Meetup - Tokyo - Service Mesh and Serverless Overview
María Angélica Bracho
 
Securing Prometheus exporters using HashiCorp Vault
Bram Vogelaar
 
Istio Playground
QAware GmbH
 
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Jérémy Derussé
 
The Advantages And Disadvantages Of Client-Based State...
Beth Hernandez
 
Lessons Learnt from Running Thousands of On-demand Spark Applications
Itai Yaffe
 
Gluster Containerized Storage for Cloud Applications
Gluster.org
 
Gluster Contenarized Storage for Cloud Applications
Humble Chirammal
 
Conf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpractices
BrentMatlock
 
Seaside - The Revenge of Smalltalk
Lukas Renggli
 
Rapid Prototyping with Solr
Erik Hatcher
 
Guillotina: The Asyncio REST Resource API
Nathan Van Gheem
 
Downloading a Billion Files in Python
James Saryerwinnie
 
Web scale infrastructures with kubernetes and flannel
purpleocean
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Angel Borroy López
 
Troubleshooting common oslo.messaging and RabbitMQ issues
Michael Klishin
 
OpenStack Swift的性能调优
Hardway Hou
 
Automating Research Data Flows and an Introduction to the Globus Platform
Globus
 
Ad

More from Safe Software (20)

PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
FME in Overdrive - Peak of Data & AI 2025
Safe Software
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
PDF
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
PDF
Fiber to the People! By Deutsche Telekom
Safe Software
 
PDF
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PDF
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PDF
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
PDF
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
PDF
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
PDF
Modern Land & Property Management Supported by FME
Safe Software
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
FME in Overdrive - Peak of Data & AI 2025
Safe Software
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
Fiber to the People! By Deutsche Telekom
Safe Software
 
Governing Geospatial Data at Scale: Optimizing ArcGIS Online with FME in Envi...
Safe Software
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
Supporting the NextGen 911 Digital Transformation with FME
Safe Software
 
Proactive Server and System Monitoring with FME: Using HTTP and System Caller...
Safe Software
 
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
Modern Land & Property Management Supported by FME
Safe Software
 
Ad

Recently uploaded (20)

PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 

Leveraging APIs without Programming in FME Server Provisioning

  • 1. Server Provisioning without Programming through APIs Bo Guo, PhD, PE Gistic Research FME UC May, 2017 Vancouver, British Columbia
  • 2. FME Server Provisioning Server Security & Server Configuration Roles Users Role Policies Shared Resource Folders Number of Engines ...
  • 3. Arizona E911 Data Aggregation 3.8 Million Address Points 17 Communities Different schemas Varying level of data quality
  • 4. Arizona E911 Data Aggregation State has Admin user and role NG911 folder Each community has its own User and role Resource folder under NG911 folder Uploaded data Configuration file
  • 5. Community Users,Roles & Folders Jurisdiction Name Jurisdiction Folder Name User name suffix Role name suffix User name Role name NG911 NG911 admin rol ng911_admin ng911_rol Cochise Cochise usr rol cochise_usr cochise_rol Coconino Coconino usr rol coconino_usr coconino_rol Colorado City ColoradoCity usr rol coloradocity_usr coloradocity_rol ... ... ... ... ... .. Resource Folder Name Owner Role Note NG911 ng911_rol Root of the folder NG911Config ng911_rol Where config files are stored, read-only to all local juris users NG911Cochise cochise_rol Cochise county specific data is kept, not accessible by other county users NG911Coconino coconino_rol Coconino county specific data is kept, not accessible by other county users NG911ColoradoCity coloradocity_rol Colorado City county specific data is kept, not accessible by other county users ... ... ...
  • 6. Depressed... Manual clicking and typing? Error-prone, Time consuming (dev / test / prod servers), Boring! Requirements can change anytime Myseriable!
  • 8. The Key Use FME Server REST APIs in a fashion ... Easily scripted, Cleanly documented, Conveniently changed, & Naturally standardized
  • 9. Making API Calls in Browser In Browser with standard authentication http://myfmehost:port/fmerest/v3/info In Browser with token authentication http://myfmehost:port/fmerest/v3/info?token=949de 9cea90ca0b860e9044ea6623d334a8483e4
  • 10. Making API Calls Using cURL - curl -L https://safe.com - curl -X GET -H "Accept: application/json" -H "Authorization: fmetoken token=6103d5ab68010ec6e20d8ef511c232d7a79abd01" http://myfmehost:port/fmerest/v3/info - curl -X GET -H "Authorization: fmetoken token=6103d5ab68010ec6e20d8ef511c232d7a79abd01" http://myfmehost:port/fmerest/v3/info - curl -X GET http://myfmehost:port/fmerest/v3/info?fmetoken=6103d5ab68010e c6e20d8ef511c232d7a79abd01
  • 11. Test API calls Using any API testing tools such as Postman
  • 12. Scripting! - Scripting is “simple” coding - Repeating commands of similar pattern - The pattern Command curl method -X GET/POST/DELETE/PUT Options -d Path http(s)://…. Query String ? - This is where Excel comes in play
  • 13. Spreadsheet! Root Path http://myfmehost:port/fmerest/v3/security/ Role section roles/ Account section accounts/ Account-role section accounts/ Token ?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348 Curl, method, option curl -X POST -d Creating Roles Data Complete Command 'name=ng911_rol' curl -X POST -d 'name=ng911_rol' http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348 'name=cochise_rol' curl -X POST -d 'name=cochise_rol' http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348 'name=coconino_rol' curl -X POST -d 'name=coconino_rol' http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348 'name=coloradocity_rol' curl -X POST -d 'name=coloradocity_rol' http://myfmehost:port/fmerest/v3/security/roles/?fmetoken=0722f73a7fbf22be12c97c090b010980331e6348
  • 14. Summary FME REST APIs can help server provisioning RESTful APIs can be used with little coding RESTful API testing tools are handy Spreadsheet helps documentation and code generation!
  • 15. Bo Guo, PhD, PE Certified FME Professional [email protected] https://www.youtube.com/user/linearbench