Web Application Developer Associate - Exam Topics
A qualified candidate should be able to:
- Identify ArcGIS geometry types, relationships, and operations
- Define map and layer concepts and their applications in development
- Understand relevant performance implications
- Understand service configuration for out of the box services
- Use services via REST and SOAP
- Work with maps and layers, and other visualization elements
- Use Web API tools
- Work with secured services
- Troubleshoot web applications
- Deploy web applications
- Work with items from ArcGIS platform such as web maps
- 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
- Spatial Operations: Spatial operations use geometry functions to take spatial data as input, analyze the data, then produce output data that is the derivative of the analysis performed on the input data. Derived data you can obtain from a spatial operation includes the following: A polygon that is a buffer around an input feature A single feature that is a result of analysis performed on a collection of geometries A single feature that is the result of a comparison to determine the part of a feature that does not inhabit the same physical space as another feature A single feature that is the result of a comparison to find the parts of a feature that intersect the physical space of another feature A multipart feature that is made up of the parts of both input features that do not inhabit the same physical space as one another A feature that is the union of two geometries The analysis performed on the input data returns the coordinates or text representation of the resultant geometries. You can use that information as part of a larger query to perform further analysis, or you can use the results as input to another table. For example, you could include a buffer operation in the WHERE clause of an intersect query to determine if the specified geometry intersects an area of specified size around another geometry.
- Proximity Operations: The distance between any two features is calculated as the shortest separation between them, that is, where the two features are closest to each other. This logic is applied by any geoprocessing tool that calculates distance, including tools such as Near, Generate Near Table, Point Distance, and Spatial Join (with CLOSEST match option). Distance measurements will be most accurate when your input data is in an equidistance projected coordinate system. While distance calculations can always be performed regardless of coordinate system, the results may be inaccurate or even meaningless when your data is in a geographic coordinate system or an improperly selected projected coordinate system.
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 http://www.opengeospatial.org/resources/?page=products. 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
Web API Usage
Q: Explain how to initialize and configure map settings and behaviors
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.
Q: Identify the various symbol types and their characteristics
A:STYLE_CIRCLE • STYLE_CROSS • STYLE_DIAMOND • STYLE_PATH • STYLE_SQUARE • STYLE_X
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
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
Q: Explain how to use Esri provided user interface components
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
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
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
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
Q: Explain the various reasons for using a proxy page or web adapter to manage service calls 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.
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:
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
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. 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. 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