< programming > To represent an arbitrarily complex data structure in a location-independent way so that it can be communicated or stored elsewhere.
For example, an object representing a time, with attributes for year, month, timezone, etc., could be serialised as the string "2002-02-24T14:33:52-0800", or an XML element " ", or as a binary string.
As well as providing an external data representation (e.g. representing an integer as a string of ASCII digits) and marshalling components into a single block of data, a serialisation algorithm needs to follow pointers to include objects referred to by the initial object. This is further complicated by the possible presence of cycles in the object graph .
It should be possible to store the serialised representation on disk, or transmit it across a network, and then restore it as an object (graph) that is the same as the original.
(2001-09-28)