Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31100
Comparative Survey of Object Serialization Techniques and the Programming Supports

Authors: Kazuaki Maeda

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: Programming, structured data, serialization

Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1084306

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 2036

References:


[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.