Comparative Survey of Object Serialization Techniques and the Programming Supports
This paper compares six approaches of object serialization
from qualitative and quantitative aspects. Those are object
serialization in Java, IDL, XStream, Protocol Buffers, Apache Avro,
and MessagePack. Using each approach, a common example is
serialized to a file and the size of the file is measured. The qualitative
comparison works are investigated in the way of checking whether
schema definition is required or not, whether schema compiler is
required or not, whether serialization is based on ascii or binary, and
which programming languages are supported. It is clear that there
is no best solution. Each solution makes good in the context it was
developed.
[1] D. Hunter, J. Rafter and others, Beginning XML, 4th edition, Wiley, 2007.
[2] Greg Badros, JavaML: A Markup Language for Java Source Code, 9th
International World Wide Web Conference,
http://www9.org/w9cdrom/index.html, 2000.
[3] JSON, http://www.json.org/ (accessed at Oct. 20, 2011).
[4] The application/json Media Type for JavaScript Object Notation (JSON),
RFC 4627, http://www.ietf.org/rfc/rfc4627.txt (accessed at Oct. 20, 2011).
[5] Java SE 7 Serialization-related APIs and Developer Guides,
http://download.oracle.com/javase/7/docs/technotes/guides/serialization/
(accessed at Oct. 20, 2011).
[6] Java Object Serialization Specification: Contents,
http://download.oracle.com/javase/7/docs/platform/serialization/spec/
serialTOC.html (accessed at Oct. 20, 2011).
[7] OMG, Common Object Request Broker Architecture (CORBA), OMG
Released Versions Of CORBA, http://www.omg.org/spec/CORBA/3.1/.
[8] Richard Snodgrass, The Interface Description Language: Definition and
Use. Computer Science Press, 1989.
[9] XStream - About XStream, http://xstream.codehaus.org/ (accessed at Oct.
20, 2011).
[10] protobuf - Protocol Buffers, http://code.google.com/p/protobuf/ (accessed
at Oct. 20, 2011).
[11] Welcome to Apache Avro, http://avro.apache.org/ (accessed at Oct. 20,
2011).
[12] The MessagePack Project, http://msgpack.org/ (accessed at Oct. 20,
2011).
[13] Kazuaki Maeda, Executable Representation for Structured Data Using
Ruby and Scala, 10th International Symposium on Communications and
Information Technologies, pp.127-132, 2010.
[1] D. Hunter, J. Rafter and others, Beginning XML, 4th edition, Wiley, 2007.
[2] Greg Badros, JavaML: A Markup Language for Java Source Code, 9th
International World Wide Web Conference,
http://www9.org/w9cdrom/index.html, 2000.
[3] JSON, http://www.json.org/ (accessed at Oct. 20, 2011).
[4] The application/json Media Type for JavaScript Object Notation (JSON),
RFC 4627, http://www.ietf.org/rfc/rfc4627.txt (accessed at Oct. 20, 2011).
[5] Java SE 7 Serialization-related APIs and Developer Guides,
http://download.oracle.com/javase/7/docs/technotes/guides/serialization/
(accessed at Oct. 20, 2011).
[6] Java Object Serialization Specification: Contents,
http://download.oracle.com/javase/7/docs/platform/serialization/spec/
serialTOC.html (accessed at Oct. 20, 2011).
[7] OMG, Common Object Request Broker Architecture (CORBA), OMG
Released Versions Of CORBA, http://www.omg.org/spec/CORBA/3.1/.
[8] Richard Snodgrass, The Interface Description Language: Definition and
Use. Computer Science Press, 1989.
[9] XStream - About XStream, http://xstream.codehaus.org/ (accessed at Oct.
20, 2011).
[10] protobuf - Protocol Buffers, http://code.google.com/p/protobuf/ (accessed
at Oct. 20, 2011).
[11] Welcome to Apache Avro, http://avro.apache.org/ (accessed at Oct. 20,
2011).
[12] The MessagePack Project, http://msgpack.org/ (accessed at Oct. 20,
2011).
[13] Kazuaki Maeda, Executable Representation for Structured Data Using
Ruby and Scala, 10th International Symposium on Communications and
Information Technologies, pp.127-132, 2010.
@article{"International Journal of Information, Control and Computer Sciences:64054", author = "Kazuaki Maeda", title = "Comparative Survey of Object Serialization Techniques and the Programming Supports", abstract = "This paper compares six approaches of object serialization
from qualitative and quantitative aspects. Those are object
serialization in Java, IDL, XStream, Protocol Buffers, Apache Avro,
and MessagePack. Using each approach, a common example is
serialized to a file and the size of the file is measured. The qualitative
comparison works are investigated in the way of checking whether
schema definition is required or not, whether schema compiler is
required or not, whether serialization is based on ascii or binary, and
which programming languages are supported. It is clear that there
is no best solution. Each solution makes good in the context it was
developed.", keywords = "structured data, serialization, programming", volume = "5", number = "12", pages = "1725-6", }