Web App Builder and Me Ken Carrier – Senior GIS Specialist – City of Hamilton & Joe Guzi – GIS Systems Analyst – Stark County
Web App Builder Web AppBuilder for ArcGIS is an intuitive what-you-see-is-what-you-get (WYSIWYG) application that allows you to build 2D and 3D web apps without writing a single line of code. Can Create and Configure Apps with ArcGIS Online Can Create, Configure, and Extend Apps with Web App Builder Developer Edition
Web App Builder AGO Explaining where Web App Builder would benefit an audience Pros Easier to configure and deploy Easily updated by Esri updates Cons Limited to Esri’s Released Functionality Web App Builder AGO and Web App Builder Developer Edition not on the same release Inability to use community contributed widgets
Web App Builder Developer Edition Explaining where Web App Builder Developer Edition would benefit an audience Pros Ability to Add Custom Widgets Ability to customize Themes Further Compression and minification of Applications Cons Have to upgrade Web App Builder Developer Edition and reload apps to get new functionality that is released Kirks Kahns
Web App Builder AGO Auto update process when AGO is updated
Web App Builder Developer Edition Update process for App Workflow In Web App Builder Version 1.3 Export Applications In Web App Builder Version 2.4 Import Applications Deployment process Self hosting Sharing template with AGO
http://doc.arcgis.com/en/web-appbuilder/manage-apps/export-as-template.htm#ESRI_SECTION1_50029F60F50943929CBE06BB4CEC8C6C
Application Performance Tips & Tricks Map Services vs. Feature Services vs. Hosted Feature Services File geodatabases vs. ArcSDE Subdomains – What are they? How do they help? Application Load Performance – Minification, Compression, Tool for WAB Projects Involve your IT department to further enhance performance
Map Services vs. Feature Services vs. Hosted Feature Services Data can reside anywhere ArcGIS Server can access Data can be in various formats (e.g., File GDB, ArcSDE) Not as much overhead for ArcGIS Server Returns snapshot image of data for requested extent Typically fastest method to display data Feature Services Data must reside within ArcSDE RDBMS (Oracle, SQL Server, Postgres SQL) Adds more overhead due to advanced capabilities like editing Adds another hop in the process of retrieving data If data is versioned adds more overhead in querying of data (Delta Tables) Limits number of features that can be drawn Draws data dynamically not snapshots Hosted Feature Services Same as Feature Service except data is hosted by Esri Depending on your system architecture can improve query performance (Search Dijit/Widget)
Geodatabase Communication Scenarios Web Adaptor/ArcGIS Server Web Adaptor/ArcGIS Server Client File GDB on ArcGIS Server Network RDBMS Server ArcSDE
Geodatabase Performance Incoming Request File GDB ArcSDE (Versioning) Response Base Table Deletes Table Base Table Adds Table Delta Tables
Subdomains Subdomain (wiki)- A subdomain, is a domain that is part of a larger domain; the only domain that is not also a subdomain is the root domain. For example, west.example.com east.example.com are subdomains of the example.com domain Why you should use subdomains Maps are image heavy Most modern browsers limit the number of simultaneous requests from a single remote host name while loading a web page. The limit in browsers like Chrome, Firefox and IE is 6 concurrent downloads from the same domain. The purpose of this limit is to avoid overloading the remote server with concurrent requests, but this same policy might harm user experience. Using a different subdomain for each layer in your WebMap allows for parallel request to be made, which allows all layers/services to load at the same time.
Subdomain Example 1 Web Map 5 Layers 6 Images/Layer at current extent Web Adaptor/ArcGIS Server 1 Domain Web Adaptor/ArcGIS Server Subdomains Layer 1 = http://maps1.myrestendpoint.org/arcgis/rest Layer 2 = http://maps2.myrestendpoint.org/arcgis/rest Layer 3 = http://maps3.myrestendpoint.org/arcgis/rest Layer 4 = http://maps4.myrestendpoint.org/arcgis/rest Layer 5 = http://maps5.myrestendpoint.org/arcgis/rest Note: all subdomains point back to the main domain http://maps.myrestendpoint.org/arcgis/rest Layer 1 = http://maps.myrestendpoint.org/arcgis/rest Layer 2 = http://maps.myrestendpoint.org/arcgis/rest Layer 3 = http://maps.myrestendpoint.org/arcgis/rest Layer 4 = http://maps.myrestendpoint.org/arcgis/rest Layer 5 = http://maps.myrestendpoint.org/arcgis/rest
Application Performance Enhancements Minification - In computer programming languages and especially JavaScript, is the process of removing all unnecessary characters from source code without changing its functionality. File sizes become smaller, resulting in faster load for clients. Reduced bandwidth consumption of your website. CSS, Javascript, and HTML files can all be minified. Obfuscation - The action of making something obscure, unclear, or unintelligible. Used to protect intellectual property, prevent theft of code, reduce readability. Compression – Many developers are using Gzip which is a free and open source algorithm for file compression. The software is overseen by the GNU project. In this context, compression is the deliberate reduction in size of data to save storage space or increase the data transfer rate. http://compressorrater.thruhere.net/ - provide results of various tools/types of minification, obfuscation, and compression Esri Web App Builder enhancement tool
Analysis and Performance Enhancing Tools Demo http://compressorrater.thruhere.net/ - minification, obfuscation, compression WebApp Builder Performance Enhancement Process Other tools https://varvy.com/pagespeed/ - performance analyzer https://ago-assistant.esri.com/ - ArcGIS Online Assistant, helpful in changing urls https://jscompress.com/ - minification, obfuscation, compression http://jsbeautifier.org/ - un-minify javascript code for readability https://www.browserling.com/tools/json-minify - minify json files http://www.willpeavy.com/minifier/ - minify html
How can IT departments help? Web maps and apps are image heavy? IT filtering – Most IT departments have filtering hardware/software Whitelist your organization’s domain http://maps.yourorganization.org/arcgis/rest http://maps.yourorganization.org/apps/viewer http://*.yourorganization.org Whitelist Esri url’s https://*.arcgisonline.com https://*.arcgis.com https://ago-item-storage.s3.amazonaws.com https://*.blob.core.windows.net http://*.esri.com If IT would like further documentation refer them here http://doc.arcgis.com/en/trust/security/arcgis-online-best-practices.htm http://downloads.esri.com/resources/enterprisegis/AGOL_Domain_Requirements.pdf Subdomains versus Aliases Subdomains are typically created through your ISP or domain host for public facing Aliases or C records in DNS are for internal urls behind your firewall
Web App Builder Developer Edition Widget Development https://github.com/Esri/generator-esri-appbuilder-js
Audience should dictate which WAB to use. What is your level? What does your audience need? Is what Esri provides ok? Are you able to schedule an upgrade process?