Basics of Serialization and its Type

 Admin    19 Nov
 None    Web Development

Submitted by spec-india

Submitted by spec-india

Serialization is the process of encoding an object or class into a persistent or transportable state. This allows you to take a complex data type, then encode, save, transfer, and decode it, with the possibility that a separate process handles the decoding.

There are two main serialization types:

  • Binary serialization - Takes the data type and converts it into a binary stream.
  • XML serialization - Converts the data type into an XML stream which you can then convert to an XML document.

You can take the output from either serialization type and store it in memory, place it into a file, or pass it across a network connection. For example, your application may have a defined Customer Data complex data type which stores information about a customer (such as name, address, telephone number, and so on). You can use serialization to convert the Customer Data data type into a binary or XML stream that you can then transport across process boundaries or save to a file for later use. The object is serialized when it is in the binary or XML format.

De-serialization is the process of converting a serialized object back to its original form. Generally, you de-serialize objects back into their original type. Hence, if you serialize the Customer Data data type as a binary stream or as an XML document, you de-serialize it back to the data type Customer Data and not to the data type Order Data.

Both .NET and J2EE use serialization to exchange data between applications within the same platform. You can also use serialization to exchange data between applications on different platforms by passing serialized objects for de-serialization on the alternate platform. The next sections examine how to implement binary and XML serialization on .NET and Java.

Binary serialization is the process of taking a complex data type (or object) and encoding it into a binary stream, changing to a persistent state, transporting, and then decoding (de-serialize) back into the original complex data type.

Both Java and .NET include a binary serializer that can convert any serializeable data type into a byte stream. The classes that perform this serialization are similar in each platform and simple to implement.

For binary serialization in both .NET and Java, you must first apply a label to indicate that you want to serialize a type. In .NET, you can use the [Serializable] attribute or implement the Serializable interface. In Java, the equivalent approach is to make the class implement java io. serializable.

Unfortunately, the .NET and Java serializes are incompatible. Hence, you cannot stream the serialized version of the Customer Data object output from the Java serializer straight into the .NET version and vice versa. Even if you could, you would still face the challenge of getting the .NET Framework application to understand the Customer Data object that the Java serializer produced. The .NET side may not have an equivalent Customer Data data type to accept the de-serialized Customer Data object from the Java side.

You can use binary serialization for linking .NET to Java as long as the same formatter performs the serialization and de-serialization of an object. The format that creates the byte stream from the data type must match exactly the format that receives the byte stream and reconstructs the object.

There are two approaches that you can use to circumvent the incompatibility of the default J2EE and .NET binary serializers. These are:

  • Create a custom serializer sharing the same formatting options on both Java and .NET.
  • Use a third-party product that works with the binary formatter in the .NET Framework, such as Ja.NET or JNBridgePro.

XML serialization is the process of taking a complex data type (or object) and encoding it into an XML stream. You can then make this XML stream into a persistent state in the form of an XML document, transport it, and then later decode (de-serialize) it back into the original complex data type (or object).

In order to understand the process of XML serialization, you need to have a basic understanding of XML. XML is text-based document markup language that contains structured and extensible data. XML is text-based, so you can read it like normal text and because it is extensible, you can use it to describe almost any type of information. Hence XML documents can contain:

  • Text
  • Pictures
  • Program settings
  • Data schemas
  • Annotations
  • Inserts

XML documents may also contain instructions about how to use the data within the document itself.

Spec-India is Software Development Company that offers mobile software application development, ASP.Net application development, handheld computer system development, outsourcing software development and ASP.Net framework application development.

Submitted by spec-india

News Categories