The company I work for asked me to write some server components that contains all the business logic in order to make clients light weight. This is a good prtactice to follow because it makes the client easy to install and ability to change server implementation without re-deploying the clients.
I began investigating what type of architecture I should be using.
-Should I using .NET Remoting? If you can guarnetee all clients will always be using .NET this works. It's very easy to write code using .NET remoting. This is very fast and little overhead in communication.
-Should I use Web Services? I don't have much experiece with this but I didn't like using it because it was slow. I benchmarked request/response and it was slow. I also didn't like the fact every request creates a new instance of your class and everthing has be stored in a session or it gets lost.
-Should I use Web Services 2? This was the same as Web Services but even slower making request/response.
-Should I use Soap Messaging over TCP/IP? This is a little faster then Web Services but very flexible.
Remoting with TCP increased processing time by 6%
Remoting with HTTP increased processing time by 112%
Soap over TCP/IP increased processing time by 212%
Web Services increased processing time by 224%
Web Services 2 increated processing time by 241%
My boss told me to use Soap over TCP/IP.
-He wasn't concerned with the increase in processing time.
-He doesn't like .NET remoting. He says it's dead but I like it.
-He didn't want any dependency on IIS because it has to run with MSCS
*to be continued
PS: This was my first blog. I hope it's good!