When is a .Net Web Service Not a .Net Web Service?

A lot of noise has been made concerning Web Services being the new wave to ride in technology, but in many cases in the .Net world, Remoting is a far more appropriate technology to use. .Net Remoting is a technology that allows .Net applications to communicate with each other on a network or over the Internet.

.Net Remoting is basically Microsoft’s new version of DCOM that has been greatly simplified for use by the developer. Most development that is done by company developers is for internal applications that run on a network. Remoting is ideal for these kinds of applications. Using Remoting and binary formatting yields much greater speed and performance over that of XML and Soap, which is what Web Services use. Web Services is an ideal technology to use over the Internet or when you need to get through a firewall, because the transport method is XML and that will get you onto any platform and allow you to use any language you like to receive the data.

By using Remoting, data can be sent in binary format to a registered TCP channel. This is a much faster and more flexible way to send data from machine to machine in an Intranet situation than it would be to serialize the data into XML and send it using the HTTP protocol, which is what is done when using Web Services.

Web Services and Remoting objects can both be hosted within IIS. This gives a developer great flexibility in deciding programmatically at runtime which technology to use. A router object can be built that checks to see if the request is coming from within the network or through the firewall externally and can channel the request appropriately. Another difference between a Web Service and an object that is designed as a Remoting object is that a Web Service will only serialize the read/write properties of an object. If you need to have access to all of the properties of an object then Remoting is the way to go.

So next time you are listening in on a discussion about architecting a distributed application on a Windows platform and Web Services is being hailed as the new “Do All-Save All” technology to use, step in and bring Remoting to the table as an alternative technology to consider. As more white sheets and books are released covering this new .Net platform, I think you’ll see a much greater emphasis on learning and using this important but somewhat overlooked technology.