The continuous reduction of price of computational capacity brought into life architectures in the IT industry, that consist of multiple machines, and these machines, communicating with each other, can solve complex problems. One such architecture is the service-oriented architecture, which allows us to implement platform independent distributed systems.
Because of the distributedness it is necessary to implement some kind of communication between the nodes, the efficiency of which has a great impact on the efficiency of the whole system regarding solving a given a problem.
The .NET framework supports the architecture via the WCF (Windows Communication Foundation) class library. This provides the solutions for creating communication channels, authenticating, embedding the data into messages or converting it into the correct format. The latter is the process of serialization – the optimization of which can greatly enhance the speed of the entire communication process.
Though platform independence is a fundamental tenet of the service-oriented architecture, in many cases all components of the system run in.NET environment, presenting the opportunity to optimize the message exchange taking into account the specifics of the platform, while remaining in the scope of the service-oriented architecture.
The WCF has a solution for this case too, but I found that this component has even worse performance metrics than the more generic variant. My goal was to develop a solution that is faster the ones already provided for .NET-.NET communication scenarios.
In my thesis I examined the feasibility of the problem and the possible rate of optimization by developing a reference-framework, and then, taking this into account, I elaborated an algorithm that is very effective regarding the length of the output message produced. After this I iteratively refined my solution by changing the technology used for implementation and introducing further optimization methods so not only the length of the output message, but also the time needed to produce it is a lot less than what is necessary in the case of the built-in components.