Distributed Application Design: ASP.NET Web Services vs. .NET Remoting
In this article I explain about Distributed application ASP.NET and .Net Remoting . Both the .NET Remoting infrastructure and ASP.net web services can enable cross-process communication , How ever eac is designed to benefit a different target audience .
Overview of ASP.NET Web Services vs. .NET Remoting
Xml Web Services have created a lot of buzz in the software development scenario with the introduction of platform independent distributed software architecture
First, use ASP.NET services by default. They're less complicated to implement and use, they provide the broadest potential reach to shopper platforms, and ASP.NET net services shopper proxy code will be invoked from code run in a very sandbox beneath the default security policy.
If you wish a lot of ancient distributed object model with full CLR sort fidelity, you do not would like ability with different platforms, and you management the configuration of each shoppers and servers, consider .NET Remoting. If you decide on .NET Remoting, like the hypertext transfer protocol channel integrated with IIS and ASP.NET, otherwise you've got to make your own method lifecycle management and security infrastructure. Given that .NET Remoting needs a .NET client, it is smart to use the binary formatter rather than the SOAP formatter; ability isn't a difficulty and performance is going to be perceptibly higher.
The erstwhile distributed architecture before XML web Services like DCOM, COBRA and Java RMI provided robust, reliable and scalable architecture for distributed application. But they all have few basic limitation that restricted their used within intranet environment as their RPC (Remote Procedure Calling) based communication completely relied on the explicit object method invocations. This feature restricted the communication over web based communication protocol like HTTP, as not all type of object supported by architectures were developed in depend of each other and hence were not at all interoperable. Both the client and the server in such architectures had to be developed on the same platform.
ASP.NET net services favor the XML Schema sort system, and supply a straightforward programming model with broad cross-platform reach. .NET Remoting favors the runtime sort system, and provides a lot of complicated programming model with way more restricted reach. This essential distinction is that the primary thinks about crucial that technology to use. However, there are units a good vary of different style factors, as well as transport protocols,
Microsoft .Net framework supports XML Web Services and has provided extensive APIs for creating and consuming Web Services know as aSP.NET Web Service. In additional to XML web services, Microsoft .Net frame work has also provides a separate APIs for traditional RPC based distributed architecture known as .NET Remoting. This indicates that though XML web services did provide solutions to a lot os problems faces by developer community working in the field of distributed application but there are certain features of RPC based system that web services could not support.
It is additionally potential to integrate the hypertext transfer protocol channel with IIS and therefore the ASP.NET employee method. This is often necessary for many reasons. First, it's the sole thanks to auto-start a .NET Remoting end point once a shopper request arrives. The .NET Remoting plumbing doesn't embrace a DCOM vogue Service management Manager (SCM) to begin remote servers. If you expose remote objects from arbitrary processes, you've got to make sure those method area units running. You furthermore ought to guarantee they're thread-safe, e.g., that thread A cannot activate AN object when thread B began to shut the method down. If you expose remote objects from ASP.NET, you'll benefit of the actual fact that the Aspnet_wp.exe employee method is each auto-starting and thread-safe. Second, as delineated within the next section, integration with IIS is that the solely method you'll secure a cross-process .NET Remoting decision.
The fact that .Net framework includes support for two distinct distributed programming models web services and distributed objects has cause a fair of amount of confusion for developer. When should a system use ASP.NET Web services and when should it use .Net Remoting.?