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.
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.
| Additional articles about Mobile Software Application Development |
|
|
| About the author |
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. |
| Please Rate This Article |
Number of ratings: 0
Rating: 0