SALLE DE CLASSE - SIG 2008 Présentation du versionnement, mises à jour multimulti-utilisateurs et gestion de l historique dans ArcGIS Server (ArcSDE)
Objectif de cette salle de Classe Décrire l utilisation du mécanisme de versionnement sous ArcSDE Comprendre les avantages des versions à travers d exemples : Mise à jour en mode concurrent sur une même donnée (gestion de conflit(s)) Gestion de l historique Versions transactionnelles (réconciliation) Pré Pré--requis pour cette session ArcGIS 9.3 (ArcEditor) ArcGIS Server Enterprise (ArcSDE 9.3) SQLServer 2008 2/42
Petit rappel sur ArcSDE : Qu est ce qu ArcSDE? ArcSDE est une application serveur permettant d ajouter une intelligence spatiale à un SGBDR Permet le stockage de données vecteur et raster, et une optimisation des consultations Prend en charge la sécurité des accès Offre différentes options de stockage afin de prendre en compte vos contraintes d interropérabilité (formats de stockage ESRI, OGC, ou celui du SGBDR) Ajoute des fonctionnalités avancées Gestion de conflits (environnement multimulti-utilisateurs) Gestion de l historique Réplication des données Versionnement 3/42
Petit rappel sur ArcSDE : Les environnements ArcSDE (Enterprise) supporte différents SGBDR Oracle9i, 10g et 11g SQLServer2005 et 2008 IBM DB2 et Informix Postgre SQL Nouveauté 9.3 différents formats ArcSDE Binary OGC ST_GEOMETRY - SDO_GEOMETRY et GEORASTER Oracle - PostGIS - GEOMETRY et GEOGRAPHY SQLServer dans différents environnements Windows Linux (Suse et Redhat) Sun Solaris 4/42
Petit rappel sur ArcSDE : les 3 niveaux Applications ArcGIS Desktop ArcMap ArcCatalog + Extensions ArcGIS Engine ArcGIS Explorer Web Mapping Application ArcGIS Mobile Applications SIG personnalisées Client SIG léger Java.NET Outils light ArcGIS Server Services Technologie ArcSDE Desktop Personal pour MS Access File Fichier 5/42 Personal ArcGIS en ligne ArcWeb Services Workgroup Enterprise ArcSDE Données (géodatabase) SIG serveur complet et intégré
Petit rappel sur ArcSDE : les 3 niveaux 3 niveaux de technologie ArcSDE Mono Mono--utilisateur : Personal Multi Multi--utilisateurs : Workgroup et Enterprise ArcGIS Server 5 Géodatabases ArcGIS Desktop Enterprise Entreprise Personal Personelle Access Access File Fichier Personal Workgroup Capacité Nombre d utilisateurs 6/42
Petit rappel sur ArcSDE : Architecture de connexion ArcSDE SGBDR Une connexion se caractèrise par 4 paramètres : - serveur - instance sde (la gdb) - utilisateur / mot de passe - version 7/42
1 exercice : Création d une connexion à ArcSDE, chargement de données et définition des privilèges Présentation du contenu de la base sde sous sqlserver2008 Création des utilisateurs adminsig, consultsig et modifsig Utilisation du compte adminsig pour se connecter à la base et charger les données de la GDB personnelle MEUDON Accorder les privilèges de consultation sur toutes les couches à l utilisateur consultsig, puis consultation et MAJ pour modifsig uniquement sur les deux jeux de classe Ouvrir le fichier Meudon.mxd pour modifier les références aux couches 8/42
1ere partie - Qu est ce qu une version? - Mise à jour en mode concurrent dans une version
Les versions : A quoi ça sert???? Permet de stocker des états différents d une même couche dans la base On se connecte à la base ArcSDE pour visualiser une couche, dans une version spécifique (connexion par défaut sur la verison sde.default) Permet d isoler les mises à jour sur une couche sans que les autres utilisateurs s en aperçoivent Version de travaille vs. Version de production Version par service Permet de gérer l historique des données Ce n est pas une copie10/42 de la couche!
Organisation des versions Version de l utilisateur 1 Version originale 5294127 5294127 8514692 2121548 Version de l utilisateur 2 8514692 5294127 2121548 5482167 6418594 6425197 6418594 6425197 6418594 6425197 6425232 3418064 3418064 3418064 De multiples versions peuvent coexister Apparaissent aux utilisateurs COMME une simple copie des données ArcSDE inclut des mécanismes pour réconcilier ces versions Intégration des modifications dans une version particulière ArcMap possède des outils pour gérer les conflits 11/42
Comment ça fonctionne dans la base? A91 PARCELLES F36 D91 S36 Table de base Tables des deltas ArcSDE stocke uniquement les mises à jours réalisées sur la couche Les entités non modifiées ne sont pas dupliquées Les modifications sont enregistrées dans des tables spécifiques (table des deltas) La table A stocke les entités ajoutées (ADD) La table D stocke les entités supprimées (DELETE) Ces tables sont associées à une couche, mais pas à une version! Chaque enregistrement de ces tables sera identifié par un numéro de SIG version, et un numéro12/42 d état. Salle de Classe 2008
Utilisation des tables A et D Table B SHAPE ID 1 2 Insertion Name Roma Palm SHAPE ID 3 Suppression Table des suppressions D Table des ajouts A Name Citrus Table des suppressions D Table des ajouts A SHAPE ID 3 Name Citrus SHAPE ID 3 1 ID 2 Table des suppressions D Table des ajouts A Mise à jour ID Name Citrus Roma 13/42 ID 2 1
Et concrétement? D abord, intégrer la couche dans le mécanisme de versionnement ArcSDE Opération déclenchée par le propriétaire de la donnée sous ArcCatalog Création des tables A et D Puis, sous ArcMap, créer une connexion à la base ArcSDE, et utiliser la barre d outils versionnement (Menu Affichage Barres d outils - Versionnement) 14/42
Edition MultiMulti-utilisateurs : 2 cas de figure Editions dans une même version Architecture par défaut sous ArcSDE Les utilisateurs peuvent éditer la même couche en même temps Une gestion de conflit sera déclenchée par ArcSDE dans le cas d édition sur une même entité Ici, le dernier utilisateur qui va sauvegarder ses modifications devra gérer le conflit et choisir entre 3 états. Editions dans une base multimulti-versionnée (2éme partie) Création de nouvelles versions sous ArcSDE Chaque utilisateur (ou service) éditera sa propre version Les conflits se déclencheront lors de la réconciliation entre ces versions Possibilité de définir un administrateur de données qui sera responsable de la réconciliation des versions avec celle de production, et de la gestion des conflits éventuels 15/42
Edition en mode concurrent dans une seule version (1/3) : sans conflit U1 démarre sa session de mise à jour U1 ajoute une entité U2 démarre sa session de mise à jour U1 sauvegarde U2 ajoute une entité et sauvegarde T E M P S 16/42
Edition en mode concurrent dans une seule version (2/3) : sans conflit Lorsque U1 va sauvegarder une première fois, un message d information apparaîtra lui indiquant que pendant sa session de MAJ, un autre utilisateur a modifier la couche. Ses modifications ne concernant pas les mêmes entités, il n y a ici pas de conflit. Les modifications réalisées par U1 seront enregistrées dans la base lors dans second clic sur enregistrer vos mises à jour 17/42
Edition en mode concurrent dans une seule version (3/3) : avec conflit U1 met à jour la parcelle U1 sauvegarde Déclenchement du gestion de conflit Conflit U2 met à jour la même parcelle et sauvegarde T E M 18/42 P S
Gestion du conflit Déclenchement automatique sous ArcMap lors de la sauvegarde Couche concernée Entité(s) rentrant en conflit Champs rentrant en conflit 19/42
Gestion du conflit Résolution du conflit en choisissant l état à sauvegarder Version mise à jour = version prépré-réconciliation = version de celui qui réconcilie (votre mise à jour) Version conflictuelle = Celle de l utilisateur qui vient a réalisé la modification avant votre sauvegarde Version ascendant = état des données avant les mises à jour de l un ou de l autre 20/42
2ème exercice : Déclenchement d un conflit lors d une MAJ en mode concurrent sur une version 21/42
2ème partie - Base multimulti-versionnée et mises à jour concurrentes 22/42
Description du multimulti-versionnement (1/2) Les versions sont des clichées de la totalité de la Géodatabase Ce n est pas une copie de la base Toutes les versions accèdent aux mêmes classes d entités, tables et attributs Stockent uniquement les modifications DEFAULT Version : PLAN 1 Version : PLAN 2 Les versions identifient les modifications apportées par les utilisateurs La version défaut est SDE.DEFAULT Relation Parent enfant(s) entre les versions Plusieurs utilisateurs peuvent accèder à la même version Un utilisateur peut accèder à plusieurs versions (pour comparer, par exemple, les données) 23/42
Description du multimulti-versionnement (2/2) : les règles 1 géodatabase peut faire l objet de plusieurs versions, mais 1 version n est créée que sur 1 seule géodatabase Toute version découle d une version ancêtre : SDE.DEFAULT Relation hiérarchique entre les versions À sa création, une version fille est la réplique exacte de la version parent On ne peut supprimer une version fille avant d avoir supprimé les ancêtres On peut versionner du spatial ou du non spatial Une version possède un propriétaire, et des droits d accès 24/42
Les interfaces pour gérer les versions A partir de la barre d outils Versionnement (sous ArcMap) Outil de comparaison de version Pour voir dans quelle version on se situe, passer dans l onglet source d ArcMap Possibilité de changer la version de consultation 25/42
Privilèges sur les versions Publique Tous les utilisateurs peuvent accèder et réaliser des mises à jour sur la version Protégée Tous les utilisateurs accèdent en lecture à la version, mais seul le propriétaire peut la modifier Privée Version seulement accessible et modifiable par son propriétaire SDE peut accéder à toutes les versions et les modifier 26/42
Les mécanismes de réconciliation entre versions Il existe des relations hiérarchiques entre les versions Version : PRODUCTION Réconciliation (gestion des conflits éventuels) But : mettre à jour la version en production Version : PLAN 1 Version : PLAN 2 Version : PRODUCTION Version: PLAN 1 Version: PLAN 2 27/42 Réinjection (enregistre les MàJ Undo impossible ; pas de conflits)
Déclenchement des mécanismes de MAJ entre versions : la réconciliation Il faut être dans une session d édition, dans la version enfant Parent : PRODUCTION Récupération des mises à jour de PRODUCTION dans PLAN 1 Enfant : PLAN 1 28/42
Déclenchement des mécanismes de MAJ entre versions : la réinjection Il faut avoir des droits d écriture dans la version parent (ou être sde) Parent : PRODUCTION Envoie les mises à jour de PLAN1 vers PRODUCTION Enfant : PLAN 1 29/42
Exemple de scénarii Architecture mettant en avant le rôle de l administrateur de données responsable des mises à jour des versions entre elles et de la gestion des conflits éventuels Version 1 Proprio : ModifSIG Protégée Cas 1 DEFAULT Proprio : SDE Public ou Protégée Cas 2 Project 1 Proprio : AdminSIG Protégée DEFAULT Proprio : SDE Protégée Temp 1 Proprio : AdminSIG Privée Version 1 Proprio : ModifSIG Protégée / Publique / Privée Réconciliation/ Réinjection en tant que SDE 30/42
3ème exercice : Consultation des données archivées 31/42
3éme partie - Gestion de l historique 32/42
Gestion de l historique : l archivage Tracer les modifications d'une Géodatabase au cours du temps Workgroup ArcSDE ou Enterprise ArcSDE Pouvoir afficher l'état de la base de données à un instant donné du passé Interface de requête sous ArcMap Pouvoir créer plusieurs versions d'une partie de la base de données à certaines dates clés, sans versionner la géodatabase complète Classe d entités Table Jeu de classes : toutes les CE lui appartenant seront archivées Indépendant du mécanisme de versionnement des Géodatabases 33/42
Mécanisme d archivage (1/2) : les principes On enregistre une classe d'entités, une table ou un jeu de classes comme étant archivé Une nouvelle classe (d'historisation) est alors créée pour chaque classe d'entités ou table archivée (B_H,F et S) Cette classe n est pas visible sous ArcCatalog Elle contient les mêmes entités que la DEFAULT PARCELLES PARCELLES_H 34/42
Mécanisme d archivage (2/2) : les prépré-requis Sont archivées uniquement les opérations effectuées dans la version DEFAULT La classe d'entités (ou la table) doit être inscrite comme versionnée, mais sans l'option "Enregistrer les mises à jour dans la table de base" Vous devez être propriétaire de la classe d'entités pour l'historiser Nécessite ArcEditor ou ArcInfo pour la création de la table _H 35/42
La classe d historisation (archive class) La structure de la classe d'entités est reproduite dans la classe d'archive 3 champs supplémentaires gèrent l historique Champs d'historisation supplémentaires PARCELLES_H 36/42
Historisation des modifications Heure de mise en archivage GDB_TO_DATE correspond à l état actuel de l entité GDB_FROM_DATE défini le moment de la modification 1. Insertion de l entité n 2 à 14h59 36 Nouvel enregistrement 2. Modification de l entité n 2 à 15h03 31 Entité n 1 inchangée Entité n 2 modifiée Nouvel enregistrement (entité n 2) 3. Suppression de l entité n 1 à 15h05 41 Entité n 1 modifiée Inchangé Aucun nouvel enregistrement 37/42
Consultation des données archivées (1/2) La classe d'historisation n'est pas directement visible dans le catalogue. Vous pouvez ajouter la couche _H à l aide de la barre d outils Historique de la Géodatabase Sélectionner la classe d entités Puis cliquer sur le bouton Une même entité modifiée plusieurs fois apparaitra plusieurs fois 38/42
Consultation des données archivées (2/2) Possibilité d utiliser le générateur de requêtes pour sélectionner des entités avec une contrainte temporelle Sélection des entités ajoutées à partir de 15h44 le 9 septembre Sélection des entités modifiées entre le 15h43 et 15h50 le 9 septembre 39/42
Les repères chronologiques (1/2) : création Les repères chronologiques permettent de se positionner rapidement à un instant précis dans le passé 1 repère chronologique = 1 date + 1 heure Permet de visualiser une CE à un instant précis dans le temps Créés et gérés via le 3ème outil de la barre d outils Historique de la géodatabase 1 2 1. Nommer le repère / spécifier date et heure 2. Ajouté à la liste des repères 40/42
Les repères chronologiques (2/2) : utilisation Appel par la commande Change Version (options Historique puis Modifier à l aide d un repère chronologique ), ou par le 1er outil de la barre Historique de la géodatabase Transactionnelle / Historique 41/42
4ème exercice : Consultation des données archivées 42/42