Microsoft .NET Remoting is a framework that can be used to enable components and objects to communicate and transfer data within a distributed architecture. In some contexts, .NET Remoting is referred to as the " next version of DCOM." Although this is slightly biased , I do agree that .NET Remoting solves many problems that DCOM and similar technologies didn't address. For developers working with Java 2 Enterprise Edition (J2EE) technology, .NET Remoting can in some circumstances be considered the .NET parallel to Remote Method Invocation (RMI) and Remote Method Invocation over Internet Inter-ORB Protocol (RMI-IIOP).
The foundation of .NET Remoting is encapsulated by the concepts of channels and formatters . Channels are used for passing information between remote components. Two of the default channels of .NET Remoting are TCP and HTTP. Formatters are used to convert an object from one platform into a format that another platform can understand. The Microsoft .NET Framework ships with two types of default formatters: binary formatters and SOAP formatters. Chapter 3, "Exchanging Data Between .NET and Java," covered binary formatters in its investigation of how binary serialization works. The SOAP formatter can be used with the serialization classes in the .NET Framework.
SOAP is a three-part definition that specifies an XML structure for the framework of a message (known as a SOAP Envelope ). The three parts , which are all placed inside the SOAP Body , include the data types defined using XML Schema Definition (XSD), a convention for representing remote procedure calls (RPCs), and the data that's returned from those calls. Additional information on the SOAP specification can be found at http://www.w3.org/TR/SOAP/ .
.NET Remoting channels and formatters are used in combination to define how communication between two systems will be established. For example, Figure 4.1 shows point-to-point communications between a potential ASP.NET page and a business- tier component in .NET. If this communication will be established by using .NET Remoting, the channel can be either HTTP or TCP and the formatters can be either binary or SOAP.