Opinion on WCF

Opinion on WCF

Old forum URL: forums.lhotka.net/forums/t/4363.aspx


bcrowell posted on Sunday, February 17, 2008

Is everyone conviced that WCF is the way to go for remoting technologies. In the latest book Rocky says we're using WCF because it's the latest thing from Microsoft but doesn't really give an opinion on if it's better, etc. i'm starting a new App and upgrading to .net 3.5 and csla 3.0 so i'm curious if the community has discovered any better way to go or if I should just charge ahead with WCF. Thanks all.

Byron

RockfordLhotka replied on Sunday, February 17, 2008

There's no doubt in my mind that WCF is the superior option when compared to the others (remoting, asmx with WSE or enterprise services (dcom)).

WCF is no harder to use than remoting, and is a lot easier than asmx/WSE (though much harder than just asmx). And it avoids all the nastiness that comes with the use of enterprise services (dcom).

It is roughly as fast as remoting (sometimes faster, sometimes slower) and when used within the data portal is faster than asmx/WSE. It is also almost always faster than enterprise services.

So it is generally the best choice - has the advantages of remoting and asmx/wse, the (relative) simplicity of remoting and avoids the downsides of enterprise services.

PLUS it has the flexibility of WCF in terms of supporting numerous channels, security options, etc. Unfortunately, actually using this flexibility comes with an insane level of complexity in terms of configuration. But if you can fight your way through that complexity, the flexibility is really impressive.

kumal replied on Monday, July 27, 2009

Sorry for bringing such an old post back to life....

I am researching on performance wcf vs asmx, what exactly did you mean by data portal?

Thanks!!

RockfordLhotka:

There's no doubt in my mind that WCF is the superior option when compared to the others (remoting, asmx with WSE or enterprise services (dcom)).

WCF is no harder to use than remoting, and is a lot easier than asmx/WSE (though much harder than just asmx). And it avoids all the nastiness that comes with the use of enterprise services (dcom).

It is roughly as fast as remoting (sometimes faster, sometimes slower) and when used within the data portal is faster than asmx/WSE. It is also almost always faster than enterprise services.

So it is generally the best choice - has the advantages of remoting and asmx/wse, the (relative) simplicity of remoting and avoids the downsides of enterprise services.

PLUS it has the flexibility of WCF in terms of supporting numerous channels, security options, etc. Unfortunately, actually using this flexibility comes with an insane level of complexity in terms of configuration. But if you can fight your way through that complexity, the flexibility is really impressive.

RockfordLhotka replied on Monday, July 27, 2009

The data portal is a feature of CSLA .NET that manages communication between the client and app server in a 3- or 4-tier physical deployment, and allows transparent switching between 2- and 3-tier deployments with no code changes. And it allows switching between various network transport technologies such as WCF, Remoting, etc.

 

It uses a combination of design patterns to do all this, including channel adapter, provider, message router, gateway, etc.

 

For a full explanation please refer to my Expert 2008 Business Objects book.

 

Rocky

 

kumal replied on Tuesday, July 28, 2009

Oh i see, thank you for the quick response.

Sorry frankly I am not a CSLA user, I hope that is okay.  I am just stumped with some performance result comparing asmx and wcf, was hoping wcf is much faster but the result show pretty much the same speed. 

So with your original statement, does it mean without the data portal, wcf is slower than asmx, always?

RockfordLhotka replied on Tuesday, July 28, 2009

Not at all. WCF is probably comparable to asmx in most cases.

 

But I personally haven’t done any testing of WCF vs asmx outside the context of the data portal.

 

And the data portal does extra stuff that you wouldn’t normally do with a message-based XML service, because the data portal requires more functionality that you get with asmx or default WCF.

 

In other words, the fact that the data portal has certain performance characteristics probably doesn’t say much about vanilla XML services performance, because XML services use a set of simpler .NET technologies.

 

Rocky

 

kumal replied on Tuesday, July 28, 2009

Thanks again for the explanation.

Guess i will have to continue researching why my speed test of wcf vs asmx is not as impressive as others have stated.

Copyright (c) Marimer LLC