A .Net 2.0 Migration Strategy?
An anonymous reader asks: "I work for a large organization where we use .Net 1.1 as our sole development language. We have many frameworks, applications and web sites that are developed in .Net 1.1, and these developments are by no means trivial since they are the result of an IT department of over 300 people and 2 years of development. It is my responsibility to develop a strategy to move to .Net 2.0, this includes the existing applications, new developments, integration, QA, live and development environments. Does any one have any experience in this (preferably at this scale) and can any one recommend any reading material that would help?"
I do have experience migrating several smaller .net 1.1 apps to 2.0, but nothing even close to this scale. I will give you as much information from my experiences as possible, and hopefully it'll be of some use to you.
a milyID=7cecd652-fc04-4ef8-a28a-25c5006677d8&Displa yLang=en
The WinForms upgrade wizard worked pretty much flawlessly for each application I converted over, the trickiest part was setting up Source Control, and it was more of a problem with the source control solution we used (SourceGear). Good source control system once it's setup, but a real pain in the ass until then. There were 3 or 4 fairly large projects and a ton of small ones that all converted without a problem.
Not sure if you're using the web stuff or not, but that was where I had the most problems. The Web upgrade wizard is far from perfect. You should at least install the latest version of it from: http://www.microsoft.com/downloads/details.aspx?F
That version has fixed several issues I had, but also seemed to introduce a few new ones (or it was a cascading problem, that resulted in different errors when the originals were fixed). I've had to do a lot of tweaking on many aspx pages to get it to find the Code Behind and there were a couple projects that I had to re-assign all my event bindings with, for some reason, although that was with the old version of the conversion wizard so that is probably fixed.
If SQL is being involed in this upgrade procedure, that was a much harder process to get migrated. Tables, Views and Stored Procedures migrate fine and the Reporting Services reports migrated over.. ok (though VS2005).. but the HUGE hassle is analysis service, if you use that, don't expect it to migrate very easily. DTS stuff was pretty easy to migrate over.
Anywhere, theres my memory dump. Hope that helps in some way.
Not to plug my own work, but I recently posted an article that touches some on this topic. You can find it here: http://www.blognet.info/weblogs/entry.php?u=adhale jr&e_id=1560.
I hope it helps someone...
Donnie
Side-by-side installation hasnt been a problem either. Both frameworks can co-exist, with a few tweaks here and there. The language (C#) has gotten a bit nicer. More shortcuts, faster development, and overall superb IDE support(VS.NET 2005). The deprecated features have been done for a reason, and overall the changes make sense. While the performance is a bit better, I dont know if its enough to make a business case. If I can, I would wait a bit more, till a Vista release; especially if I'm doing WinForms apps.
I have C code both in production and development that's over 10 years old at this point
As I programmer myself, I realize you're talking about code that's pretty self-contained and algorithmic in nature.
Other coding projects, though, need to interface with hardware and other commercial software (like databases) all of which evolve over time... and if you want to take advantage of any new advancements they might provide then your code will have to evolve as well. Sometimes you don't even have a choice (a database company might drop support entirely for an old package) so updating code is part of the job.
Take graphics, for example... programmable shaders were practically unheard of 10 years ago, but they dramatically speed up some type of graphics applications. I've recently "dusted" some great opengl code I wrote in college. It still works, but I upgraded it to use some new 2.0 features and it's much faster now
I have a web app (about 4.5Mb of raw source) which was ported from .Net 1.1 to .Net 2.0 and SQL 2000 to 2005 at the same time. Process I used:
Note: I don't use Visual Studio. I develop with Textpad and editors as most porting problems are to do with Visual Studio.
- Create SVN branch.
- Move build scripts from Nant to MSbuild
- Move web forms to new code behind model
- Build and run unit tests. Fix any incompatibility warnings (mainly System.Configuration.ConfiguraionSettings has been moved to ConfigurationManager)
- Move nasty collections to Generics and adjust test cases.
- Build and run unit tests. Success.
- Alter deployment scripts in MSbuild.
- Test deploy and run tests
- Deploy to live.
IT'S EASY IF YOU BUILD YOUR SOFTWARE TO BE UPGRADED. This is something that most companies do not do.
Took 6 working days in total with ONE developer.
I am a proud owner of the latest Delphi 2006. I love Delphi, and have used it for years. It is possibly the best RAD develoment environment for windows.
.Net is out of the question still.
You, however, are clueless.
#1, delphi cannot compile CLR 2.0. The next release called 'Highlander' can, but wont be out for almost A YEAR. Also, Borland is in the process of selling Delphi, so it may be even longer. It also cant do the compact framework (yet) so mobile
#2 VCL is NOT on 'virtually all other platforms'.
VCL on Linux? Wrong. If youre thinking of Kylix, CLX is not VCL, Its close, but you cant cross compile. Its Trolltech QT based like KDE, and recent distros wont even load Kylix now that theyre 4 years out of date.
FreePascal? FCL isnt VCL either. Sure, sysutils is there, but none of the popular widgets are.
Lazarus? Just a wrapper around freepascal.
OK, now that linux is out of the way, what other platforms are there? Old Mac: nope. Apple OSX:nope. Solaris:nope. Free/Open/Net/BSD:nope.
#3 "write once, compile per platform" ? WTF are you thinking? No version of Delphi I have ever used have targeted anything other than the version of windows youre running it on.
dude, I love Delphi too, but quit spreading lies.