Earlier this morning we finally released our first beta for eXpressApp Framework (XAF to the cognoscenti).
This product's premise is an extremely interesting one for me: a .NET 2.0 framework that can create business applications either as rich client apps (WinForms) or as browser apps (ASP.NET 2.0). Or both. The architecture used by XAF is a variant of something I used to promote (sometimes vainly, sigh) in my previous roles as architect before Developer Express: the separation of the business object layer from the data access layer.
The XAF team have done a remarkable job: not only have they enforced separation between the business and the data layers, they've also done the same for the presentation layer as well. Hence, although XAF targets WinForms or ASP.NET at present, the architecture is so designed that a move to other presentation layers like WPF will be fairly easy (in fact, the main problem at present with a WPF target is the lack of rich controls -- something else we're working on).
XAF is built upon our eXpress Persistent Objects (XPO) framework and exercises that underlying framework thoroughly. You can declare additional business objects (or enhance current objects) easily in code and the schema analysis tool in XPO will update the database schema the next time the application is run. Even now, after knowing about this facility for a while, I find it a great acheivement: it's nothing less than agile database development.
Anyway, go here to read about the scope of this first beta, or here to read about the architecture and the underlying models and layers used by XAF. The XAF Beta 1 can be downloaded from here.