Présentation rapide de l'utilisation d'un service dans ArcGIS for Desktop
Un service de géotraitement comporte une ou plusieurs tâches. Une tâche n'est pas vraiment différente d'un outil de géotraitement, car elle accepte des paramètres et renvoie des résultats ; il s'agit en fait d'un terme utilisé par les API basées sur le web (telles que JavaScript, SilverLight et Flex) pour décrire les routines qui exécutent un travail sur le serveur et renvoient des résultats. Il n'existe pas de différence fondamentale entre les services de géotraitement et les boîtes à outils, voire entre les tâches et les outils. La distinction ne s'applique que lorsqu'il s'agit d'autres clients ArcGIS for Server (notamment les navigateurs web et autres interfaces Internet).
Connexion à ArcGIS for Server
La première étape consiste à se connecter à ArcGIS Server. Depuis la fenêtre Catalogue
- Une connexion ArcGIS Server peut être établie à partir du nœud Serveurs SIG.
- Vous pouvez créer une connexion dans tout dossier en cliquant avec le bouton droit sur le dossier puis en sélectionnant Nouveau > Connexion au serveur ArcGIS.
Recherche de l'URL d'un service de géotraitement
Pour vous connecter à ArcGIS for Server, vous devez spécifier une URL et éventuellement un nom d'utilisateur et un mot de passe. Il existe plusieurs manières d'obtenir l'URL d'un service.
- ArcGIS for Server est hébergé par votre organisation, et l'URL est connue.
- Vous avez obtenu l'URL d'un collègue.
- Vous avez recherché des services de géotraitement sur arcgis.com et vous avez trouvé un service contenant des tâches que vous souhaitez exécuter. Vous pouvez obtenir l'URL du serveur hébergeant le service de la manière suivante :
- La description du service dans arcgis.com possède une entrée Connexion REST de l'API Web d'ArcGIS contenant une URL. Cette URL est destinée à la connexion au service en utilisant REST. Pour une connexion au serveur dans ArcGIS for Desktop, vous avez besoin d'une URL SOAP.
- Vous pouvez déduire une URL SOAP de l'URL REST. Par exemple, si l'URL REST est :
http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver
l'URL SOAP correspondante pour créer des connexions au serveur est :
http://sampleserver.esri.com/arcgis/services
(rest, le nom du service et gpserver sont supprimés de l'URL SOAP).
- Utilisez l'URL SOAP pour créer une connexion utilisateur au serveur. Une fois que vous avez créé la connexion, naviguez dans le catalogue du serveur dans l'arborescence du Catalogue pour localiser les services et tâches de géotraitement.
Exécution des tâches de géotraitement
Vous exécutez les tâches de service de géotraitement comme s'il s'agissait d'un autre outil : à partir de la boîte de dialogue de l'outil, dans ModelBuilder ou dans un script. La seule différence réside dans le fait que si vous exécutez des outils au premier plan, certaines tâches attendent que les résultats soient renvoyés du serveur tandis que d'autres tâches soumettent directement les données au serveur et interrogent parfois ce dernier pour obtenir le résultat. La fenêtre Résultats vous permet d'observer le statut des tâches soumises au serveur. La section ci-dessous, Tâches synchrones et asynchrones, fournit de plus amples détails.
Utilisation des résultats d'une tâche
Le résultat d'un service de géotraitement est ajouté à la Session en cours de la fenêtre Résultat. Si le type de données en sortie résultant est un jeu de données fichier ou raster, la sortie est enregistrée dans un répertoire temporaire local. Pour d'autres types de données tels qu'une classe d'entités, le résultat est écrit dans la session en cours avec le nom et/ou le statut de ses jeux de données en sortie. Il existe cinq valeurs différentes pour le statut :
- <Vide>
L'outil est encore en cours d'exécution sur le serveur et aucune sortie n'a été écrite, ou la tâche n'a pas été exécutée correctement et le résultat n'est pas retourné. Ce statut s'applique uniquement aux outils asynchrones. Reportez-vous à la section Tâches synchrones et asynchrones ci-dessous pour plus d'informations.
- <Données dans le répertoire temporaire>
L'outil a fini de s'exécuter et les données en sortie résident dans la mémoire de votre ordinateur ou dans le répertoire temporaire de votre système. Les données ne sont pas supprimées tant que vous avez une couche ArcMap qui référence les données. Pour conserver les données, il est préférable de les copier à partir de cet emplacement temporaire vers un emplacement connu. Pour ce faire, la méthode la plus simple consiste à utiliser l'outil Copier et à déplacer le jeu de données de la fenêtre Résultats dans le paramètre d'entités en entrée de l'outil. Vous pouvez également cliquer avec le bouton droit sur la sortie et cliquer sur Copier l'emplacement, ce qui copiera le chemin d'accès de la classe d'entités dans le Presse-papiers et vous permettra de le coller à tout emplacement acceptant du texte, tel que le paramètre Entités en entrée de l'outil Copier.
- <Données sur le serveur>
Les données résident sur le serveur. Cela signifie également qu'un service de carte obtenu dessinera les données dans ArcMap, ArcGlobe ou ArcScene. Cette carte obtenue est ajoutée automatiquement dans la table des matières lorsque l'outil finit de s'exécuter sur le serveur. Si vous avez besoin d'ajouter le résultat de service de carte dans la table des matières, cliquez avec le bouton droit sur l'outil de résultat et cliquez sur Ajouter un serveur de couche.
Vous pouvez également cliquer avec le bouton droit sur l'outil de résultat et cliquer sur Extraire des données, ce qui copiera les données du serveur sur votre ordinateur. Après la copie, vous obtenez l'un des trois statuts suivants, <Données dans le répertoire temporaire>, <Limite de transfert des données> ou <Données non disponibles>.
- <Limite de transfert des données>
L'action Extraire des données n'a pas été en mesure de transférer toutes les données du serveur sur votre ordinateur en raison du dépassement du nombre maximal d'entités à transférer. La copie de jeux de données volumineux dégrade la capacité du serveur à exécuter d'autres services SIG et encombre le réseau. Par conséquent, l'auteur du service spécifie un nombre maximal d'entités pouvant être copiées à partir du serveur sur un ordinateur client. Si vous avez besoin de copier des données qui dépassent cette limite, vous devez contacter l'auteur du service ou l'administrateur du serveur et organiser d'autres méthodes d'extraction des données.
- <Données non disponibles>
L'action Extraire des données n'a pas pu trouver les données sur le serveur. La cause la plus probable est que l'administrateur du serveur a jugé les résultats de la tâche obsolètes et a supprimé les données pour libérer de l'espace sur le serveur.
Les paramètres d'environnement sont ignorés
Les services de géotraitement définissent explicitement tous les paramètres d'environnement du serveur qui affectent l'exécution. Les paramètres d'environnement locaux d'ArcGIS for Desktop que vous définissez dans votre session actuelle n'ont aucune incidence sur les paramètres d'environnement utilisés par les services.
Copie d'une tâche serveur vers une boîte à outils personnalisée
Vous ne pouvez pas copier une tâche à partir d'un service de géotraitement vers une boîte à outils personnalisée (boîte à outils que vous créez).
Avant la version 10.1, vous pouviez copier une tâche vers une boîte à outils personnalisée. Cette fonctionnalité a été supprimée dans la version 10.1.
Quitter une application avant la fin de l'exécution d'un outil serveur
Une fois que vous avez soumis un outil asynchrone (voir ci-dessous), vous pouvez quitter l'application que vous utilisez. Par exemple, si vous travaillez dans ArcMap, vous pouvez lancer l'exécution, enregistrer la carte et quitter ArcMap. Lorsque vous ouvrirez le document ultérieurement, ArcMap interrogera le serveur, vérifiera le statut du résultat et actualisera le résultat dans la fenêtre Résultats. Si vous envisagez d'utiliser cette méthode consistant à lancer l'exécution et à quitter ArcMap (ou ArcGlobe ou ArcScene), veillez à enregistrer la carte afin d'enregistrer le résultat pour l'examiner ultérieurement.
Tâches synchrones et asynchrones
Les services de géotraitement et leurs tâches sont synchrones ou asynchrones. Le terme "synchrone" signifie que votre ordinateur attendra pendant que la tâche s'exécutera sur le serveur. Le terme "asynchrone" signifie que votre ordinateur n'a pas besoin d'attendre que l'outil finisse de s'exécuter pour que vous puissiez passer à d'autres tâches.
C'est à l'éditeur du service de décider si une tâche s'exécute de façon synchrone ou asynchrone. Seules les tâches qui s'exécutent rapidement et dont les jeux de données en sortie sont de petite taille doivent être publiées en tant qu'outils synchrones.
Deux méthodes permettent de déterminer si un outil serveur est synchrone ou asynchrone :
- Si vous possédez des droits d'accès d'administrateur sur ArcGIS for Server, vous pouvez accéder au serveur dans la fenêtre Catalogue, cliquer avec le bouton droit sur le service de géotraitement, puis cliquer sur Propriétés du service. Le type d'exécution de l'outil est répertorié sous l'onglet Paramètres.
- Exécutez l'outil et observez les messages qu'il affiche. Lorsqu'un service asynchrone est exécuté, le premier message inscrit est Messages serveur. Ces types de services de géotraitement s'exécutent toujours en arrière-plan dans ArcMap. Un outil synchrone démarre en affichant Exécution. Les deux résultats ci-dessous ont été exécutés de façon asynchrone et synchrone (comme défini par l'administrateur du serveur SIG).
Lorsque vous exécutez un outil asynchrone dans ArcMap et avez validé l'affichage des résultats de l'outil, une couche est ajoutée à l'affichage, mais n'est pas visible (sélectionnée). Ceci tient au fait qu'ArcMap ne sait pas quand l'outil finira de s'exécuter et quand il faudra afficher la sortie.
Vous n'êtes pas informé automatiquement quand un outil asynchrone finit de s'exécuter. Vous suivez la progression d'un outil asynchrone dans la fenêtre Résultats. Pendant l'exécution de l'outil, un sablier est affiché à côté du résultat. Vous pouvez annuler l'exécution en cliquant avec le bouton droit sur le résultat et en cliquant sur Annuler. Lorsque la tâche est terminée, un message indiquant Réussite et une icône d'outil s'affichent en regard du nom de la tâche du résultat.