CSLA .NET is a software development framework that helps you build a powerful, maintainable business logic layer for Windows, Web and Web Services applications.
There are many frameworks in the world. Most of them focus on the common issues of getting data into and out of the database or creating a flexible UI. What is typically missing is a focus on managing or implementing business logic. This puzzles me, because business logic is the centerpiece of a business application.
CSLA .NET enables you to create an object-oriented business layer that abstracts and encapsulates your business logic and data. The framework automatically supports data binding for both Windows Forms and Web Forms, and provides assistance for implementing standard validation and authorization logic within your objects.
CSLA .NET 2.0 also includes a technology-neutral client/server abstraction, allowing you to build your application and then decide at deployment whether to use 2-tier or 3-tier client/server. If you opt for 3-tier deployment, you can choose between .NET Remoting, Web Services or Enterprise Services as a network protocol, with support for WCF in beta. The key point here is that you can switch between 2-tier and any of these 3-tier networking options without changing your UI, business logic or data access code; all that changes is a configuration file (and of course deployment to both client and server).
Finally, CSLA .NET provides a clearly defined location in your architecture where you get data from or put data into the database. This is not the focus of CSLA .NET, and so the framework’s goal is to put you in charge. To give you optimum flexibility in how that data is managed and to enable decoupling of the data access from the business object and user interface or presentation layers.
In short, CSLA .NET is a framework for building a robust, maintainable business layer. Optimized for flexibility of both user presentation and data access, and designed to minimize the impact of future technology changes; including from WCF and WPF in the .NET 3.0 Framework.
CSLA stands for Component-based, Scalable Logical Architecture, and is the result of over 10 years worth of research and development. The .NET implementation of CSLA was started in 1999, and development continues today.