Both .Net Web services and .Net Remoting are Microsoft solutions for distributed application. Before choosing one of them for application development, let’s identify the differences between these technologies.
- Protocol: .Net web services can be accessed only over HTTP whereas .Net remoting can be accessed over any protocol including TCP, HTTP, or SMTP.
- Performance: In terms of performance, .Net remoting is faster than its counterpart web service when it uses TCP channel with binary formatter. But if you use soap formatter in .net remoting, web services with soap formatter either with TCP or HTTP channel provides faster solution.
.NET Remoting can be hosted
either in IIS or in other container. If hosted in IIS, .NET Remoting can
benefit all security advantages of IIS. But when hosted other than IIS, the
application has to take care security aspect itself.
On the other hand, .Net web services are hosted in IIS, by default. So, it leverages all features of security provided by IIS.
- State Management: Web services are a stateless in nature like web application. You need to use state mechanism to retain state. You can use session or application object to maintain state. In .Net Remoting, Singleton objects can share state whereas if you don’t need to maintain state, you can use Singlecall objects.
Web services support
heterogeneous environments which means client and remote object can be built in
.NET remoting requires the client be built using .NET, enforcing homogenous environment.
- Reliability: Since .Net web services are hosted using IIS, they are reliable whereas .Net remoting application needs to maintain security on its own if not hosted using IIS. When hosted in IIS, .Net remoting is also as reliable as web services.
- Ease of development: Create and consuming .Net web services are easier process. To create remoting object, you need create remote object, hosting application to host remoting object and configuration file to specify type of channel and formatter to be used by remoting object.
- XML Web services are more restricted than objects exposed over .NET Remoting.
- XML Web services support open standards that target cross-platform use.
- XML Web services are generally easier to create and due to the restricted nature of XML Web services, the design issues are simplified.
- XML Web services support only SOAP message formatting, which uses larger XML text messages.
- Communication with .NET Remoting can be faster than XML Web service communication with a binary formatter.
- XML Web services are designed for use between companies and organizations.
- XML Web services don't require a dedicated hosting program because they are always hosted by ASP.NET.
- Consumers can use XML Web services just as easily as they can download HTML pages from the Internet. Thus there's no need for an administrator to open additional ports on a firewall as they work through MS-IIS and ASP.NET