Blog archive

Looking Back at CSLA .NET Framework's Open Source History

When the CSLA .NET framework made its first appearance in a book written by its creator, Rockford Lhotka, back in 1998, it was little more than a hunk of sample code -- at least that's how he saw it. But readers of that extremely popular book, VB6 Business Objects, saw it as something more.

"That first implementation was not really a framework per se," Lhotka recalls. "But after I published the book, I would get these e-mails from people who would say, 'Hey, I bought your book and I was using your framework and I wish it did this,' or, 'Your framework has a bug.' Initially I would respond that I don't have a framework. Over time I gave in and decided, hey, maybe I do have a framework."

Today CSLA is one of the most widely used open source software development frameworks for .NET. It's designed to help developers build a business logic layer for Windows, Web, service-oriented and workflow applications.

"It helps developers create a set of business objects that contain all of their business rules in a way that allows those object to be reused to create many different kinds of user interfaces or user experiences," Lhotka explains. "And once you've created this business layer using CSLA, you can create a WPF interface, a Silverlight interface, a Web interface, or a service interface on top of it."

"But then it gets even more interesting," he continued, "because those same objects can work on a Windows Phone, an Android device, and the new Windows Runtime (WinRT). Even if you're not building distributed applications (which most developers are these days), the CSLA framework gives an application a lot of structure and organization, which leads to long-term maintainability."

Lhotka (Rocky to his friends), CTO of Magenic, will be holding workshops on "Full Application Lifecycle with TFS and CSLA .NET" at the upcoming Visual Studio Live! New York and Visual Studio Live! Redmond conferences, as well as sessions about other topics. Lhotka is both a Microsoft Regional Director, which is a designated technical expert and community leader who's not a Microsoft employee, and an MVP (Microsoft Most Valuable Professional).

Lhotka created the .NET implementation of CSLA in 1999. The framework was originally conceived in 1996 in the world of Microsoft's Component Object Model (COM) and Visual Basic 5, and dubbed "Component Based Scalable Logical Architecture." But when Lhotka re-implemented it for .NET, which is not component based, the name "CSLA" became "just an unpronounceable word," he says.

CSLA .NET is currently in version 4.2, which supports Visual Studio 2010, Microsoft .NET 4.0, Silverlight 4 and Windows Phone 7. Version 4.2 and higher supports Android, Linux and OS X through the use of Mono, MonoTouch and Mono for Android.

More information about the CSLA framework, including a FAQ page, a download page, documentation, and a blog, can be found on Lhotka's Web site here.

Posted by John K. Waters on May 7, 2012