Hello Stan,
I'll answer some questions inline.
This post is mostly for discussion. Why rewrite in .NET? Just a general
discussion not related to any specific details. I was just looking to see
what reasons developers are looking to, to help decide whether they should
rewrite their app in .NET.
What are the trends being observed of Microsoft when it comes to .Net?
Generally Line-Of-Business apps were being rewritten in .Net before larger
system apps. New app development has moved substantially to .Net, although
there are some folks still developing new apps in older technologies. Now
that SOA apps are gaining in popularity, a proliferation of
web-service-based apps/services are emerging, largely in .Net because it is
so much easier to develop and debug them there.
How much longer will COM objects live on?
I'm not in the product groups, so I cannot say. I don't believe that COM is
going away any time soon. However, with the flexibility of WCF, I'm not
sure that COM is the first choice I'd jump to for new components that I wish
to share and manage.
How stable is the Framework?
Extraordinarily stable. Probably the most stable chunk of software that
Microsoft has ever produced.
If the goal is to maintain a software package for the next 10 years, would
that make a differnce on the decision?
Nope. In 10 years, you will change technology twice. When you change
depends on you, not on the technology available at the time.
What if a rewrite would take approximately 2 years, would that affect when
you decided to do a rewrite?
Nope. See above. In Microsoft IT, we tend to replatform apps once every
four to six years.
Are their any security benefits?
Yes, but it depends on what you are doing. Normally, when folks rewrite,
they are also adding features and often changing the architecture of the app
to meet newly understood requirements. The new architecture will have a
greater impact on security (in a good or bad way) than the language or
technology.
I am looking for opinions, but also links to facts that can help support
your case. I'm hoping this can become a good discussion.
Thanks
To the core question: why rewrite in .Net: Because you want to add features
to your app, and you want to update the architecture to meet new needs, and
you want to maintain it for a while, and your developers know, or want to
know, new technologies. All pretty typical reasons. I don't normally
advocate rewriting for the sake of rewriting. On the other hand, if you
have an app that is eight years old, it probably needs updating, because the
requirements were gathered nine years ago, and no matter how good your
analysts were, unless they were good at predicting the future, your app is
missing some things that you need to add.
If your app is two years old, I'd be curious about why it isn't in .net
already. The platform has been out for many years now.
If you don't think the needs are going to change for a while, leave it. The
older technologies aren't broken. They are just technologies. All
technologies change. That shouldn't be a reason, by itself, to change your
app. Change your app when the requirements change. Use fairly new
technologies each time. Simple as that.
--
--- Nick Malik [Microsoft]
Enterprise Architect
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--