O'Reilly logo

Object-Oriented Programming with Visual Basic .NET by J.P. Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

10.2. Web Services Versus Remoting

Performance considerations make it just as important to know when to use web services as when not to use them. In this race, as shown in Figure 10-4, web services come in dead last every time.[1]

[1] The results differ depending on the size of the objects used. When very small objects are used, web services actually perform slightly better than HTTP binary. This conclusion is based on information (and source code) published at www.dotnetremoting.cc. My tests mirror these results.

Figure 10-4. Mean relative method call duration

There seem to be several misconceptions about when to use web services. One common fallacy is that web services should be used when the client must traverse a firewall. Another myth is that if the client makes method calls over the Internet, web services must be used. Both assumptions are plainly false because these tasks can be accomplished easily with remoting.

The question of when to use web services over .NET remoting is answered by looking at the endpoints of the application. If the client is .NET, use remoting: it's just faster and more configurable. You can use binary and XML-based protocols. If security is an issue, use IIS to host the object, as shown in Chapter 9. In most cases, using binary over HTTP is faster than using a web service. Also, the client experience has the potential to be richer because events ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required