Choosing the Right Remote Object Invocation Protocol in .NET
Introduction
The term object remote procedure call (ORPC) identifies those technologies (protocols, API, and so on) that let you create objects on remote computers and invoke methods on them. The .NET Framework offers three distinct ORPC technologies whose functionalities partially overlap, at least at first sight. In this article I'll illustrate what these three options are about and provide metrics to let you select the right one according to your application requirements.
I'll explain first why not all remote objects are the same, introducing a fundamental distinction between near and far objects. This will provide you with the main elements that must drive your choice.
The second part of the article delves deep into the technicalities of each protocol, analyzing what each one offers with regard to security, deployment requirements, performance, and so forth.