What is a feature service?
Feature services allow you to serve features over the Internet and provide the symbology to use when displaying the features. Clients can execute queries to get features and perform edits that can be applied to the server. Feature services provide templates that can be used for an enhanced editing experience on the client. Data from relationship classes and nonspatial tables can also be queried and edited using feature services.
Feature services are available in ArcGIS for Server, Portal for ArcGIS, and when publishing to ArcGIS Online. You can publish a feature service with ArcGIS for Server Basic, but you can only perform queries on it; you cannot use it for web editing. Refer to the functionality matrix for full licensing requirements for feature services.
Common workflows for using feature services
Depending on the editing workflow you want to achieve, the way that you use a feature service will vary. Below are some common scenarios to consider:
You want to publish a feature service to ArcGIS Server using data from a single on-premises database or enterprise geodatabase. This scenario allows you to quickly set up an editing environment for your clients. When using an enterprise geodatabase, you can also use the ArcGIS REST API to create replicas of your data that can be made available to clients for online and offline use. The edits applied to the replicas can then be synchronized with your geodatabase directly from the client.
For a detailed walk-through of setting up a feature service for use with an enterprise geodatabase, see Tutorial: Performing web editing using data from an enterprise geodatabase.
For a detailed walk-through for setting up a feature service for use with a database, see Tutorial: Performing web editing using data from a database.
To learn more about using the ArcGIS Server REST API to create data replicas from a geodatabase and synchronize changes from client applications, see the sync section of the ArcGIS Server REST API Help.
You want to publish a feature service to ArcGIS Server using data replicated from an on-premises enterprise geodatabase. This scenario is well suited for web use, as it allows you to maintain a separate copy of your on-premises data on the server for the purpose of web editing. Edits applied to your data on the web can be synchronized with your on-premises data using a geodata service. This service can be automatically created when you publish your feature service to ArcGIS Server. For a detailed walk-through of this scenario, see Tutorial: Performing web editing using replicated data from an enterprise geodatabase.
- You want to publish a feature service to ArcGIS Server on Amazon Web Services and don't have a dedicated on-premises enterprise geodatabase. You can publish shapefiles or file-based data and have it copied to an enterprise geodatabase on Amazon Web Services. This scenario is useful if you want to quickly set up an editing environment and don't want to invest in hardware to run ArcGIS Server or a database. Before publishing your feature service, you'll need to create your site using ArcGIS Server Cloud Builder and include a geodatabase with the site. The egdb geodatabase that is created with the site is automatically registered as ArcGIS Server's Managed Database. When you publish, the data referenced by your feature service will be automatically copied into this database. To learn more, see Copying data to the server automatically when publishing.
If you want to access the data in your enterprise geodatabase or database as read-only features, you can alternatively use a map service. Map services are supported on all license levels and will allow you to disable querying or data access. To learn more, see What is a map service.
Required steps for using a feature service
Once you've determined the appropriate editing scenario, you'll need to set up a feature service and publish it to ArcGIS Server. The following steps are required:
- Set up an enterprise geodatabase or database using a supported platform such as SQL Server, PostgreSQL, Oracle, Informix, or DB2.
- Author a map document to be compliant with the feature service. This is a key component to any editing workflow.
- Prepare the data in your database for publishing. This involves connecting to ArcGIS Server and registering your database with the server.
- Publish your map document as a map service with the Feature Access capability enabled. This creates a feature service endpoint through which clients, such as a web application, can access and edit the features in your map.
- Consume the feature service in a client application. There are a variety of ArcGIS-compliant client applications available for you to use.