+ + +
+
+

Serialization

+

Serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment).

+

Learn more »

+
+
+ +
+ +
+
+

Uses

+

    +
  1. Transferring data through the wires (messaging).
  2. +
  3. A method of storing data (in databases, on hard disk drives)
  4. +
  5. A method of remote procedure calls
  6. +
  7. A method for distributing objects
  8. +
  9. A method for detecting changes in time-varying data
  10. +
+ +

+

View details »

+
+
+

Drawbacks

+

+

    +
  • Serialization breaks the opacity of an abstract data type by potentially exposing private implementation details.
  • +
  • Trivial implementations which serialize all data members may violate encapsulation.
  • +
  • To discourage competitors from making compatible products, publishers of proprietary software often keep the details of their programs' serialization formats a trade secret.
  • +
  • Many institutions, such as archives and libraries, attempt to future proof their backup archives—in particular, database dumps—by storing them in some relatively human-readable serialized format.
  • +
+

+

View details »

+
+
+

Formats

+

+

    +
  1. Xerox Network Systems Courier technology in the early 1980s influenced the first widely adopted standard
  2. +
  3. Sun Microsystems published the External Data Representation (XDR) in 1987.
  4. +
  5. In the late 1990s, a push to provide an alternative to the standard serialization protocols started: XML was used to produce a human readable text-based encoding.
  6. +
  7. JSON is a lighter plain-text alternative to XML which is also commonly used for client-server communication in web applications. JSON is based on JavaScript syntax, but is supported in other programming languages as well.
  8. +
+

+

View details »

+
+
+ +
+ +
+ +