Using the ArcGIS JS API, Angular, NodeJS, SDE, PostGIS, and ArcGIS Server The “Wrong” Way

01-08-2016 01:25 PM

Using the ArcGIS JS API, Angular, NodeJS, SDE, PostGIS, and ArcGIS Server The “Wrong” Way

Within the directive to "build a better system for tracking best management practice implementations on farms in VT," we saw an opportunity to shatter expectations for how to use the ArcGIS tools we were familiar with. This presentation will explore some outside-the-box approaches to building an enterprise web application based on ESRI’s web and server tools.

In past developer summits we have seen repeated recommendations to "not use the ArcGIS JS API inside of an AngularJS application for big, enterprise applications." So, we did anyway. We’ll discuss the structure of the application that wraps AngularJS inside of Dojo “Require” statements, and how we feel that the benefit is worth the pain.

In past developer summits we have heard discussions of folks struggling with a need for record-level security in presenting ArcGIS Server feature service content. We encountered a similar need for this recent farm BMP project. Farm data is highly confidential such that very few people have sweeping access to view all of it. Our system needed to provide an interface for individuals with less-than-full-access to work with spatial data associated with specific farms. Based on a user’s Vermont-state farm-project associations (which projects they manage), they would be allowed to see the spatial records for only "their" farms - and no others. At first we planned to use ArcGIS Server for the application, but as these security needs developed, we switched gears. We will discuss how we rolled our own system using NodeJS and SDE, on top of a PostGIS database, to serve up the feature class data with record level security capability, and without using ArcGIS Server. Yes! Feeding an ArcGIS JS API-based mapping tool from NodeJS, not ArcGIS Server. However, the data was maintained in standard feature-class format so that users with ArcGIS Desktop could still connect to, and manipulate, the data like with any other enterprise ArcSDE database.

We will look at the high level structure of the solution to just show what is possible, and then dig into some implementation details in JS and PGSQL code.

Version history
Revision #:
1 of 1
Last update:
‎01-08-2016 01:25 PM
Updated by: