Nowadays distributed systems are integral parts of our life. Day by day we come across with different forms of it. Even if you go on a website behind it there can be numerous application servers, webservers, database serves etc.
Windows Communication Foundation was originally created to ease the communication of distributed applications. The main goal of the development was to support service oriented architecture. Its keystone is platform independency, so the various nodes of the infrastructure can use different technologies. Occasionally the efficiency of the communication between the nodes is an issue regarding performance.
Moreover WCF offers a unified programming model instead of the ones before, but it is not optimal in every case. When all members of the system are running in .NET framework it is possible to use the characteristics of the platform for optimizing the process of exchanging messages. WCF has a solution to this scenario as well, however experience shows it can be improved.
Serialization is a fundamental part of communication between systems so I decided to improve this. In my thesis I will describe the related technologies and concepts. During my work I analyzed the performance of a few built in and several 3rd party serializers. I developed a serializer considering the above described situation, when both parties are .NET applications. This serializer has a general interface, the parts implementing the interfaces needed to integrate it into WCF are in separate classes.