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

Persistance des données Java Discussion :

[Conception] Persistance d'objets


Sujet :

Persistance des données Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut [Conception] Persistance d'objets
    Bonjour à tous,

    J'ai développé il y a quelques années une appli ou je gerais ma persistance via un fichier XML représentant mes objets qui était écrit à chaque modification.
    Ce fichier était chargé au démarrage via un parser SAX qui construisait mes objets les uns après les autres.

    Je reviens sur le forum depuis quelques semaines par simple curiosité (je ne développe plus en Java ce derniers temps au boulot) et je me posais une question existencielle :
    N'aurais-je pas mieux fait de sérialiser mes objets?
    Quelle taille prend un fichier d'un objet sérialisé en rapport à un fichier XML ne comportant que les valeures des variables à initialiser pour chaque objet ?

    Merci pour votre avis et votre retour d'experience.
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  2. #2
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    À mon avis un objet sérialisé prend moins de place tout simplement parcequ'il est enregistré sous forme binaire.En gros tu as les mèmes données dans les deux cas sauf qu'avec le xml tu as les balises en plus. Mais bon ce n'est aue mon avis.Le meilleur moyen pour en avoir le coeur net ça serait de tester.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par afrikha
    Le meilleur moyen pour en avoir le coeur net ça serait de tester.
    Difficile car le soft ne m'est plus accessible (il a été déployé l'an dernier).
    Je me posais simplement la question par "principe" après coup, afin d'enrichir ma culture Java pour la prochaine fois ou j'ai ce genre d'architecture à concevoir.

    D'autres avis ?
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  4. #4
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235
    Par défaut
    La sérialisation fait effectivement que tes objets prennent moins de place (le XML est tres bavard). Par contre la sérialisation a un désavantage. Si tu n'a pas défini le serialVersionUID de la ta classe, tu peux rencontrer des problemes pour relire des anciennes données suite a la recompilation de ton application (voir : http://java.developpez.com/faq/java/...WARNING_serial )
    L'avantage de l'utilisation du XML est que les données de ton objet restent lisibles et que tu peux même implémenter un programme dans un autre langage pour reprendre les données contenues dans ton objet que tu avais fait persister.

  5. #5
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par christopheJ
    L'avantage de l'utilisation du XML est que les données de ton objet restent lisibles ...
    C'est justement ça qui pose problème à mon client qui souhaite déployer le soft sans qu'on puisse intervenir "à la main" dans le fichier XML.
    Je me posais la question pour une éventuelle sérialisation.
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Attention car même si les données sont moins lisibles avec la sérialisation, elle le reste tout de même. Cependant tu peus implémenter ton propre mécanisme de sérialisation grâce à l'interface Externalizable (pour par exemple crypter les données lors de la sérialisation).

    PS : Je suis actuellement en train de rédiger un tutoriel sur la sérialisation en Java donc si tu as des questions à ce propos n'hésite pas .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

Discussions similaires

  1. [Conception] Primitives ou objet dans les beans
    Par ZeKiD dans le forum Général Java
    Réponses: 11
    Dernier message: 13/01/2006, 13h32
  2. [Debutant][Conception] visibilité des objets de type conteneur
    Par thebloodyman dans le forum Général Java
    Réponses: 10
    Dernier message: 04/01/2006, 12h44
  3. Persistance des objets : comment ?
    Par SteelBox dans le forum C++
    Réponses: 1
    Dernier message: 28/11/2005, 21h47
  4. [Struts][DynaActionForm et persistance des objets]
    Par jcos dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/12/2004, 09h15
  5. [débutante][Concept] Destruction d'objet, mode d'emploi?
    Par skea dans le forum Général Java
    Réponses: 4
    Dernier message: 12/06/2004, 21h48

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