Workflow : utilisation d'ArcGIS Spatial Data Server pour la plte-forme Java 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 configurer ArcGIS Spatial Data Server pour la plate-forme Java et publier des données à partir d'une base de données en suivant l'exemple présenté dans cette rubrique.

Dans cet exemple, vous allez créer une application qui permet de collecter des informations démographiques sur les étudiants d'une université. L'université peut utiliser les informations collectées pour vanter son établissement auprès de futurs étudiants ou les aider à planifier leur avenir scolaire : quelles écoles et quelles filières offrent le meilleur retour sur investissement (frais de scolarité par rapport au salaire visé une fois le diplôme obtenu).

Une classe d'entités de régions utilisant un stockage de géométrie PostGIS dans une base de données PostgreSQL sera publiée en tant que service d'entités modifiable sur le serveur de données spatiales. La classe d'entités de régions affiche des zones de codes postaux pour indiquer approximativement le domicile des étudiants.

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

Vous devez installer le serveur de données spatiales ArcGIS pour Java, le fournisseur JDBC, un client SGBD et un serveur d'applications Java.

Ensuite, configurez la source de données.

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

Pour installer le serveur de données spatiales ArcGIS pour Java, suivez les instructions du guide d'installation fourni avec le logiciel. Ce guide propose des informations concernant la configuration système 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).

Installation de fournisseurs JDBC et configuration d'un serveur d'applications Java

Téléchargez et installez le pilote JDBC pris en charge pour votre SGBD, ainsi qu'un serveur d'applications ou un serveur Web.

Dans ce workflow, le fichier JDBC PostgreSQL et Tomcat sont installés.

Etapes :
  1. Téléchargez le pilote JDBC PostgreSQL à partir de http://jdbc.postgresql.org/download.html et placez-le sur le serveur où ArcGIS Spatial Data Server et Tomcat sont installés.
  2. Téléchargez Tomcat à partir du site d'Apache Software Foundation.
  3. Installez Tomcat sur votre serveur.
  4. Copiez le pilote JDBC PostgreSQL dans le répertoire lib de Tomcat.

Configuration de la source de données

Vous devez configurer la source de données avec votre serveur Web ou votre serveur d'applications.

Dans ce workflow, modifiez le fichier Tomcat context.xml pour configurer votre source de données.

Etapes :
  1. Ouvrez le fichier context.xml dans le répertoire conf où Tomcat est installé.
  2. Modifiez la section <Resource name> du fichier en entrant les informations relatives à l'agrégat de bases de données PostgreSQL.

    Dans cet exemple; le nom de la source de données est postgres, l'agrégat de bases de données écoute sur le port par défaut 5432 et la base de données s'intitule gisdata. Le rôle de connexion alumapp permet d'établir la connexion.

    <Resource name="jdbc/postgres" auth="Container"
                  type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
                  url="jdbc:postgresql://127.0.0.1:5432/gisdata"
                  username="alumapp" password="ruL00king" maxActive="20" maxIdle="10" 
                  maxWait="-1"/>

  3. Enregistrez le fichier context.xml.

Préparation des comptes

Comme les données publiées en tant que service d'entités seront mises à jour, vous devez accorder des privilèges de mise à jour à l'utilisateur qui se connecte aux données et les publie. Vous devez créer un compte ArcGIS Online, car vous allez également publier des données sur ArcGIS Online.

Octroi de privilèges à l'utilisateur se connectant

Dans la phase suivante, vous devez spécifier l'utilisateur qui se connectera lors de l'inscription de 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 sélectionner 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 sélection, d'ajout et de mise à jour (SELECT, ADD et UPDATE). Par conséquent, l'utilisateur se connectant à la source de données doit obtenir des privilèges de sélection, d'insertion et de mise à jour (SELECT, INSERT et UPDATE) sur la classe d'entités customers. En outre, comme la classe d'entités utilise le stockage de géométrie PostGIS, l'utilisateur doit obtenir des privilèges sur les tables public.geometry_columns et public.spatial_ref_sys.

Dans l'exemple ci-dessous, un rôle de connexion à une base de données et une structure, alumapp, sont créés. Des privilèges de sélection, d'insertion et de mise à jour sont accordés au rôle de connexion sur la classe d'entités de régions dans la base de données, ainsi que des privilèges de sélection, d'insertion, de mise à jour et de suppression sur la table public.geometry_columns et des privilège de sélection sur la table spatial_ref_sys. Vous devez être connecté à la base de données appropriée lorsque vous créez la structure et que vous accordez des privilèges.

CREATE ROLE alumapp LOGIN 
  ENCRYPTED PASSWORD 'ruL00king', 
  NOSUPERUSER CREATEDB INHERIT NOCREATEROLE;
  
CREATE SCHEMA alumapp AUTHORIZATION alumapp;

GRANT ALL ON SCHEMA alumapp TO alumapp;
GRANT USAGE ON SCHEMA alumapp TO authusers;

GRANT SELECT, INSERT, UPDATE, DELETE  
  ON TABLE public.geometry_columns 
  TO alumapp;

GRANT SELECT
  ON TABLE public.spatial_ref_sys
  TO alumapp;

GRANT SELECT, INSERT, UPDATE
  ON market1.regions
  TO alumapp;

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://pub5:8080/arcgis/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 d'un service d'entités

Vous allez vous connecter à la base de données à partir d'ArcGIS for Desktop en utilisant le même nom d'utilisateur que celui que vous avez spécifié pour configurer la source de données. Créez ensuite une carte contenant les données dont vous souhaitez disposer dans votre service, appariez une source de données et publiez le service.

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 placer les fichiers du client PostgreSQL dans le dossier bin où est installé ArcGIS for Desktop.

Etapes :
  1. Téléchargez les fichiers de bibliothèque du client 32 bits PostgreSQL pour Windows à partir du portail d'assistance client Esri.
  2. Placez les fichiers dans le dossier bin d'ArcGIS for Desktop.

Lorsque les bibliothèques du client PostgreSQL figurent dans le répertoire bin d'ArcGIS for Desktop, créez une connexion d'ArcMap à votre base de données.

Connectez-vous à votre base de données à partir d'ArcMap pour ajouter la table de régions à 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. Saisissez le nom du serveur PostgreSQL dans la zone de texte Instance.
  4. Saisissez le nom de la base de données, gisdata, dans la zone de texte Base de données.
  5. Sélectionnez Authentification de la base de données dans la liste déroulante Type.
  6. Tapez alumapp dans la zone de texte Nom d'utilisateur.
  7. Dans la zone de texte Mot de passe, entrez le mot de passe de la connexion alumapp.
  8. 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

Ajoutez la table de régions à 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.

Appariement de la source de données et 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.

Vous allez apparier la source de données lors de la publication.

AstuceAstuce:

Une autre possibilité consiste à apparier la source de données à partir de la vue Admin REST. Reportez-vous à la rubrique Appariement de source de données à partir de la vue REST pour le serveur de données spatiales ArcGIS pour Java pour plus d'informations.

Etapes :
  1. Ouvrez le document ArcMap, puis choisissez Fichier > Partager en tant que > Service dans le menu principal.
  2. In the Share As Service window, there are three options.
    • To immediately publish your data, choose Publish a service and click Next.
    • To save a service definition file to be published later, choose Save a service definition file and click Next.
    • To replace an existing service, choose Overwrite an existing service and click Next. To replace a service, the original service must be stopped first.
  3. Sélectionnez le serveur de données spatiales admin dans la liste déroulante de connexion.
  4. Tapez alumni_data 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. Ne désactivez pas les quatre options sélectionnées, car l'utilisateur se connectant pourra interroger, créer, mettre à jour et supprimer des données via le service d'entités.
  7. Cliquez sur Partage.

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

  8. 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.
  9. 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.

  10. Cliquez sur Analyser.

    Si vous n'avez pas encore apparié la source de données, le message d'erreur La source de données de la couche n'est pas appariée+++ s'affiche. Vous devez corriger cette erreur et tout autre problème éventuel avant la publication.

  11. Pour corriger les erreurs, cliquez dessus avec le bouton droit.

    Le menu contextuel contient des liens vers des outils de correction du problème.

  12. Pour corriger l'erreur d'une source de données, suivez les instructions fournies dans le lien d'aide relatif à l'erreur.
  13. Corrigez toutes les erreurs générées avant de continuer.
  14. Pour voir à quoi ressemble la classe d'entités dans le service, cliquez sur Aperçu.
  15. Cliquez sur Publier.
  16. 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://pub5:8080/arcgis/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. Ajoutez le service alumni_data.
    1. Cliquez sur Ajouter un élément.
    2. Sélectionnez Un service Web ArcGIS Server+++ dans la liste déroulante L'élément est.
    3. Entrez l'URL du service.

      Ainsi, dans cet exemple, l'URL est http://pub5:8080/arcgis/rest/services/alumni_data.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.

Créer une application Web

Commencez par créer une carte sur ArcGIS.com qui contient votre service et un fond de carte du monde. 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 votre service alumni_data à un fond de carte sur ArcGIS.com et enregistrez la carte à utiliser pour votre application.

Etapes :
  1. Dans la section Mon contenud'ArcGIS.com, cliquez sur Créer une carte.
  2. Cliquez sur Fond de carteet choisissez l'un des fonds de carte.
  3. Cliquez sur Ajouter > Ajouter des couches.
  4. Dans la liste déroulante +++Dans, choisissez Mon contenu.
  5. Choisissez votre service alumni_data et cliquez sur Ajout de couches terminé+++.
  6. Le cas échéant, modifiez l'étendue de la carte.
  7. Enregistrez votre 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 qui 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 .zip 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