Home

Serialisierung

Serialisierung ist der Prozess, bei dem Objekte, Datenstrukturen oder Systemzustände in ein Format überführt werden, das gespeichert oder über ein Netzwerk übertragen werden kann und später wieder in den ursprünglichen Zustand zurückversetzt werden kann. Ziel ist Persistenz, Interprozesskommunikation, verteilte Systeme und Caching. Die Deserialisierung rekonstruiert aus dem Format die ursprünglichen Objekte oder Strukturen.

Formate der Serialisierung lassen sich grob in textbasierte und binäre Kategorien einteilen. Textbasierte Formate wie JSON,

Herausforderungen und Konzepte umfassen Objektgraphen, Referenzen, Identität, Polymorphie und Versionierung. Die Kompatibilität von Schemas über Versionen

Sicherheit ist ein zentraler Aspekt: Deserialisierung von untrusted Input kann zu Sicherheitslücken wie Codeausführung führen. Empfohlen

---

XML,
YAML
oder
CSV
sind
meist
menschlich
lesbar
und
flexibel,
während
binäre
Formate
wie
Protocol
Buffers,
Apache
Avro,
Thrift,
MessagePack
oder
BSON
oft
kompakter
und
schneller
zu
verarbeiten
sind.
Einige
Formate
sind
self-describing
(insbesondere
XML
und
JSON),
andere
benötigen
schema-basierte
Definitionen
(etwa
Protobuf-
oder
Avro-Schemata),
um
Typen
und
Struktur
eindeutig
festzulegen.
hinweg
(Schema-Evolution)
ist
kritisch,
um
Forward-
und
Backward-Kompatibilität
sicherzustellen.
Große
oder
komplexe
Datenströme
können
des
Streaming
bedürfen,
statt
eines
einzigen
großen
Objekts,
was
zusätzliche
Logik
erfordert.
sind
Validierung,
Typsicherheit,
Whitelists,
Signaturen
und
Verschlüsselung
bei
Bedarf.
Performance-
und
Speicherbedarf,
Formatwahl,
plattform-
und
sprachübergreifende
Interoperabilität
sowie
Verfügbarkeit
von
Bibliotheken
beeinflussen
oft
die
Entscheidung
zugunsten
eines
bestimmten
Serialisierungsansatzes.