En informatique, le développement d’applications nécessite de mettre en place un système de sauvegarde local . En particulier lorsqu’il s’agit d’enregistrer des données qui doivent être distribuées sur divers systèmes et réseaux. Une donnée est la représentation d’une information dans un programme : soit dans le texte du programme (code source), soit en mémoire durant l’exécution (conf. Wikipédia). Le transfert de fichiers avec l’apparition d’internet, a laissé place à des protocoles client/serveur gérants le transfert de données. Or dans une architecture moderne, il est conseillé de stocker l’état d’un objet pour une récupération et/ou une utilisation ultérieure. D’où l’importance de la mise sur pied d’un protocole d’échange de données générique et efficace qui va permettre ce transfert d’objets. À l’aide de la sérialisation, cela est possible. Dans cet article, nous allons vous définir ce qu’est la sérialisation et pourquoi elle est requise.

Définition – Que signifie sérialisation

La sérialisation est l’action de transformer/coder des informations sous un autre format (bien précis) de données pour une sauvegarde sur une mémoire de masse pour un échange avec d’autres processus (localement ou à distance via le réseau), pour une édition humaine de données à utiliser via un fichier de configuration.

L’opération inverse, visant à décoder une nouvelle instance à partir de ce flux de données pour créer une copie conforme de l’information d’origine, s’appelle la désérialisation.

processus de sérialisation/désérialisation d'un objet

Processus de sérialisation et désérialisation d’un objet

Retenons qu’un objet peut être défini comme étant une donnée qui contient des informations et/ou des mécanismes concernant un sujet, manipulés dans un programme (conf. Wikipédia).

Le principal objectif de la sérialisation c’est d’enregistrer l’état d’un objet afin de pouvoir le recréer si besoin est. Outre cela, il existe plusieurs formats de sérialisation appartenant à deux grandes familles :

  • Formats binaires : ce sont des formats utilisés par défaut. Le code pour parser ce type de données est généralement plus simple à mettre au point. De plus, la lecture et l’écriture sont moins exigeantes en ressources processeurs. Cependant, l’une des principales contraintes de ce type de codage c’est sa portabilité.
  • Formats textes : ils sont plus portables car ils utilisent généralement une structuration standard (XML, JSON, …). Ils peuvent être facilement modifiés et ils consomment plus de ressources pour être traités

Plusieurs types de sérialisations existent dont :

  • La sérialisation pour les applications JAVA
  • La sérialisation pour les applications .NET

Pourquoi la sérialisation ?

Les données sont généralement sérialisées pour bonifier les performances et atténuer l’encombrement de mémoire de la grille de données. Les options de sérialisation choisies peuvent dépendre de plusieurs facteurs comme la manière dont les applications interagissent, le langage de programmation ou le volume de données que vous stockez. Lorsque les données sont sérialisées, elles sont pour la plupart, converties en un flux de données avant d’être transmis sur un réseau suivant les cas suivants :

  • Des clients qui communiquent avec les serveurs et que ces derniers qui renvoient les informations au client.
  • Lorsque les serveurs répliquent d’un serveur vers un autre.

Outre cela, la sérialisation peut ne pas être spécialement conçue pour persister un objet durant une longue période même si cela peut être fait. Au contraire elle peut être utilisée sur des périodes temporelles courtes (échange réseau, mise en cache, persistance temporaire, …).

Conclusion

Il est tout d’abord capital de bien appréhender les concepts de sérialisation et/ou désérialisation afin de cibler au mieux quand les utiliser dans un projet. La sérialisation doit être utiliser lorsque de grandes quantités de données doivent être stockées dans des fichiers plats puis extraites ultérieurement. Sans sérialisation dans le cas d’espèce, cela peut devenir non seulement trop fastidieux mais peut aussi être sujet à des erreurs et des complications car la structure de données étant complexe.

Uni2gow Cameroun est une société informatique experte dans la création et le développement logicielle mais également dans le conseil et support pour les entreprises. Découvrez nos différentes prestations Ici.

Vous aimeriez en savoir plus sur le processus de sérialisation des données, contactez-nous à l’adresse suivante contact@uni2growcameoun.com.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *