Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • cas d'utilisation : moisson d'un entrepôt OAI (mise à jour)
  • rôle : supprimer l'entrée dans l'index correspondant à une fiche "deleted"
  • utilisateurs : ORI-OAI-harvester
  • paramètres : ** recordID : identifiant de l'enregistrement contenant les métadonnées indexées.

Choix techniques

Langages et environnement

Le module devra s'exécuter dans un environnement multiplate-forme J2EE, dans un machine virtuelle compatible Java 1.5. Outre l'aspect multi-plate-forme de cet environnement, l'importante collection d'API et de frameworks disponibles en Open Source renforce la détermination de ce choix.

Persistence des données

Le stockage des moissons se fera dans une base XML dont le choix s'est arrêté sur eXist, qui offre différentes modalités d'utilisation (XML-RPC, SOAP, WEBDAV...), et utilise des standards XML comme XPath, XQuery, XInclude.

Framework, API

OAIHarvester2

Cette application est basée sur le projet OAIHarvester2 d'OCLC Online Computer Library Center, qui fournit les fonctions de requêtes OAI-PMH.

Notes :

  • limites et adaptation de l'API OAICat :
    • org.oclc.oai.server.verb.ListRecords : Les champs from et until sont validés pour une longueur entre 0 et 10, ce qui force à utiliser une granularité YYYY-MM-DD.

Spring

Le framework Spring sera utilisé partout où il est pertinent de l'utiliser, et plus généralement, l'utilisations de POJOS sera le choix par défaut pour définir les couches d'accès aux données, ainsi que les autres éléments de configuration.

Spring XML Database Framework

Ce framework établira la liaison entre les classes métiers du moissonneur, et la couche persistence dans la base de donnée XML

Quartz scheduler

La gestion des tâches programmées est réalisée grâce au projet open source Quartz d'OpenSymphony.

XFire

Pour l'interaction entre les modules, des Web Services sont mis en oeuvre à l'aide du framework Codehaus XFire.

Modèle de donnée

Un modèle de donnée s'appuyant sur une base relationnelle repose sur un modèle entité-relation, qui se concrétise par des tables avec des clés primaires et secondaires, ou encore des tables d'association. Pour une base XML, les entités sont concrétisées par des structures XML(documents ou noeuds), et les relations entre ces entités seront définies à travers des attributs servant de clés. Dans ce contexte, les requêtes XQuery remplacent les requêtes SQL.

...