Difference between web service and .net remoting

What is Web services ?

A web service is a method of communication between two software units over the World Wide Web. Applications can access Web services through different data formats such as HTTP, XML, and SOAP, with no need to worry about how each Web service is implemented.

Extensible Markup Language (XML) is used to tag the data, Simple Object Access Protocol (SOAP) is used to transfer the data, Web Services Description Language (WSDL) is used for describing the services available and Universal Description Discovery and Integration (UDDI) is used for listing what services are available.

Web services do not provide the user with a GUI, instead it share business logic, data and processes through a programmatic interface across a network.

What is .Net Remoting ?

remoting

.NET Remoting is a mechanism that allows objects to interact with each other across application domains, whether application components are all on one computer or spread out across the entire world. Remoting was designed in such a way that it hides the most difficult aspects like managing connections, marshaling data, and reading and writing XML and SOAP.

You can study more in detail about .Net Remoting with sample Source code :

C# Remoting Architecture     VB.Net Remoting Architecture

Which one is better ?

Both technologies are powerful that provide a suitable framework for developing distributed applications. Web services favor the XML Schema type system, and provide a simple programming model with broad cross-platform reach, while.NET Remoting favors the runtime type system, and provides a more complex programming model with much more limited reach.

If both your clients and components are inside the firewall, Web services will work fine. However, all of your data travels through a Web server, which can slow performance. Remoting is allowing you to communicate between a client application and components in a binary format. It is more suitable as a high speed solution for binary communication between proprietary .NET components, usually over an internal network.

Windows Communication Foundation wcf

It is important to understand how both technologies work and to choose the one that is right for your application.