Suggestions for configuring geodata services

When configuring a geodata service, consider the following suggestions and tips.

Output directory versus embedding data

Replica operations, such as replica creation and synchronization, as well as data extraction, involve data transfer. If you do not set an output directory for the geodata service, the data is transferred embedded with the messages sent and received by the server. This is subject to a maximum message size limit, which is 5 MB by default.

If you plan on creating large replicas, synchronizing large numbers of edits, or extracting large amounts of data, it is recommended that you set an output directory. Contents are uploaded and downloaded from the output directories independently of the service messages. This allows you to perform these larger operations without exceeding message size limits. In some cases, it will also reduce the total amount of data transfer needed to complete the operation.

Geodata service allowed operations

By default, the Query and Extract operations are enabled. With these operations, you can perform read-only actions such as extracting copies of data or performing queries from a published geodatabase. If you have ArcGIS Desktop and an ArcGIS Server Standard edition license, you can use the data extraction command in ArcMap to extract copies. To perform queries, you must write code using the SDK. Replication, which exposes the ability to update the published geodatabase, is not enabled by default. To allow the Replication operation, use the Capabilities tab or panel on the Service Properties dialog box.

Implementing security

When publishing geodata services for access over the Internet, you may want to enable HTTP authentication for security reasons. This will require clients to log in when attempting to access the service. It is also important to enable HTTP authentication for both the geodata service and the virtual output directory. When enabling HTTP authentication, make sure the same users can access both the geodata service and the virtual output directory. Messages should also be encrypted, since they will include login information. You can use an encrypted communication channel, such as SSL, to do this.

A client can connect via LAN or the Internet to ArcGIS Server. Enabling HTTP authentication for the geodata service and its associated virtual directory is supported only for Internet connections to the server. For instance, you can connect via Internet to a secured geodata service and extract data into a local file geodatabase or create a replica to a local ArcSDE geodatabase in SQL Server Express. The same credentials used to connect to the service are used when downloading the data from the virtual directory.

On the other hand, connecting via LAN to the same secured service will fail to download the data from the virtual directory.

Techniques for creating replicas from geodata services

Several tools and options are available for creating replicas from geodata services. Choosing the most appropriate method depends on the situation.

If you can connect to the geodatabase locally, use the local connection to specify the geodatabase to replicate to instead of a connection to a geodata service. If you must use a geodata service, be aware that the operation may time out. By default, the time-out time is 600 seconds per geodata service. You can increase the time-out by setting the maximum time a client can use a service in the geodata service properties.

If you are creating a replica for a very large amount of data, consider using the Register Existing Data option in the Create Replica wizard in ArcMap. To use this option, the data must already exist in both geodatabases. The option is more efficient, since it doesn't copy data. It simply validates that the data exists and registers the replicas in the geodatabases referenced by the geodata services. To get the data from the source geodatabase to the destination geodatabase, you can do the following:

  1. Add GlobalIDs to the data in the source geodatabase before sending to the destination geodatabase.
  2. Export the data to an export format. This can be an XML workspace document or even files created using tools from the DBMS.
  3. Send it to the destination electronically (for example, using FTP or e-mail) or on media sent through a courier.
  4. Load the data into the destination geodatabase.