Tuesday, August 09, 2005
« Bad news on the regulatory front | Main | Authors can't win »

Just to put questions to rest and reassure anyone who is concerned, I am actively working on CSLA .NET 2.0 and still intend to release 2nd editions of both the Expert VB and C# Business Objects books next spring - probably March or April.

A few people have asked if this is still the case, since my web site post was a few months ago and I haven't updated it. But it turns out that the post remains pretty accurate and I really don't have much more to say :)

CSLA .NET 2.0 will use generics - primarily for collections. It will support the new databinding, primarily because the new databinding uses the same interfaces as today (yea!), with the exception that ASP.NET Web Forms databinding will require some UI helper classes because it sadly isn't as transparent as Windows Forms.

The big change will be that the DataPortal will support multiple transports (most likely including remoting, asmx and enterprise services). This sets the stage for transparent support of Indigo (now Windows Communication Foundation, WCF) when it comes out later. But it also allows choice between today's three primary RPC technologies in a very transparent manner.

The other big change from the .NET 1.x book versions is that CSLA .NET 2.0 and the books will be covering CSLA .NET version 1.5 plus. In other words, most of the functionality of 1.5 will roll forward, including the RuleManager, context transfer (for globalization), exception handling and so forth. The one big change here is that I don't intend to support in-place sorting of collections, instead opting for a sortable view approach more akin to the way the DataView works against a DataTable. This will be more powerful, simpler and (I think) faster.

I am also trying to preserve as much backward compatibility as possible while adding the new capabilities. For instance, I intend on keeping BusinessCollectionBase and adding a new BusinessListBase which uses generics. That said, there's no doubt that some changes to existing code will be required - I just don't know exactly what yet...

Of course my primary goal with the original books wasn't to promote CSLA .NET specifically as much as to demonstrate the process (and some specific solutions) of creating a framework in .NET to support distributed OO. That remains my goal, and I think the lack of earth-shattering change helps with this. A good framework shields business applications from changes in the underlying platform. In .NET 2.0 data binding changes, but we largely don't care. Generics get added, and we can use or ignore them without penalty. Indigo will show up and we will be shielded from its changes. ADO.NET 2.0 has some incompatibilities with 1.x and we are largely shielded from those changes. On the whole I am pretty pleased with how little change is actually required moving from .NET 1.x to 2.0.

 

Tuesday, August 09, 2005 9:26:18 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [5]  |  Tracked by:
"Rockford Lhotka - A book I wish was ours" (Jim Minatel's Wrox Book Editor Blog) [Trackback]
"Interesting Finds" (Jason Haley) [Trackback]

Tuesday, August 09, 2005 10:59:54 PM (Central Standard Time, UTC-06:00)
Awesome news Rocky! I have already learnt so much from the first book. I can't wait for the 2nd edition.
Wednesday, August 10, 2005 7:46:54 AM (Central Standard Time, UTC-06:00)
Rocky, I was wondering if CSLA can handle many to many relationships out of the box?
Wednesday, August 10, 2005 12:06:59 PM (Central Standard Time, UTC-06:00)
Rocky, this is great news! Can you elaborate a little on your statement "CSLA .NET 2.0 will use generics - primarily for collections"?

Chris
Chris Russi
Wednesday, August 10, 2005 12:14:42 PM (Central Standard Time, UTC-06:00)
Hi Rocky,
Another thing ... I have been trying to "guess" what the subject matter of your OTHER book that you're working on (mentioned in your personal blog) ... your recent response to me was
"Chris, it is not an O/R framework - nope - totally different. Doesn't even involve creating objects really. I expect it to be a shocker :)" ... ok, now I am totally intrigued AND puzzled ... can you AT LEAST give a hint :) I know you like Sci Fi and Westerns, but THAT couldn't be it! Just a hint?

Chris
Chris Russi
Wednesday, August 10, 2005 4:05:23 PM (Central Standard Time, UTC-06:00)
Ben, the trite answer is "sure". The real answer is that it isn't a function of CSLA .NET, but rather of your object model. There are well-understood patterns for modeling relational many-to-many relationships as a set of classes. CSLA supports those models, but it is really your object design that matters.

Chris, regarding generics - I'll elaborate in the book of course :) For now I don't know what to say exactly. I'll still be illustrating an inheritance-based framework, and the use of generics will be mostly inside CSLA .NET itself. In other words, you'll still create your business classes by inheriting from a base class - but that base class may use (or be) a generic template.

And finally, the "other book" is on .NET and I have Billy Hollis co-authoring with me. Maybe that's a good clue?
Comments are closed.