From: Verachten Bruno (Bruno.Verachten@atosorigin.com)
Date: 05/06/2002 - 05:50
Bonjour,
je suis en train d'implémenter un système de persistance d'objets Java
en XML, et je rencontre un problème de conception.
Pour vous situer cela, j'ai au départ la représentation d'un
modèle en XMI, et je génère grâce à XSLT des EJBs, ou des objets pour
notre propre système de persistance.
Mais pour de petites applications, il n'est pas nécessaire de faire
de la base de données, et nous souhaiterions donc avoir un seul process
capable de gérer la persistance.
Pour ce faire, j'ai choisi d'utiliser JAXB, et il convient vraiment
très bien pour *sérialiser* et *désérialiser* mes objets persistents.
J'ai par contre un souci pour la recherche avec des finders du genre
findByName. J'ai sur le disque beaucoup de fichiers XML correspondant
à mes objets, et je ne sais pas vraiment comment retrouver efficacement
les objets correspondant à cette requête.
Il m'est bien sur possible de charger un par un les fichiers XML avec JAXB
et de comparer la valeur du champ "name" avec celle recherchée, mais je
trouve cela un peu lourd...
J'avais un moment pensé à n'avoir qu'un seul fichier, et soit à le monter
en mémoire avec JAXB, soit à le transformer avec une feuille XSLT générée
dynamiquement, et qui me remonterait les id des documents qui matchent...
La seconde solution est sans doute pire, car je suppose que derrière XSLT,
il doit y avoir du DOM, et donc des objets plus lourds que ceux de JAXB...
Il me reste une autre idée, qui serait d'implémenter mon propre moteur XPATH
simplifié à l'aide de regexp sur le(s) fichier(s).
Peut-être devrais-je envisager une solution bien plus complexe?
Quelqu'un sait-il comment Xindice gère ce genre de choses par exemple?
Merci par avance de vos conseils avisés ;-).
Bruno Verachten.
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|