I started working on a legacy system that uses CSLA 1.53. I am attempting to upgrade this to the latest version and having a bit of a hard time. The old version runs ActiveObjects, Observer and has a few modifications to the CSLA base classes. I am having trouble upgrading mostly because of the use of Generics in the new versions.
Has anybody else attempted to upgrade from such an old version that could advise me, or do you know of any documentation on this task?
That's a big leap, and as much as I try to provide backward compatibility in the framework, the reality is that you are moving forward in time about 5 or 6 years in one leap
I suspect your best bet is to re-implement each business class. In reality you'll not only need to move to the generic base types from 2005 (version 2.1), but also the new property declaration (version 3.5) and rules engine syntax (version 2.1), as well as the child data portal and automatic child object management from 2007 (version 3.0).
At the UI level you'll probably need to deal with the tighter enforcement of data binding rules (version 3.0) that ensures you don't have obvious bugs in your data binding code.
I'd love to have a light and fluffy answer for you - but the reality is that the codebase is 6 years out of date, and a lot of things have happened - both in .NET and in CSLA - over that time.
Thanks for replying. That's unfortunate but not unexpected.
There are something like 200 'business objects' so it's probably not going to be practical. If anyone has succeeded at this task please get in touch
If it is in your budget, Magenic can probably help provide resources to port a couple hundred objects in a relatively short amount of time.
We are converting from 1.3 (with some customization) to 3.8.3 as well. Our 1.3 version was re-complied to Framework 3.5.
CSLA .NET 1.x was a very lightweight framework designed to do two primary things: support data binding and implement the data portal. CSLA .NET 2.0 and higher is a much more comprehensive framework, offering business, validation and authorization rules along with direct support for each UI technology that has come along since 2004 (WPF, Silverlight, ASP.NET MVC, WP7, Windows Workflow, etc).
CSLA .NET 3.6 and higher offers substantially reduced coding compared to previous versions, usually shrinking the amount of code per class (BusinessBase or ReadOnlyBase subclasses) by over 50%.
CSLA .NET 3.7 and higher offers multiple data access options, enabling the use of different types of data access technologies or data access design patterns. It also extended the data portal to support asynchronous behavior, as well as extending the business rules subsystem to support asynchronous business rules.
CSLA .NET 3.8 implements a variety of features around WPF, Silverlight, ASP.NET MVC and .NET 3.5, including providing support for the popular MVVM design pattern.
CSLA 4 and higher supports the .NET 4, Silverlight 4 and Windows Phone 7 platforms, allowing you to build business classes that are the same across all three platforms. It also provides a completely redesigned business rules subsystem that is far more powerful and flexible than the 2.x-3.x subsystem.
I wouldn't assume that. It depends very much on what kind of customizations and their complexity. It would be pretty silly for anyone to make such an assertion without knowing any specifics :)
If you would like to dive to this level of detail please let me know, and I'll get you in touch with someone in Magenic who can work with you on estimates and so forth.
RE: 3) Sure, I'd like to improve my estimate for the conversion and possibly consider Magenic. I'll bring it up to my boss. In the meantime the help with better estimating is greatly appreciate it. We came up with our numbers but it would be good to speak to someone who may have already done it.
I brought this up to my boss and we would like to consider a bid from Magenic for our project. Please have them post the ph# to call or email or should I just go straight to email@example.com?
Copyright (c) Marimer LLC