Serialization breaks the opacity ideal of an abstract data type by potentially exposing private implementation details. For this reason and for other reasons, publishers of [proprietary software]? often keep the details of their programs' serialization formats a trade secret.
On the other hand, interoperability requires that applications be able to understand each other's serializations for a given object. For this reason, remote method call architectures such as the CORBA? architecture define their serialization formats in detail and often provide methods of checking the consistency of any serialized stream when converting it back into an object.
Starting in the late 1990s, the XML standard has become a popular and widely supported means of data serialization into text. Because of its flexible syntax, XML can represent a wide variety of data structures.