Workflow : utilisation du serveur de données spatiales ArcGIS pour IIS pour diffuser des données de base de données

Complexité : Débutant Exigences en matière de données : Utiliser vos propres données

Vous pouvez définir un serveur de données spatiales ArcGIS pour IIS et publier des données à partir d'une base de données en suivant l'exemple présenté dans cette rubrique. Il suffit de remplacer les informations spécifiques (nom du serveur de données spatiales, nom de la base de données, nom de l'utilisateur, etc.) par les informations appropriées à votre site.

Dans cet exemple, une application est créée pour permettre aux clients d'un transporteur de déchets de demander une nouvelle livraison de poubelle ou de planifier la collecte d'encombrants.

Une classe d'entités customers (clients) dans une base de données SQL est publiée en tant que service d'entités modifiable et une classe d'entités service_area (zone de desserte) est publiée en tant que service d'entités en lecture seule dans le serveur de données spatiales.

Déploiement d'un serveur de données spatiales

Commencez par configurer un serveur de données spatiales, un utilisateur et une source de données.

Installation d'un serveur de données spatiales ArcGIS pour IIS

Pour installer le serveur de données spatiales ArcGIS pour IIS, suivez les instructions du guide d'installation fourni avec le logiciel. Ce guide propose des informations concernant la configuration système requise, la configuration IIS requise, la procédure d'autorisation et l'installation du logiciel.

RemarqueRemarque :

Pour autoriser la mise à jour via les services publiés sur ArcGIS.com, vous devez installer le serveur de données spatiales ArcGIS sur un serveur public (à l'extérieur de votre pare-feu).

Octroi de privilèges à l'utilisateur se connectant

Dans la phase suivante, vous devez spécifier l'utilisateur qui se connecte à la source de données. Cet utilisateur doit obtenir des privilèges sur les jeux de données que vous souhaitez publier sur le serveur de données spatiales. Par exemple, si vous voulez que l'utilisateur spécifié pour la source de données puisse uniquement interroger les données auxquelles il a accès dans votre service d'entités, il suffit de lui accorder des privilèges de sélection (SELECT) sur les jeux de données dans le service d'entités.

Dans ce workflow, le service d'entités accorde des privilèges de requête et de création (QUERY et CREATE). Par conséquent, l'utilisateur se connectant à la source de données doit obtenir des privilèges de sélection et d'insertion (SELECT et INSERT) sur la classe d'entités customers.

Dans l'exemple ci-dessous, une connexion webeditor est créée dans l'instance SQL Server et ajoutée à la base de données threers. Une structure est ensuite créée pour l'utilisateur de la base de données qui obtient des privilèges SELECT et INSERT sur la classe d'entités customers.

CREATE LOGIN webeditor WITH PASSWORD=N'We4Svcs', 
  DEFAULT_DATABASE=threers, 
  CHECK_EXPIRATION=OFF, 
  CHECK_POLICY=ON;
GO

USE threers;

CREATE USER webeditor FOR LOGIN webeditor;
ALTER USER webeditor WITH DEFAULT_SCHEMA=webeditor;
GO

CREATE SCHEMA webeditor AUTHORIZATION webeditor;
GO

GRANT SELECT,INSERT
  ON cdata.customers
  TO webeditor;

Création d'une source de données

Lorsque vous créez une source de données, vous indiquez au serveur de données spatiales la base de données à laquelle se connecter et le nom de l'utilisateur.

Vous pouvez créer plusieurs sources de données, mais une seule est requise dans le cadre de cet exemple.

Etapes :
  1. Ouvrez un navigateur Web et accédez à la vue Admin de l'API REST dans votre serveur de données spatiales. Vous devez entrer une URL au format http://<nom du serveur>/<nom du serveur de données spatiales>/admin.

    Dans cet exemple, le serveur de données spatiales sdsi2s est installé sur le serveur webapps. Ainsi, l'URL d'extrémité Admin de l'API REST est http://webapps/sdsi2s/admin.

  2. Cliquez sur le lien Sources de données, puis sur Créer une source de données pour ouvrir la page Créer une source de données.

    Page Créer une source de données

  3. Fournissez les informations requises :
    1. Saisissez un nom et une description pour la nouvelle source de données. Dans cet exemple, la source de données s'appelle cust_reqs.
    2. Dans le champ Serveur, entrez le nom de l'instance SGBD sur laquelle réside la base de données. Dans cet exemple, le nom de l'instance SQL Server est abe\sspub.
    3. Dans le champ Base de données, entrez le nom de la base de données qui contient les données à publier. Dans cet exemple, la base de données s'appelle threers.
    4. Indiquez le nom d'utilisateur (webeditor) et le mot de passe (We4Svcs) créé dans la dernière section.
    5. Une fois que vous avez saisi les informations appropriées, cliquez sur Créer une source de données.

Configuration d'un compte ArcGIS Online

Dans cet exemple, le service est publié dans ArcGIS Online, où une application sera créée.

Utilisez votre compte global Esri pour vous connecter à ArcGIS Online. Vous pouvez inscrire votre compte global Esri actuel auprès d'ArcGIS Online ou créer un compte global Esri et l'inscrire au même emplacement. Ouvrez la page http://www.arcgis.com/home/, puis cliquez sur Se connecter.

Si vous avez déjà inscrit votre compte global Esri auprès d'ArcGIS Online, vous n'avez pas besoin de vous connecter maintenant. Vous pouvez le faire ultérieurement une fois le service publié.

Création d'une connexion administrateur au serveur de données spatiales

Vous publiez vos données via une connexion spécifique au serveur de données spatiales. La connexion administrateur vous permet d'administrer le serveur et de publier des services.

Si vous voulez également administrer votre serveur de données spatiales, créez une connexion administrateur à partir d'ArcGIS for Desktop.

Etapes :
  1. Lancez ArcMap et ouvrez la fenêtre Catalogue.
  2. Dans l'arborescence du catalogue, développez le nœud Serveurs SIG.
  3. Double-cliquez sur Ajouter ArcGIS for Server.
  4. Choisissez Administrer le serveur GIS et cliquez sur Suivant.
  5. Dans la zone de texte URL du serveur, entrez l'URL d'administration du serveur de données spatiales.

    Dans cet exemple, l'URL est http://webapps/sdsi2s/admin.

  6. Sélectionnez Serveur de données spatiales dans la liste déroulante Type de serveur.
  7. Si vous comptez utiliser cette connexion pour créer et enregistrer des définitions de service, vous pouvez choisir l'emplacement de mise en attente des fichiers de définition de service sur le disque. Par défaut, ils sont mis en attente dans un dossier de votre ordinateur local.
  8. Cliquez sur Terminer pour créer la connexion.

    Votre nouvelle connexion est répertoriée dans le nœud Serveurs SIG.

Publication de services d'entités

Vous allez publier deux services : l'un sera modifié pour accepter les requêtes, l'autre est un service en lecture seule qui représente votre zone de desserte. Pour partager vos services avec d'autres utilisateurs, connectez-vous à votre base de données à partir d'ArcMap, créez deux cartes distinctes dans ArcMap (une pour le service modifiable et une pour le service en lecture seule), puis publiez-les.

Connexion à la base de données à partir d'ArcGIS for Desktop

Vous créez une connexion à votre base de données pour pouvoir accéder aux données qu'elle contient. Pour ce faire, vous devez installer le client de la base de données sur l'ordinateur où est installé ArcGIS.

Dans ce workflow, vous devez utiliser l'application SQL Server Native Client prise en charge pour la version de la base de données SQL Server que vous utilisez. Contactez Microsoft pour obtenir ce client et installez-le sur votre ordinateur client.

Après avoir installé SQL Server Native Client, connectez-vous à votre base de données à partir d'ArcMap.

Connectez-vous à votre base de données à partir d'ArcMap pour ajouter la table customers à votre carte.

Etapes :
  1. Dans l'arborescence du catalogue, développez le nœud Connexion à une base de données.
  2. Double-cliquez sur Ajouter une connexion à une base de données.
  3. Sélectionnez SQL Server dans la liste déroulante Plateforme de la base de données.
  4. Saisissez le nom de l'instance de SQL Server, abe\sspub, dans la zone de texte Instance.
  5. Saisissez le nom de la base de données, threers, dans la zone de texte Base de données.
  6. Sélectionnez Authentification de la base de données dans la liste déroulante Type.
  7. Tapez webeditor dans la zone de texte Nom d'utilisateur.
  8. Tapez We4Svcs dans la zone de texte Mot de passe.
  9. La case à cocher Enregistrer le nom d’utilisateur et le mot de passe doit rester sélectionnée. Cliquez ensuite sur OK.

Création d'une carte pour le service modifiable

Ajoutez la table customers à ArcMap en la faisant glisser de la connexion à la base de données vers la fenêtre de la carte.

Si ArcMap ne peut pas détecter la référence spatiale ni aucune colonne ObjectID valide (une colonne d'entiers non nuls), vous devrez fournir cette information.

RemarqueRemarque :

Vous ne pouvez pas publier de données qui n'ont pas de référence spatiale.

Lorsque la table apparaît dans la table des matières ArcMap, symbolisez les entités à l'aide de symboles simples que vous souhaitez afficher dans le service. Pour plus d'informations sur la modification de la symbologie, reportez-vous à l'aide d'ArcGIS.

Puis, le cas échéant, modifiez la configuration du document ArcMap en définissant les propriétés que vous souhaitez mettre à disposition dans le service. Par exemple, vous pouvez déterminer les champs et les alias visibles dans le service, et éventuellement définir certains champs en lecture seule. Dans cet exemple, vous pouvez également définir un menu contextuel HTML pour que les utilisateurs puissent fournir les informations nécessaires au traitement de leur requête. Reportez-vous à la rubrique Présentation rapide de la création des services d'entités pour un serveur de données spatiales pour obtenir une liste des propriétés que vous pouvez définir.

Effectuez un zoom sur l'étendue initiale que votre service doit utiliser. Vous devez vous assurer que l'étendue initiale ne renvoie pas plus du nombre maximum d'entités définies au moment de la publication. Le nombre maximum par défaut est 1 000. Enregistrez votre carte.

Publication d'un service d'entités modifiable

Maintenant que votre carte est prête, publiez-la pour partager les données sous forme de service d'entités.

Etapes :
  1. Ouvrez le document ArcMap, puis choisissez Fichier > Partager en tant que > Service dans le menu principal.
  2. La fenêtre Partager en tant que service propose trois options.
    • Pour publier immédiatement vos données, choisissez Publier un service, puis cliquez sur Suivant.
    • Pour enregistrer un fichier de définition de service à publier ultérieurement, choisissez Enregistrer un fichier de définition de service+++, puis cliquez sur Suivant.
    • Pour remplacer un service, choisissez Ecraser un service existant, puis cliquez sur Suivant. Le service que vous voulez remplacer doit d'abord être arrêté.
  3. Sélectionnez le serveur de données spatiales admin dans la liste déroulante de connexion.
  4. Tapez three_r_requests dans la zone de texte Nom du service et cliquez sur Continuer.
  5. Dans l'Editeur de services, cliquez sur Accès aux fonctions.
  6. Comme les utilisateurs peuvent uniquement interroger le service et y ajouter des entités, désactivez les options Supprimer et Mettre à jour.
  7. Ne modifiez pas la valeur du Nombre maximum d'entités renvoyées par requête (1 000).
  8. Cliquez sur Partage.

    La boîte de dialogue Se connecter d'ArcGIS Online s'ouvre.

  9. Saisissez le nom d'utilisateur et le mot de passe de votre compte global Esri, puis cliquez sur OK pour vous connecter et fermer la boîte de dialogue de connexion.
  10. Dans le volet ArcGIS Online de la boîte de dialogue Editeur de services, cochez la case appropriée pour déterminer les utilisateurs autorisés à accéder à votre contenu.
    • Si vous êtes actuellement le seul à pouvoir accéder au service, cochez la case Mon contenu.
    • Si vous souhaitez que tout le monde puisse accéder à ArcGIS Online pour voir le service, cochez la case Tout le monde (public).
    • Tous les groupes dont vous êtes membres sont répertoriés. Si vous voulez autoriser ces groupes à accéder à votre service, activez la case Membres de ces groupes, puis cochez tous les groupes de votre choix.

    Vous pouvez sélectionner plusieurs options, par exemple, pour que le service fasse partie de votre contenu et pour autoriser l'accès à des groupes ArcGIS Online spécifiques.

  11. Cliquez sur Analyse pour vous assurer qu'il ne reste plus d'erreurs ni d'avertissements à corriger avant la publication.

    La publication ne peut avoir lieu que si les erreurs sont corrigées.

  12. Pour voir à quoi ressemble la classe d'entités dans le service, cliquez sur Aperçu.
  13. Vous pouvez alors enregistrer le fichier de définition de service en vue d'une publication ultérieure. Mais dans ce workflow, vous allez publier le service.
  14. Cliquez sur Publier.
  15. A la fin de la publication, cliquez sur OK pour fermer la boîte de dialogue.

Création d'une carte pour le service en lecture seule

Créez une deuxième carte à partir de laquelle vous allez publier le service en lecture seule.

Etapes :
  1. Ouvrez une nouvelle carte dans ArcMap : Fichier > Nouveau.
  2. Choisissez Nouvelles cartes et cliquez sur OK.
  3. Faites glisser la classe d'entités service_area (zone de desserte) sur la carte.
  4. Symbolisez la couche comme vous souhaitez la voir apparaître dans le service.

    N'utilisez aucun remplissage dans le polygone de zone de desserte ou choisissez un remplissage transparent.

  5. Indiquez les champs visibles dans le service et définissez les alias correspondants.
  6. Enregistrez le document ArcMap dans un répertoire partagé auquel peut accéder l'utilisateur IIS local APPPOOL\DefaultAppPool.

Publication du service en lecture seule

Publiez la deuxième carte pour qu'elle puisse servir de point de référence dans l'application Web.

Etapes :
  1. Ouvrez le document ArcMap, puis choisissez Fichier > Partager en tant que > Service dans le menu principal.
  2. La fenêtre Partager en tant que service propose trois options.
    • Pour publier immédiatement vos données, choisissez Publier un service, puis cliquez sur Suivant.
    • Pour enregistrer un fichier de définition de service à publier ultérieurement, choisissez Enregistrer un fichier de définition de service+++, puis cliquez sur Suivant.
    • Pour remplacer un service, choisissez Ecraser un service existant, puis cliquez sur Suivant. Le service que vous voulez remplacer doit d'abord être arrêté.
  3. Sélectionnez le serveur de données spatiales admin dans la liste déroulante de connexion.
  4. Tapez service_area dans la zone de texte Nom du service et cliquez sur Continuer.
  5. Dans l'Editeur de services, cliquez sur Accès aux fonctions.
  6. Saisissez l'URL d'un serveur public dans la zone de texte URL.

    Vous devez publier les services d'entités modifiables dans un serveur public pour qu'ArcGIS Online puisse y accéder.

  7. Comme les utilisateurs peuvent uniquement interroger ce service, désactivez les options Ajouter, Supprimer et Mettre à jour.
  8. Cliquez sur ArcGIS Online.

    La boîte de dialogue de connexion d'ArcGIS Online s'ouvre.

  9. Saisissez le nom d'utilisateur et le mot de passe de votre compte global Esri, puis cliquez sur OK pour vous connecter et fermer la boîte de dialogue de connexion.
  10. Dans le volet ArcGIS Online de la boîte de dialogue Editeur de services, cochez la case appropriée pour déterminer les utilisateurs autorisés à accéder à votre contenu.
    • Si vous êtes actuellement le seul à pouvoir accéder au service, cochez la case Mon contenu.
    • Si vous souhaitez que tout le monde puisse accéder à ArcGIS Online pour voir le service, cochez la case Tout le monde (public).
    • Tous les groupes dont vous êtes membres sont répertoriés. Si vous voulez autoriser ces groupes à accéder à votre service, activez la case Membres de ces groupes, puis cochez tous les groupes de votre choix.

    Vous pouvez sélectionner plusieurs options, par exemple, pour que le service fasse partie de votre contenu et pour autoriser l'accès à des groupes ArcGIS Online spécifiques.

  11. Cliquez sur Analyse pour vous assurer qu'il ne reste plus d'erreurs ni d'avertissements à corriger avant la publication.

    La publication ne peut avoir lieu que si les erreurs sont corrigées.

  12. Pour voir à quoi ressemblera la classe d'entités dans le service, cliquez sur Aperçu.
  13. Vous pouvez alors enregistrer le fichier de définition de service en vue d'une publication ultérieure. Mais dans ce workflow, vous allez publier le service.
  14. Cliquez sur Publier.
  15. A la fin de la publication, cliquez sur OK pour fermer la boîte de dialogue.

Affichage des services

Vous pouvez afficher des informations concernant votre service à partir du répertoire des services de données spatiales ArcGIS. Comme vous avez publié votre service dans ArcGIS Online, vous pouvez l'afficher sur une carte à partir de cet emplacement.

Accès au service à partir du répertoire des services de données spatiales ArcGIS

Le répertoire des services de données spatiales ArcGIS répertorie tous les services publiés dans un serveur de données spatiales spécifique. Dans ce répertoire, vous pouvez exporter votre définition de service en tant que fichier JSON, écrire des requêtes SQL pour sélectionner ou insérer des entités dans la classe d'entités ou ouvrir votre service dans ArcGIS.com.

L'URL du répertoire des services de données spatiales ArcGIS est http://<nom du serveur>/<nom du serveur de données spatiales>/rest/services. Ainsi, dans cet exemple, l'URL est http://webapps/sdsi2s/rest/services. Les deux services sont répertoriés.

Utilisation d'ArcGIS Online

Maintenant que vous avez publié les classes d'entités dans votre serveur de données spatiales, vous pouvez les afficher à partir d'ArcGIS Online.

Etapes :
  1. Ouvrez un navigateur Web et accédez au site Web d'ArcGIS Online : http://www.arcgis.com/home/index.html.
  2. Cliquez sur Se connecter.
  3. Spécifiez le nom d'utilisateur et le mot de passe de votre compte global Esri, puis cliquez sur Se connecter.
  4. Cliquez sur Mon contenu.
  5. Commencez par ajouter le service three_r_requests.
    1. Cliquez sur Ajouter un élément.
    2. Sélectionnez Sur le Web dans la liste déroulante L'élément est.
    3. Entrez l'URL du service.

      Dans cet exemple, l'URL est http://webapps/sdsi2s/rest/services/three_r_requests.svc.

    4. Donnez un titre au service dans la zone de texte Titre.
    5. Dans la zone de texte Balises, entrez des balises pour identifier votre service.
    6. Cliquez sur Ajouter un élément.
  6. Suivez la même procédure pour ajouter le service service_area (zone de desserte) à votre contenu.

Créer une application Web

Commencez par créer une carte sur ArcGIS.com qui contient vos services et un fond de carte des rues de la zone. Ensuite, utilisez l'un des modèles d'application disponibles sur ArcGIS.com pour créer une application Web.

Création d'une carte sur ArcGIS.com

Ajoutez vos deux services à un fond de carte sur ArcGIS.com et enregistrez la carte à utiliser pour votre application.

Etapes :
  1. Dans la section Mon contenu d'ArcGIS.com, cliquez sur le service en lecture seule.
  2. Cliquez sur Ouvrir pour ouvrir une carte affichant les données de ce service.
  3. Cliquez sur Ajouter, puis choisissez Ajouter une couche provenant du Web+++ pour ajouter votre deuxième service.

    La boîte de dialogue Ajouter une couche provenant du Web+++ s'ouvre.

  4. Dans la zone de texte URL, saisissez l'URL du service modifiable et cliquez sur Ajouter une couche.
  5. Cliquez sur Fond de carte et sélectionnez une couche affichant des noms de rue.
  6. Le cas échéant, modifiez l'étendue de votre carte pour couvrir uniquement les deux services.
  7. Cliquez sur Enregistrer pour enregistrer la carte.
    1. Tapez un titre, des balises et un résumé pour la carte.
    2. Sélectionnez le dossier dans lequel enregistrer la carte.
    3. Cliquez sur Enregistrer la carte.
  8. Partagez la carte publiquement ou avec des groupes spécifiques.
  9. Notez l'ID de votre carte. Il vous sera demandé lors de la création d'une application Web.

Utilisation d'un modèle pour créer une application Web

Comme l'application doit autoriser la mise à jour, choisissez le modèle permettant de modifier une application Web.

Etapes :
  1. Téléchargez le modèle permettant de modifier une application Web.
  2. Placez le fichier téléchargé dans le dossier inetpub\wwwroot sur votre serveur IIS.
  3. Extrayez les fichiers.
  4. Suivez les instructions fournies dans le fichier readme.html pour configurer l'application.
9/13/2013