sdx-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sdx-developers] SDX 2 : implantation des entrepots de documents


From: Martin Sévigny
Subject: [sdx-developers] SDX 2 : implantation des entrepots de documents
Date: Thu, 21 Mar 2002 13:24:20 +0100

Bonjour,

Pour faire suite à mon dernier message, je vous propose maintenant une
implantation du système d'entrepôts SDX. Pour l'instant, je fais
abstraction de la configuration des entrepôts ; on peut seulement se
dire que l'on aura les informations nécessaires dans le fichier de
configuration d'une application SDX.

Il faut aussi comprendre qu'il y aura une classe "DocumentBase" qui aura
des méthodes (parmi d'autres) pour ajouter un document ou un lot de
documents, pour supprimer un document ou un lot de documents, pour
réindexer, etc. Cette classe permettra aussi de garder une trace de
l'entrepôt où se trouve un document.

Les méthodes propres à l'entrepôt sont donc les méthodes de base
d'input/output de documents, et certaines méthodes générales.

Je pensais avoir (dans un package fr.gouv.culture.sdx.storage) une
hiérarchie de classes et d'interfaces (un I entre parenthèses) qui
ressemble à ceci [les noms exacts ne sont pas encore définis] :

- Store (I)
 - JDBCStore
  - MySQLStore (si nécessaire...)
  - OracleStore (si nécessaire... Mais je sais que oui!)
  - ...
 - XMLDBStore
  - XindiceStore (si nécessaire...)
  - ExistStore (si nécessaire...)
  - ...
 - FilesystemStore
 - URLStore

On retrouve au premier niveau une interface qui contiendrait toutes les
méthodes qu'un entrepôt doit implanter, et au deuxième niveau une
implantation générique d'un type d'entrepôt (défini dans le précédent
message), et enfin en troisième niveau la redéfinition de certaines
méthodes pour tenir compte de spécificités propres à un engin derrière.

Je sais, par exemple, que pour l'entrepôt SGBD relationnel, 90% du code
fonctionne pour tous les SGBD, il faut seulement faire quelques
exceptions à gauche et à droite.

J'ai joint à ce message une proposition pour l'interface.

La première implantation d'une telle approche aura ces caractéristiques
:

- implantation de l'interface Store et des classes JDBCStore et (si
nécessaire) MySQL store.
- implantation de la classe DocumentBase et de ses méthodes d'ajout, de
suppression et de consultation de documents
- modification des autres parties du code pour tenir compte de ces
nouveautés, en particulier DocumentBase, qui aura un immense impact sur
DBInfo...

Lorsque nous serons capable de faire cela proprement, je crois que
l'implantation des autres classes ne sera pas trop un problème. On verra
l'ordre dans lequel on le fera.

Encore une fois, commentaires bienvenus.

Martin Sévigny

Attachment: Store.java
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]