Components of an AGS

Integration with ArcGIS Online | GeoDesign | Mobile | FAQ       About Us | Contact Us

Web Application Developer Associate - Exam Topics


Understanding GIS Concepts
Author & Publish Services
Web API Usage
Security Implementation
Trouble Shooting + Performance Tuning

A qualified candidate should be able to:

  1. Identify ArcGIS geometry types, relationships, and operations
  2. Define map and layer concepts and their applications in development
  3. Understand relevant performance implications
  4. Understand service configuration for out of the box services
  5. Use services via REST and SOAP
  6. Work with maps and layers, and other visualization elements
  7. Use Web API tools
  8. Work with secured services
  9. Troubleshoot web applications
  10. Deploy web applications
  11. Work with items from ArcGIS platform such as web maps
  12. Use services available from ArcGIS Server extensions such as network analysis, spatial analysis, and geoevent processor

Understanding GIS Concepts

Q: Differentiate between geographic and projected coordinate systems as applicable to a web application developer
A: There are two common types of coordinate systems used in GIS: A global or spherical coordinate system such as latitude–longitude. These are often referred to as geographic coordinate systems. A projected coordinate system based on a map projection such as transverse Mercator, Albers equal area, or Robinson, all of which (along with numerous other map projection models) provide various mechanisms to project maps of the earth's spherical surface onto a two-dimensional Cartesian coordinate plane. Projected coordinate systems are sometimes referred to as map projections. Maps for use on the Web Often, web maps define the coordinate system that will be used for making mashups. You'll need to match the coordinate system of the base map you choose to use, whether it is ArcGIS Online, Microsoft Bing Maps, or Google Maps. All of these online maps are stored with a continuous tiling system to support the seamless display of map data for large scale subareas (e.g., imagery and streets within a city). This requires a single map projection for the world. The spherical Mercator projection is used. This is often referred to as the Web Mercator projection. Geographic databases are in latitude–longitude (geographic coordinates) Many datasets and whole databases are often collected and maintained in latitude–longitude. This is especially true of organizations who build and assemble data collections that span the globe. Latitude–longitude is a spherical (geographic) coordinate system and should always be projected in your map display. Maps created with data from these systems will cover any number of objectives. Use the same considerations described above for choosing a coordinate system.

Q: Explain the impact of using multiple coordinate systems
A: Geographic—Defines a spheroidal or spherical model of the earth, and uses angular units defining coordinates in terms of latitude and longitude, which are angles calculated from the center of the earth describing a position on its surface. Coordinates described this way are sometimes referred to as polar coordinates. Calculations based on a spheroidal model of the earth are sometimes known as geodesic or geodetic. The line on the earth chosen to represent zero degrees of longitude is known as the prime meridian. Projected—Uses linear units defining positions on the earth's surface as projected to a flat plane. A projection is a specific mathematical model for converting the spheroidal data to a flat plane. A projected coordinate system is always based on an underlying geographical coordinate system with a projection applied to it.

Q: Identify the ArcGIS geometry types, spatial relationships, spatial operations, and proximity operations

Q: Recognize what Open Geospatial Consortium (OGC) is and identify the important OGC specifications
A: The Open Geospatial Consortium (OGC) and the International Organization for Standardization (ISO) Technical Committee 211 (TC211) are the two leading geospatial standards organizations. Esri and other companies in the GIS community participate within these organizations to continually develop and improve these standards. As OGC and ISO standards evolve, ArcGIS is updated to support them through new releases and service packs. Information on OGC compliance testing for ArcGIS can be found at Many ArcGIS client applications have built-in support for working with OGC services. The table below summarizes the OGC services that are supported in each application.

Q: Explain the properties of common dataset types
A: Database Geodatabase Raster image Tabular data such as dbf tables and Excel spreadsheets Shapefile Coverage

Q: Explain what versioning is, how it works, and the impact of versioning on development

Q: Explain reasons for using geoprocessing on the web

Q: Identify what types of services are available on ArcGIS Online and how to use them

Q: Describe how to use the REST Services Directory

Author & Publish Services

Q: Explain how to author GIS resources

Q: Distinguish between service types, operations and capabilities
A: Geometry Service: Supported Operations: Project, Simplify, Buffer, Areas And Lengths, Lengths, Label Points, Relation, Densify, Distance, Union, Intersect, Difference, Cut, TrimExtend, Offset, Generalize, AutoComplete, Reshape, ConvexHull,

Q: Explain the process for publishing a service
A: Approaches for publishing services with ArcGIS
ArcGIS for Desktop can help you author and share your GIS resources on any of the above types of servers. In the case of a map, you'll typically do your cartography in ArcMap, then choose a menu option to share the map as a service. You'll be guided through the process of analyzing your map for performance bottlenecks and publishing the map. For other types of resources that aren't created in ArcMap, such as locators, you can right-click the item in the Catalog tree and choose the option to share it as a service. A geoprocessing model can be published by right-clicking a result in the Results window and choosing the option to share it as a service. Once a service is published, you can use it in web, desktop, and mobile applications. Services have web addresses, or URLs, that client applications can use to access them. When you use or develop an application, you'll provide the URLs of the services you want to use. Your application goes to the URLs and begins working with the services to bring in the maps or other GIS functionality that you request. This pattern is the same whether you're working with services on ArcGIS for Server, the Spatial Data Server, or ArcGIS Online hosted services.

Q: Given a simple scenario, determine which service type to use (geoprocessing vs. geometry, vs. maps vs. feature services)

Q: Distinguish the characteristics of the various data stores that are relevant to development services

Q: Explain how to use the analyzer messages and warnings to evaluate performance

Q: Identify the characteristics of a map cache including the benefits and limitations of using cached map services

Q: Given a scenario of moving a service from one machine to another, determine which resources need to be moved and what additional steps need to be taken

Q: A:

Web API Usage

Q: Explain how to initialize and configure map settings and behaviors
A: Using the JavaScript API, call the esri/map class. Before you can create a Map object, you must first reference the resource that provides the map. This is accomplished through the use of a require() function => use the Map constructor to create the Map => use options parameter defined as a JSON object that contains a set of key/value pairs... boilerplate code: This includes defining references to the API and stylesheet, loading modules, creating an initialization function, and some other steps

Q: Compare and contrast the use of dynamic, cached, graphic or feature layers including their purpose and when to use them
A:Tiled map: service layers are precreated and cached on the server and are most often used as basemaps in an application.

Dynamic map: service layers must be created on the fly each time a request is made and thus may take longer to generate. However, dynamic map service layers can be used to perform many types of operations, including queries, setting definition expressions, and much more.

Graphics are often used to represent information that is generated as the result of actions performed within a working application. Frequently, these graphics are returned as the result of a task that has been performed, such as an attribute or spatial query. This can include points, lines, polygon, and text. These are temporary objects, only displayed during the current browser session. Each graphic can be composed of geometry, symbology, attributes, and an info template, and is added to the map through the use of a graphics layer, which is always the topmost layer in an application. This ensures that the contents of the layer will always be visible.

The JavaScript API for ArcGIS Server offers a FeatureLayer object to work with client-side graphic features. This inherits from the graphics layer, but also offers additional capabilities, such as the ability to perform queries and selections and support definition expressions. A feature layer can also be used for web editing. It differs from tiled and dynamic map service layers because feature layers bring geometry information across to the client computer, to be drawn by the web browser. This potentially cuts down on the round trips to the server and can improve the performance of your application on the server side. A client can request the features it needs, and perform selections and queries on those features without having to request more information from the server. The FeatureLayer object is especially appropriate for layers that respond to user interactions such as mouse clicks or hovers.

Q: Identify the various symbol types and their characteristics

Q: Describe how to work with temporal data
A:When time-aware layers are present in a Web API based application, the map is considered time-aware and the map's time extent is set. The time extent defines the time period for which layers' data is displayed in the map. Setting the map's time extent is similar to setting the spatial extent because once the time extent is set the map display updates automatically to conform to the change. Every time the map's time extent is changed all time-aware layers update to reflect the new extent. There are several ways to work with time-aware layers in a Web API based application. The simplest is to use the TimeSlider widget because it handles the process of updating the map's time extent for you. Alternatively, you can use the Web APIs to build applications that perform temporal queries, filter layers using time definitions, and set the map's time extent.

Q: Determine the appropriate renderer to use
A:Symbols define graphic's appearance, including fill color or pattern, border width and transparency. The ArcGIS API for JavaScript includes many symbol classes and each allows you to specify symbology in a unique way. Each symbol type is also specific to geometry type, e.g. point, line, or polygon. A renderer defines a set of symbols that will be used for graphics in a layer. You can use renderers to symbolize features with different colors or sizes based on a particular attribute.
SimpleMarkerSymbol Symbolizes points with pre-defined shapes.
PictureMarkerSymbol Symbolizes points with images.
SimpleLineSymbol Symbolizes lines with pre-defined styles.
CartographicLineSymbol Sybolizes lines with complex styles.
SimpleFillSymbol Fill polygons with specfied color/style.
PictureFillSymbol Fill polygons with image.

Q: Explain how to detect and respond to an event within an application
A:The ArcGIS API for JavaScript is an event driven API. Events occur when you interact with a JavaScript application. Loading the page, clicking the mouse, executing a task, and many other actions all trigger events. You can make your application interactive by listening for events and writing code that responds to them, which is known as "handling" the event.

In order to handle an event, you need to add code that listens for it. Registering a listener for an event puts your application on alert that it needs to do something when that particular event occurs. Specifically, it will call the handler function in response to the event. In the ArcGIS API for JavaScript, the recommended way to listen for events is to use on.

Q: Explain how to use Esri provided user interface components
A:Dojo's layout dijits provide a way to create flexible layouts with minimal effort. The ArcGIS JavaScript API includes the DOJO UI libraries so you can use the Dojo layout dijits to create applications that incorporate mapping and analysis functionality in a visually appealing design.

Q: Describe methods for retrieving data from a service
A:esriRequest is a utility method to retrieve data from a web server. Data can be static (stored in a file on the web server), or it can be dynamic (generated on-demand by a web service). esriRequest can handle the following formats: plain text, XML, JSON, JSONP or "JSON with padding".

Q: Explain how to Geocode and how to interpret results
A:An ArcGIS Server Locator service can perform geocoding and reverse geocoding. Using the ArcGIS API for JavaScript, you can submit an address to the Locator service and retrieve geographic coordinates for the address, which can then be plotted on a map. An address, defined by a JSON object in JavaScript, is an input to a Locator object, which geocodes the address and returns the results in an AddressCandidate object that can then be displayed as a point on your map. This pattern is the same as the other tasks we've seen in previous chapters, where an input object (the Address object) provides input parameters to the task (Locator), which submits the job to ArcGIS Server. A result object (AddressCandidate) is then returned to a callback function, which processes the returned data.

Q: Describe how feature layer capabilities affect edit operations
A:The ArcGIS Web APIs provide simple feature editing. The features must come from an ArcSDE geodatabase. This geodatabase can be licensed for either workgroup or enterprise use and does not have to be versioned. When editing data with the Web APIs, you can add, delete, move, cut, union, and reshape features. You can also edit feature attributes. If you attempt to modify the same feature at the same time as someone else, the last edits to be made are the ones committed to the database. Web editing requires a feature service to provide the symbology and feature geometry of your data. The feature service is just a map service with the Feature Access capability enabled. This capability allows the map service to expose feature geometries and their symbols in a way that is easy for Web applications to use and update.

Q: Explain the use cases for dynamic layers, dynamic workspaces, and dynamic labeling
A:This functionality requires an ArcGIS Server 10.1 service. Layers published in a dynamic map service can be re-ordered using dynamic layers. This sample showcases this capability. To re-order layers, click and drag a layer name to a new position. When a layer name is dropped to a new position in the list, a request is made to get an updated map image. ArcGIS Server 10.1 also provides the ability to work with data in a registered workspace but not published via a map service. This gives administrators and developers the flexibility to add data to apps that isn't visible from the REST services directory. The caveat is that developers need to know the workspace name and data layer/table name to be able to add it to a web application. To see this in action, click the "Add Lakes" button. The lakes layer can then be reordered within the map service. Example

Q: Explain the capabilities of the out-of-the-box print service
A:This sample shows how to create a print-friendly version of an ArcGIS API for JavaScript map. Note that this functionality requires an ArcGIS Server 10.1 instance. The print widget is used in this sample. For more granular control over output from the ArcGIS Server 10.1 print service, use the printTask.

Q: Describe the functionality of web maps and their use
A: An ArcGIS web map is an interactive display of geographic information that you can use to tell stories and answer questions. For example, you may find or create a map that addresses the question, How many people in the United States live within a reasonable walk or drive to a supermarket? This map has layers showing which neighborhoods are within a 10-minute drive or 1-mile walk to a supermarket, and for context, the map has a topographic basemap that includes cities, roads, and buildings overlaid on land cover and shaded relief imagery. What do web maps contain? Web maps contain a basemap; data layers; an extent; a legend; and navigation tools such as zoom, pan, place finders, and bookmarks. Many web maps also contain interactive elements such as a basemap gallery that lets you switch between maps like imagery and streets, plus measure tools, pop-up windows that display attributes about a specific feature, and buttons for playing data over time. They are constructed using data layers from services and files to communicate a specific message or provide specific map-based capabilities. Some web maps contain a series of annotated slides, each showing a specific view into the map with associated text and graphics. These are known as presentations. Where can you use web maps? Web maps can be opened in standard web browsers, mobile devices, and desktop map viewers. They can be shared through links, embedded in websites, and used to create browser-based and device-based applications. How do you author web maps? Web maps can be authored in three basic steps: choose an area, decide what to show, then save and share your work. You can start from a new map or work with an existing one. When you open an existing map, you can change the extent, locate places, view a legend, see information about features, and more. With either approach, you can select a basemap from the basemap gallery, add data layers, configure pop-up windows, include bookmarks to specific places, include a description of the map, then save it as your own item and share it with others through links or by embedding it in a website or application.

Q: Explain the different parts of a JSON data structure
A: The identifier property points to the identifier attribute in items. An optional label property points to the label attribute. Finally, the data itself comes in items, which is an array of attribute/value pairs. The test data shown in the example was taken from a JSON file containing wildfire information. Ultimately each of these wildfires is plotted to our sample Google Maps application as a marker. Each wildfire is given a unique numeric identifier and the label is simply the latitude and longitude coordinates combined. The items are a collection of attribute/value pairs listing information about the specific fire including the coordinates, date, time, satellite that identified the fire, and the confidence value.

Q: Distinguish between the types of items that can be stored in a portal and how to work with or use them in an application
A:The ArcGIS Portal API is a REST API that allows developers to work with content from ArcGIS Online. Portions of this API were integrated into the ArcGIS API for JavaScript at version 2.8. If you need access to capability not exposed via the classes in the ArcGIS API for JavaScript you can use esri/request to work directly with the ArcGIS Portal REST API. This sample demonstrates how to use the Generate operation to generate a feature collection from an input shapefile. The application contains a form with an input element of type file that allows users to navigate to a zipped shapefile. This snippet calls the generate operation, note that the form used to capture the input shapefile is specified using the form parameter.

Q: Explain client side options for visualizing large amounts of data
A:Explain client side options for visualizing large amounts of data. Learn more at: Feature Layer Best Practices

Security Implementation

Q: Explain the various reasons for using a proxy page or web adapter to manage service calls
A: A proxy page: is necessary if your URL becomes too long and you must use a POST instead of a GET (Note: Using a proxy works around this issue by performing a POST request rather than a GET request. POST requests are not limited by the 2048 character maximum because the information is transferred in the header instead of the URL). The proxy page is also necessary when you do not want users to view a token used with secure services. You may need to use a proxy in the following situations:

A Web Adaptor: is necessary when: Follow Link

When a GIS server goes offline (whether planned or unplanned), the Web Adaptor can continue to distribute incoming requests to the remaining GIS servers in the site. Additionally, the GIS servers can detect when other GIS servers have been removed and added, creating a pluggable architecture that works well in cloud environments.

Inside an ArcGIS Server site

Follow Link

Q: Explain the role of security in client side editing including editor tracking
A:Feature services can track who has made changes to the data and when. This information is stored in fields directly in the dataset. Editor tracking scenarios

Q: Explain how to connect to a secured service
A:The way to work with a secured service depends on how the service authenticates users. An ArcGIS Server instance can use one of three authentication methods: token-based authentication, HTTP authentication or Integrated Windows authentication.

Q: Explain how to request a token using best practices
A:Securely transmitting ArcGIS tokens To prevent the interception and misuse of tokens, the use of a secure connection using HTTPS (Secure Sockets Layer, or SSL) is recommended. The use of HTTPS/SSL ensures that the user name and password sent from the client and the token returned from ArcGIS Server cannot be intercepted. To learn more, see Enabling SSL on ArcGIS Server. These services require that a token be included in each request for a map, query, and so on. A token is an encrypted string that is derived from information about the authorized user, the date and time, and information about the client making the request. The token helps ensure that only authorized users have access to the service. To use a service that requires tokens, you must first obtain a token, and then embed the token in your application.
Services secured with token-based authentication

Q: Distinguish between token security and OAuth security workflows
A:Token Security: A security token (or sometimes a hardware token, authentication token, USB token, cryptographic token, software token, virtual token, or key fob) may be a physical device that an authorized user of computer services is given to ease authentication. The term may also refer to software tokens. Security tokens are used to prove one's identity electronically (as in the case of a customer trying to access their bank account). The token is used in addition to or in place of a password to prove that the customer is who they claim to be. The token acts like an electronic key to access something. Some may store cryptographic keys, such as a digital signature, or biometric data, such as fingerprint minutiae. Some designs feature tamper resistant packaging, while others may include small keypads to allow entry of a PIN or a simple button to start a generating routine with some display capability to show a generated key number. Special designs include a USB connector, RFID functions or Bluetooth wireless interface to enable transfer of a generated key number sequence to a client system.
OAuth Security: OAuth is an open standard to authorization. OAuth provides client applications a 'secure delegated access' to server resources on behalf of a resource owner. It specifies a process for resource owners to authorize third-party access to their server resources without sharing their credentials. Designed specifically to work with Hypertext Transfer Protocol (HTTP), OAuth essentially allows access tokens to be issued to third-party clients by an authorization server, with the approval of the resource owner, or end-user. The client then uses the access token to access the protected resources hosted by the resource server.[1] OAuth is commonly used as a way for web surfers to log into third party web sites using their Google, Facebook or Twitter accounts, without worrying about their access credentials being compromised.[2] OAuth is a service that is complementary to, and therefore distinct from, OpenID. OAuth is also distinct from OATH, which is a reference architecture for authentication, not a standard.

Trouble Shooting + Performance Tuning

Q: Explain how to use ArcGIS Server logs to troubleshoot issues

Q: Explain how maintenance and changes to a map service can affect client applications

Q: Distinguish between service performance issues and application issues

Q: Interpret REST requests for troubleshooting

Q: Interpret issues with network traffic requests