System and Method for Java Serialization Compatibility using XML
Original Publication Date: 2002-Mar-08
Included in the Prior Art Database: 2003-Jun-20
Disclosed is a program that provides a method for using XML as an intermediate language allowing two different Java* Virtual Machines, possibly with different serialization formats, to be compatible with each other through the use of an adapter. The JVM (Java Virtual Machine) supports serialization of objects, enabling them to be reconstructed in another JVM. When an object is serialized, its data, and all the data of contained objects are written to an output stream, then read, and recreated on the other side. Data objects are stored position ally within the data stream, therefore causing potential compatibility problems with other version levels where variables have been added or removed. This software process is a system, method and tool for analyzing serialization data streams and generating equivalent XML (eXtensible Markup Language) files describing the structure of objects, classes, and values within the stream. By processing each data stream, a DTD (Data Type Descriptor) can DTD can be generated based on the data set, describing the objects, classes, types and their orderings within the potential data streams. During this processing the more Java Serialization data streams analyzed, the more accurate the resulting DTD will be. The DTD Generator will read the XML files and apply the ALWAYS, SOMETIMES or NEVER rules to elements and attributes, their values, the positions of the tags, and their nesting relationships.