What is a map service, feature service, and hosted feature layer?
What are the different functionalities between a map service and a feature service?
A feature service is a map service with feature access enabled, and when the same data is hosted as a map service and a feature service, the functionalities available to interact with the data are different as well.
A map service is the way maps are made available over the internet or the organization's intranet using ArcGIS and this can be achieved using a cached map service or a dynamic web service. A feature service exposes the geometry, attributes, and symbol information for vector features and is appropriate for displaying, querying, and editing business data on top of web basemaps.
When a map service is used as a cached map service, the map service provides a map image layer pre-symbolized at the server-side. This is the fastest way to serve maps on the web but the symbology in that cached map service cannot be changed by the client. In comparison, when a map service is used as a dynamic web service with dynamic layers enabled, the client is able to change the layer appearance and behavior of the map service when used in a web map.
In ArcGIS REST Services Directory, Supports Dynamic Layers is listed as 'true' for a map service with dynamic layers enabled.
Note: Follow the workflow in ArcGIS Server: Enable dynamic layers on a map service in Manager to allow clients to change the layer appearance and behavior in a map service.
The image below shows the Change Style function is available when a map service with dynamic layers enabled is added to a web map in Map Viewer Classic, and the client is able to change the style of the layers.
A feature service, similar to a map service with dynamic layers enabled, also provides the functionality to dynamically customize the feature's symbology on the client's end. The difference between a map service that supports dynamic layers and a feature service is the editing capability. A map service does not expose the editing capability and provides read-only access to feature and attribute content, while a feature service contains the information from feature layers that can be edited if editing is enabled. Clients can query and edit the feature geometry and attributes of a feature service. Additionally, existing and new features can be edited and added, respectively.
The image below shows the Change Style function is available when a dynamic map service and a feature service are added to a web map. However, the Edit function is only available on the ribbon in Map Viewer Classic when a feature service is added to the web map.
The Edit function is only available on the Map Viewer's Settings toolbar when a feature service is added to the web map. Additionally, the Information section is also present in the Properties pane.
A map service is also available as a Keyhole Markup Language (KML) network link. This allows applications capable of viewing KML, such as ArcGIS Earth and Google Earth, to consume a map service. However, this operation is not supported in a feature service. A feature service can be consumed using either a web client or ArcGIS Desktop. It can also be added to Map Viewer in ArcGIS Online or a portal's website using the service's ArcGIS Server Services Directory URL. The feature service can also be added as an item in a portal or ArcGIS Online and shared with the members of the organization.
Note: Refer to ArcGIS Developer: Generate KML and ArcGIS Server: Viewing services as KML for more information on generating KML network links from a map service. For more information on ArcGIS clients that can be used to edit or view the features in a feature service, refer to ArcGIS Server: Feature services and client applications.
What is the difference between a feature service and a hosted feature layer?
A feature service is a type of data storing service and a hosted feature layer is spatial data published to ArcGIS Online or Portal for ArcGIS. A feature service is a map service with feature access enabled, and a hosted feature layer is a feature service in which its feature data is hosted by, or stored in, one of two different data stores configured with a portal's hosting server by the administrator.
When a hosted feature layer is created using data management tools, an item and a feature layer in the feature service are created. The item ID is a unique identifier to the layer. If the data is published to an ArcGIS Enterprise portal, the hosted feature layer data are stored in the portal's relational data store, and there is a feature service running on the portal's hosting server. If the data are published to ArcGIS Online, the hosted feature layer data are stored in ArcGIS Online.
Note: For more information on publishing a hosted feature layer, refer to Portal for ArcGIS: Publish hosted feature layers and ArcGIS Online: Publish hosted feature layers.
A feature service running on a stand-alone or federated ArcGIS Server site can be used as a layer in a portal and the layer behaves similarly to a hosted feature layer. However, unlike a hosted feature layer, the data are not copied into the hosting server's relational data store and stays in the data source registered with the ArcGIS Server site. When the layer is deleted, the data are not deleted. This is different from a hosted feature layer where deleting the hosted feature layer deletes the service and the data as well.
These differences between a feature service and a hosted feature layer are implemented to guard against unwanted changes being made to the data stored in the folders and databases registered with the ArcGIS Server site. A feature service is likely accessed directly by other applications, whereas a hosted feature layer's data are managed through the portal and not directly accessed by other applications.
The URL format of a map service, feature service, feature layer, and hosted feature layer
Note: When a map service is added to a web map without the layer ID in the URL, the map service is added as a map image layer item. When a map service is added to a web map with the layer ID of its feature layer at the end of the URL, the map service is added as a feature layer item.