Définition
Le processus de conversion de structures de données en mémoire ou de graphes d'objets en une représentation linéaire stockable ou transmissible (octets, texte) et le processus inverse de reconstruction des structures originales en préservant l'identité, le type et les informations de version nécessaires.
Principe
Principe
Définir un mappage des dispositions en mémoire vers une représentation externe déterministe incluant la gestion des relations pointeur/alias, de l'octet ordre (endianness), des métadonnées de schéma/version et éventuellement de la compression ou canonicalisation pour assurer interopérabilité et exactitude.
Démonstration
Démonstration
Un service encode des données structurées en JSON pour des API HTTP, un microservice utilise Protocol Buffers pour des messages binaires compacts avec schéma, et une application utilise un marshal versionné tolérant l'ajout de champs tout en préservant la compatibilité arrière.
Mauvaise application
Mauvaise application
Désérialiser des données non fiables sans validation menant à l'exécution de code ou des vulnérabilités d'injection, omettre la gestion des versions causant des incompatibilités, ou utiliser un format non canonique qui casse la reproductibilité et les contrôles d'intégrité.
Conséquence
Conséquence
Une sérialisation correcte permet la persistance, les appels RPC et l'interopérabilité entre systèmes hétérogènes ; les choix impactent performances, bande passante, sécurité et compatibilité avant/arrière.
Inversion
Inversion
Sans sérialisation, l'état ne peut être persistant de manière fiable ni échangé entre processus ou machines ; des encodages ad hoc ou incompatibles entraînent la perte de données ou l'incapacité d'interopérer.
Limite
Limite
Couvre les formats et algorithmes qui mappent des objets d'exécution vers des représentations transférables (JSON, XML, protobuf, marshalling binaire) ; exclut les dumps mémoire bruts liés à une image de processus particulière et les transformations sémantiques applicatives non liées au transport ou au stockage.
Tension sémantique
Tension sémantique
Tension entre formats textuels lisibles (JSON, XML) et formats binaires compacts (protobuf, CBOR), et entre flexibilité sans schéma et strictitude pilotée par schéma pour compatibilité et efficacité.
Synthèse
Synthèse
La sérialisation est la conversion systématique de l'état structuré en mémoire en une représentation portable et son inverse, gouvernée par schémas/métadonnées et règles de sécurité afin d'équilibrer efficacité, interopérabilité et compatibilité.