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 ?
.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.
It is important to understand how both technologies work and to choose the one that is right for your application.
- C# Interview Questions (part-1)
- C# Interview Questions (part-2)
- C# Interview Questions (part-3)
- Difference between a Debug and Release build
- Difference between normal DLL and .Net DLL
- What is an Interface in C#
- Difference between Abstract Class and Interface
- Difference between a thread and a process
- Delegates in C# with Examples
- Differences between a control and a component
- Differences between Stack and Heap
- What is .Net Reflection
- Globalization and Localization
- What is .Net serialization
- Difference between managed and unmanaged code
- Difference between Shallow copy and Deep copy
- Use of System.Environment Class
- What is the difference between private and shared assembly?
- Does the .NET have in-built support for serialization?
- How to properly stop the Thread in C#?
- Why are there five tracing levels in System.Diagnostics.TraceSwitcher?
- Why is XmlSerializer so slow?
- How many types of Jit Compilers?