sdx-users
[Top][All Lists]
Advanced

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

[sdx-users] Qu'est ce que SDX ?


From: Pierrick Brihaye
Subject: [sdx-users] Qu'est ce que SDX ?
Date: Tue, 04 Mar 2003 15:31:45 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0

Bonjour,

Pour celles et ceux que ça intéresse, voici mes réflexions actuelles sur la nature de SDX et donc sur les possiblités d'amélioration et, surtout, sur son positionnement par rapport à d'autres logiciels.

J'espère qu'elle seront matière à débat et ce, d'autant plus que tout n'est pas encore bien clair de mon côté...

Voilà :

1) SDX permet de stocker/mettre à disposition des documents dans des entrepôts (repositories) 2) SDX permet de stocker des documents d'indexation dans des jeux d'index (documentbase). Une mise à disposition de ces documents d'indexation est possible si on repasse le document dans la XSL d'indexation... mais ce n'est pas très orthodoxe :-) 3) SDX permet de stocker/mettre à disposition des documents de résumé dans des index pour la présentation de résultats (champs "brief" des documents d'indexation). En l'état actuel des choses, ce point est étroitement associé au point 2) à cause/grâce à l'architecture Lucene sous-jacente... 4) SDX permet de mettre à disposition des documents préalablement mis en forme grâce aux XSL. Etant donné le mécanisme actuel, on ne peut pas stocker ce type de documents : ils sont générés dynamiquement grâce à la sitemap. 5) SDX permet de stocker/mettre à disposition des relations entre documents, qu'ils soient XML ou non. Pour l'instant, seuls trois types de relations sont possibles : documents originaux, documents attachés et sous-documents.

Mettons tout cela à plat en introduisant un concept générique pour les 4 premiers points : les *vues*. Voici ce que ça donne :

1) des vues sur les documents *natifs*. En termes de finalités, ça permet le stockage. 2) des vues sur les documents *d'indexation*. En termes de finalités, ça permet l'interrogation.
3) des vues sur des *résumés*. Finalités évidentes.
4) des vues de *diffusion*. Finalités évidentes également.

Réordonnons tout cela :

1) vue native
2) vue cherchable
3) vue de résumés
4) vue de diffusion

Pour le point 1), une XML:DB sait faire ça très bien. SDX apporte tout de même un plus : il sait stocker des documents non-XML.

Pour le point 2), une XML:DB sait aussi le faire mais SDX introduit beacoup plus de souplesse car une XML:DB postule que l'indexation doit se faire à partir de la structure du document. SDX permet de définir ce que l'on veut, que se soit à partir du document... ou non ! En revanche, pour l'instant, on perd la structure (document à 2,5 dimensions).

Pour le point 3) une XML:DB sait aussi le faire... à condition de poser la bonne requête, ce qui n'est pas forcément pratique en XPath. A vrai dire, c'est même très coton ! A noter, que comme on est étroitement lié au point 2), on n'a pas énormément de structure. Dommage !

Pour le point 4), c'est Cocoon qui prend cela en charge. Une XML:DB comme eXist (http://exist.sourceforge.net/) propose un cadre Cocoon très sympathique pour gérer ça.

En résumé, SDX va généralement au-delà de ce qui existe (jeu de mots). Il peut arriver qu'il soit en retrait.

Voyons comment on peut améliorer les choses :

1) vue native : bien que l'architecture actuelle soit déjà très générique, il faudrait pouvoir proposer plus de repositories ; je pense à des repostories CVS ou XML:DB comme le font certains éditeurs XML... du commerce.

2) vue cherchable : il faudrait pouvoir garder de la structure et, idéalement pouvoir stocker les documents dans des entrepôts tout à fait comparables à ceux qui viennent d'être évoqués, Lucene n'en étant qu'un parmi d'autres.

3) vue de résumés : voir le point 2... qui nous ramène au point 1 :-)

4) vue de diffusion : il faudrait pouvoir générer une vue *statique* des documents et... les stocker dans des repositories. Encore une fois, on en revient... au point 1).

Moralité :

- SDX permet de stocker ces vues sur différentes architectures. Plus il y en aura de disponibles, mieux cela sera. Mais ça, on le savait déjà...

- SDX est un système de gestions de vues sur différents types documents, chaque type disposant d'une finalité précise :
1) stockage
2) recherche
3) résumés
4) présentation

- SDX se démarque des autres produits dans le sens où chaque vue est potentiellement indépendante des autres. Essayez un peu de faire une recherche SGDB sur un champ qui n'existe pas dans vos données d'origine pour voir :-)

Ceci dit, on a selon moi quelques faiblesses de design et ceci, selon deux angles d'attaque :

Premièrement, l'aspect écriture/lecture.

1) vue native : pas de problème réel.
2) vue cherchable : pas de lecture possible nativement. Facile à faire avec une petite manipulation dans la sitemap. Intérêt limité à vrai dire... 3) vue de résultats : on a évidemment une possibilité de lecture/écriture même s'il faut jongler à cause l'étroite imbrication avec le point précédent. Il faudrait clairement séparer les 2 logiques. 4) vues de diffusion : ici manque la possibilité de les écrire, ce qui revient à dire qu'on pourrait les définir *statiquement*. Pas si complexe non plus... si on utilise un entrepôt et des relations ad hoc.

Deuxièmement, l'aspect statique/dynamique

1) vue native : les entrepôts URL proposent, par définition, une résolution dynamique des documents (pour le meilleur et pour le pire), les autres entrepôts sont, toujours par définition, statiques. Bien :-) 2) vue cherchable : statique, par définition. Il paraît inconcevable de générer dynamiquement ces vues en mémoire. Mais bon, pourquoi pas ? C'est ce que fait eXist dans ses recherches de *contenu* (vs. de structure) après tout... 3) vues de résultats : statiques dans le sens où elles sont générées au moment de l'indexation, dynamiques dans le sens où c'est Lucene qui les fournit à l'exécution des requêtes. IMHO, on peut améliorer... 4) vues de diffusion : voir ci-dessus ; on en revient au débat lecture/écriture.

Bien sûr, certaines vues sont intrinsèquement statiques alors que d'autres (moins) sont intrinsèquement dynamiques. J'ai abordé cette problématique pour faire de jolis schémas bien symétriques :-)

Voilà où j'en suis. Je suis preneur de tout autre type de vue... et de tout commentaire en général.

A bientôt,

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

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