IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Base de données relationnelles en XML


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 66
    Par défaut Base de données relationnelles en XML
    Bonjour à toutes et à tous,

    Je travaille actuellement sur un projet de logiciel client serveur en Java, langage que j’apprends un peu "sur le tas" bien que derrière j'ai de solides bases de POO.

    Mon problème vient du fait que je suis contraint d'utiliser une "base de données XML" sachant que mon modèle de données est à 100% relationnel. Je suis conscient qu'utiliser un modèle hiérarchique pour représenter du relationnel n'est pas pratique du tout mais le passage sous un SGBD ne pourra se faire malheureusement que si l'appli version "XML" est satisfaisante).

    Bref ça serait bien que ça marche de cette manière et donc depuis 1 semaine je parcours un peu tout les tutoriels que mon ami Google veut bien me filer pour me documenter.

    Qu’est ce que je veux faire ? Un schéma est plus parlant qu’un long discours :

    (Copyright Serge Tahe pour le schéma, depuis son magnifique cours sur la persistance Java5)


    On part donc d’une IHM en Swing pour atterrir sur une "base de donnée" sous forme de fichiers XML (sur un DD partagés en réseau). Ma question est donc : qu’est ce que je mets entre les deux ?

    J’ai donc découvert JPA et le fameux "hibernate" mais il semblerait que ce soit réservé justement pour le monde du relationnel (MySQL et compagnie…).

    Cf le cours de M. J.M. DOUDOUX :
    JPA ne peut être utilisé qu'avec des bases de données relationnelles.
    Pourquoi utiliser JPA ? Car quand l’outil aura fait ses preuves et que j’aurais "gagné" mon SGBD je n’aurais, si j’ai bien compris, plus qu’à changer mon fichier de configuration d’accès aux données.

    Je me suis penché aussi sur la sérialisation (vu qu’au final ce ne sont que des classes que je veux stocker) mais cela ne me satisfait pas car j’ai besoin de pouvoir faire des requêtes pour repérer les liaisons entre mes "pseudos-table-XML"


    Je me dis que je ne suis sûrement pas le seul à m’être confronté à ce problème. Ça sert à rien de réinventer la poudre donc est-ce qu’il existe déjà une API de ce genre, ou plus généralement une astuce pour contourner le problème ?


    Ou bien est-ce que je suis condamné à faire ça via JDOM et à réécrire des méthodes de "simulation de tables" ?


    Bref j’en appel à votre expérience pour m'orienter, me conseiller dans quelle direction regarder.

    Si vous avez besoin de plus d'explication n'hésitez pas.

    Merci d'avance et bonne journée ; )

  2. #2
    Membre chevronné
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Par défaut
    Bonjour,

    Je n'ai jamais vu de DB en fichiers XML. Je trouve un peu douteux qu'il vous force à faire en XML plutôt que d'utiliser n'importe quelle autre vraie DB. Si c'est uniquement parce qu'il veut que ce soit dans des fichiers pour tester, vous pourriez lui suggérer SQLite ou Derby qui fonctionne avec Hibernate.

    Désolé de ne pas pouvoir aider plus avec le truc XML. Le problème avec XML, c'est que les fichiers peuvent être fait n'importe comment. Par exemple, il pourrait y avoir une DB par fichier XML ou encore plusieurs DBs par fichier XML. C'est dépendant sur comment vous voudriez le faire.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 66
    Par défaut
    Exact ma contrainte n'est pas forcément l'XML. C'est surtout que je n'ai pas encore de serveur et que je ne peux pas installer un moteur de base de donnée sur chaque postes utilisateurs.

    Mais d'après ce que je viens de voir concernant Derby on peut l'intégrer directement à son appli Java, donc ça pourrait résoudre mon problème. Je vais me pencher sur ça.

    Comme SGBD je pensais qu'ils fonctionnaient tous plus ou moins de la manière de MySQL d'où mon erreur !

    Je te remercie pour ta réponse et je vous tiens au courant ; )
    (quoique le sujet n'a plus vraiment lieu d'être dans ce sous-forum dans ce cas :o )

  4. #4
    Membre chevronné
    Avatar de provirus
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2009
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2009
    Messages : 248
    Par défaut
    Dans ce cas, c'est beaucoup mieux

    Si vous voulez de l'aide pour configurer Hibernate avec votre projet, j'ai déjà créé une vidéo http://www.foilen.com/pour-developpe...nate-et-tomcat

    Pour un développement rapide, vous pouvez aussi faire la même chose avec Spring Roo de façon encore plus rapide: http://www.foilen.com/pour-developpe...rce-spring-roo

    Bonne chance

  5. #5
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    S'il fallait en fait une BDD en mode sans serveur, il y a aussi H2, qui propose une possibilité de passer par fichier et de partager le fichier (à confirmer par contre, je l'utilise en général en mode mémoire)

    Très petit, compatible JDBC et donc JPA et tout le reste.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 66
    Par défaut
    H2 ? Je connaissais pas non plus...

    Je suis allé voir rapidement sur le site off' : http://www.h2database.com/html/main.html

    Et effectivement il y a quelques avantages par rapport à Derby assez intéressants.
    En revanche il est écrit : "Multi-Threaded Statement Processing : NO"
    Ça signifie que plusieurs personnes ne peuvent accéder simultanément à la même base (ce qui m'embêterai) ou bien qu'on ne peut pas juste lancer plusieurs connexions simultanées sur la même JVM ?

    Et d'ailleurs je me posais la question : en utilisant JPA est-ce qu'on peut switcher dynamiquement d'une base de référence à une autre ? Imaginons que je veux faire des tests pour comparer Derby et H2 sans avoir à re-configurer mon fichier XML de conf ?

    Pour faire des test c'est pas forcément utile je le conçois, mais j'envisage de mettre en place un mode "nomade" pour mon appli et donc ça serai une piste de réflexion intéressante pour mon projet.


    Merci de vos conseils ; )

    R.NOURRIT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/04/2013, 11h23
  2. Réponses: 7
    Dernier message: 05/06/2009, 14h25
  3. [XML] XML en natif dans une base de données relationnelle
    Par evlad dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/04/2007, 09h31
  4. Avenir des bases de données relationnelles ?
    Par LordBob dans le forum Décisions SGBD
    Réponses: 53
    Dernier message: 30/10/2005, 23h27
  5. fichiers séquentiels indexés VS base de données relationnell
    Par Clotilde dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/08/2005, 06h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo