I.B - Architecture du système de base de
données
L'architecture de la base est de type client-serveur avec un
logiciel intermédiaire, appelé middleware, gérant
les transferts d'informations (voir la Figure 2, illustrant les quatre
composantes d'une base de données - données, matériel,
logiciel, utilisateur - et les éléments - serveur,
middleware, client - composant une architecture client-serveur). Cette
architecture est composée de trois programmes : celui du poste client,
ou utilisateur, demandant l'accès aux données par des
requêtes et réalisant des traitements ; celui du poste central
serveur assurant la gestion des données, garantissant et
protégeant leur accès grâce à un
système de gestion de base de données (SGBD) et répondant
aux demandes des postes clients ; celui du middleware qui sert
d'interface de communication51
(Bonneau, 2008, p. 7).
La couche logicielle de la BDUni gérant la base serveur
est PostGis, un logiciel libre qui est l'extension permettant la manipulation
d'informations spatiales du SGBD PostgreSQL. Ce logiciel assure la
cohérence de la base de données lors des transactions
d'informations entre le client et le serveur, notamment grâce à la
règle d'atomicité52. Il permet la sélection, la
création, la modification et la destruction d'objet. Il permet
également de réaliser des requêtes SQL sémantiques
et topologiques afin de pouvoir manipuler des données
géographiques. Les bases clients à l'IGN utilisent les logiciels
GeoConcept pour les opérations de visualisation, requête, saisie
et gestion des données (les collecteurs de la MAJEC travaillent avec ce
logiciel), OpenJump et PGAdmin pour la visualisation et la consultation des
données (Bonneau, 2008, p. 8).
51 Un des intérêts du middleware est
qu'il permet de palier aux problèmes de compatibilité entre les
systèmes d'exploitation des postes clients (Windows, Mac) et du serveur
(Linux).
52 Toute transaction incomplète est entièrement
annulée. Cela permet d'éviter de générer des
erreurs en cas d'interruption de transaction. Concrètement, il n'est pas
possible de créer, modifier ou supprimer un objet sans que cette
modification ne soit entièrement répercutée dans toutes
les tables concernées de la base. Toute base de données doit
respecter les propriétés ACID : atomicité,
cohérence, isolation, et durabilité.
xxxvi
Le middleware développé par l'IGN s'appelle GCVS
(Geographic Concurrent Versionning System). C'est le système
GCVS qui permet la mise à jour de la BDUni et l'historisation des
données. Concrètement, GCVS se présente sous la forme d'un
module ajoutant de nouveaux outils à GeoConcept : extraction,
réconciliation, update seul, édition de rapport, gestion des
conflits, recherche des modifications (IGN, 2007).
Figure 2 : schéma d'une base de
données53.
L'extraction crée la base client. GVCS permet ensuite
de synchroniser les bases clients, extraites de la base serveur contenant la
France entière, et la base centrale du serveur : c'est la
réconciliation. L'update seul est une synchronisation à sens
unique : du serveur au client. L'édition des rapports est automatique
après chaque réconciliation et update seul. Ils permettent de
savoir si les opérations de mise à jour se sont bien
déroulées. La gestion des conflits règlent les
problèmes générés par la modification
simultanée d'un même objet par plusieurs clients au moment de la
réconciliation. La recherche des modifications est un « garde-fou
» servant à limiter les oublis de réconciliation
régulière en trouvant les zones de mise à jour client non
répercutées dans la base serveur.
GCVS assure le lien entre les objets de la base client et le
serveur à l'aide de l'identifiant GeoConcept et de l'identifiant «
cleabs ». Les objets créés sont identifiés par le
fait de posséder une nouvel identifiant GeoConcept, c'est-à-dire
auquel il n'est pas encore associée de « cleabs ». Les objets
modifiés sont détectés par les modifications
géométriques, sémantiques ou documentaires qu'ils ont
subies.
|