sdx-users
[Top][All Lists]
Advanced

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

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


From: Frédéric Glorieux
Subject: RE : [sdx-users] Qu'est ce que SDX ?
Date: Tue, 4 Mar 2003 20:53:57 +0100

> 1) SDX permet de stocker/mettre à disposition des documents dans des
> entrepôts (repositories)

Ce qui n'est pas le plus intéressant, il faudrait pouvoir coupler à un
CVS ou à un véritable logiciel d'administration de contenus, mais ne
rien surcoder de ce qui existe déjà.

> 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...

L'attribut keep="true" dans un pipe d'indexation permet de conserver une
part du travail. Une requête d'export (sans éléments sdx), permet de les
retrouver enchaînés. Le résultat <sdx:field name="titre">... n'est qu'à
moitié intéressant, n'est-il pas ?

> 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.

Cocoon sait parfois mettre ce genre de chose en cache (il faudrait qu'on
sache mieux lui demander). Dans l'état, comment peut-on stocker par
exemple un résultat de recherche ? Pour des transformations statique,
pourquoi pas ant, ou du cocoon en ligne de commande ? Pour du véritable
dynamique, je ne vois rien d'autre, à part entretenir des logs colossaux
de toutes requêtes exécutées.

> 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.

C'est une potentialité future très intéressante mais à bien réfléchir
pour ne pas lier les documents à SDX. Comment garder trace de ces
attachements pour un navigateur, ou d'autres systèmes ?

> 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.

OK, ce n'est pas l'architecture SDX qui pose problème, il faut se faire
une appli pour voir comment ça tourne.

> 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).

Et la recherche plein texte !!!

> 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 moins de documents avec de bonnes consignes rédactionnelles, genre
<book>
        <title>...
        <abstract>...
        <section>
                <title>...
                <abstract>...

> 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.

OK

> 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.

Ne reste plus qu'à se donner l'occasion d'un exemple.

> 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).

Si ant ne convient pas, il existe peut-être quelque part une action
cocoon qui peut convenir.

> 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à...

Je préfère confier ce boulot à cocoon, ils sont plus nombreux.

> - 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.

Mais ant c'est très bien !

> 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.

En fait je ne vois rien là d'impossible, mais j'ai peur que les missions
de SDX sont ici étendues au-delà de ce que l'on sait bien faire, sauf à
mentir comme n'importe quel autre .com, et dire que l'on fait tout seul
ce que cocoon ou ant sait faire à notre place.

Pour ma part, j'aurais même tendance à vouloir encore plus restreindre
les missions de SDX, avec en fait cette ambition, le mettre chez Apache
en sous-projet cocoon (mais alors, oublié saxon, il faudra supporter
xalan). On pourrait voir aussi ce qu'il peut apporter à Ant (pour ses
aspects statiques), mais là à sec, je cale. 






reply via email to

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