On a recent project I had a choice between using Web Services and Remoting. http://www.thinktecture.com/Resources/RemotingFAQ/default.html is an excellent resource about remoting. In the end I chose Web Services but I think it is interesting to understand why. First .NET Remoting is a good technology for interprocess communication when developing purely in the .NET environment. Next, .NET Remoting is very fast when serializing binary data over TCP. Remoting is also a good choice when you are operating on an internal LAN.
I was work in a pure .NET Environment and I needed for my web application to validate Routing Numbers. I choose to build a Web Service for several reasons.
- Web Services is standards based (XML, WS-I, DISCO, WSDL, etc.)
- Web Services are easy to consume. Just add a web reference. This reference can be dynamic. (Set in web config.)
- Have strong industry support
- Still Fast
- Easier to understand for a less skilled deverloper than Remoting.
- Web Services Scale Better. Use of the web service could easily be given to customers at a later date.