How is scalable property of CSLA achieved?

How is scalable property of CSLA achieved?

Old forum URL:

Miroslav Galajda posted on Friday, April 29, 2011


I didn't find anything clear about achieving scalability with CSLA.

It's just made using IIS load balancing between web servers in web farm, isn't it? But this is possible only if DataPortal is used with WCF proxy. Am I right?

I just want to be sure, if there's some configuration that can enable scaling between multiple servers.



RockfordLhotka replied on Friday, April 29, 2011

Scalability is designed into the data portal, in that the data portal is stateless on the server. Along that line, it supports "block" or "batch" updates of object graphs to minimize communication between client and server - and you can exploit that feature in some cases by using the UoW pattern.

I assume you've read chapter 1 of any of the Expert Business Objects books, or the first book in the Using CSLA 4 ebook series? These all discuss the scalability scenarios at a high level - especially the Using CSLA 4: CSLA .NET Overview ebook.

In short, for a smart client app, as you say, you scale out app servers using virtually any http-based server farm technology of your choice.

For web apps it depends on whether you are deploying as a 2- or 3-tier app. A 2-tier configuration can only scale out if your actual web app was designed for a stateless server, and that's outside the control of CSLA. A 3-tier web app is almost always less performant than a 2-tier web app, but if your bottleneck is at the data access or back-end processing level then the data portal can help you scale out your app servers just like with a smart client app.

But in my observation, most web app scaling issues are due to the web app itself being constructed to require state (Session or whatever), and CSLA can't help fix that sort of problem.

Miroslav Galajda replied on Sunday, May 01, 2011

Hi, thanks for your answer. I feel little bit confused that I must buy some overview book before I can try it so that I could make some decision about it.

Sorry, I haven't red any of your books and I'm doing review of CSLA by myself to make a decision for using it. It sounds me more normal to have "try before buy" and the overview should be for free, for example the book you mentioned "Using CSLA 4: CSLA .NET Overview ebook". And that book is even stated as "This ebook is a draft ..."



RockfordLhotka replied on Sunday, May 01, 2011

Fwiw, that book is no longer in draft - that was old text - thank you for pointing that out so I could fix it.

Some people have mentioned that my business model is inverted, which is true.

By all rights, I should charge for people to use the framework (probably a few thousand dollars per developer plus an annual support and maintenance fee), and part of that income would go toward a marketing budget that could fund creation of free content.

I've chosen, over the past 16 years and far more than 10,000 hours of work on the framework, to give the framework and samples away for free (crazy, I know), and to charge for the related content such as books and videos.

I'm sorry you find that confusing, but after all this time I'm not looking to change the model.

Miroslav Galajda replied on Monday, May 02, 2011

Hi Rocky,

I really appreciate your approach and your work.

But all I just wanted to say is to have the Overview Book for free and the other advanced and experienced content paid. Because it makes hard for someone who wants to make a good point of view.




Copyright (c) Marimer LLC