Serialization is the process of saving data into some storage medimum. Deserialization is a process of converting a stream of bytes back into "live" objects. Obviously, much more difficult than serialization
.NET Framework provides rich support. We are focus on Client-Side Support. Most often used in windows apps, or in Net Working. .NET Framework support serialization used by XML Web Services
XML Serialize objects does all the work, XML much more limited, much simpler. This project serializes data transparently, using MSMQ. Why using serialization: Save an application's state, copy and paste clipboarddata, class objects, share objects over the network, Encrypt compress objects. Send data through a queue.
Before .NET, developer's handled these tasks manually. Now .NET handle all of details, you can step in and modify behavior if you want, .NET framework includes support for serializing all the base types. Also data structures including the base types. Want to serialize an arrays of strings, no problem. .NET frame work formatters are smart, handle nested and circular references, handle public and private members of classes, handle multiple references to a single project. Where is the Data Going? You have to explicity force the serialization. What if you want to send data through Queue? MSMQ made this simple.