Browse Prior Art Database

System and Method for Java Serialization Compatibility using XML

IP.com Disclosure Number: IPCOM000015489D
Original Publication Date: 2002-Mar-08
Included in the Prior Art Database: 2003-Jun-20
Document File: 3 page(s) / 40K

Publishing Venue

IBM

Abstract

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.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

System and Method for Java Serialization Compatibility using XML

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.

When this processing is performed of each output data stream from
different JVMs, the DTDs can be compared to determine which
objects have been added, removed, or modified, and identify
default values for new objects.

An adapter filter can be generated that processes the input XML
and produces the output XML which is compatible with the target
DTD. Then, in turn, a serialization data stream can be created
that conforms in structure to the target DTD definition, thereby
allowing the data to be read by the target JVM.

An adapter filter can be made which processes the first .XML
file, and produces a new .XML file that is compatible with the
target DTD. Serialization files that conform (in structure) to
the target DTD format can be generated, thereby allowing data to
be read into the target JVM.

1

Page 2 of 3

    Jav a Serialization Data Stream from JVM 1

XML Equiv alent and DTD

XML Adapter

    Jav a Serialization Data Stream from JVM 2

XML...