ASP.NET Web Services and .NET Remoting are two separate
paradigms for building distributed applications using Internet-friendly
protocols and the .NET framework. Each has its advantages and drawbacks which
are important factors in deciding which one to use in an application. Web Services
typically use SOAP for the message format. This makes Web Services good for communication
over the Internet and for communication between non-Windows systems. Web
services are a good choice for message-oriented services that must support a
wide range of client platforms and a potentially heavy load. Remoting can be
configured to use either SOAP or Microsoft's proprietary binary protocol for
communication. The binary protocol yields higher performance and is great for
.NET to .NET communication, but cannot be used to communicate with non-Windows
platforms. In .NET’s Remoting technology we require the Server and the Client
both to be of the same technology; in other words, they should both be .NET
applications and require the .NET framework to be running in both of these
environments. This is in contrast to Web Services where a typical Web Service
implemented in .NET can even be invoked for Java.