Embedded Control

What to do when it's time to update legacy technology

Legacy isn’t new, but there will come a time when the inevitable upgrade will be a must.

By Jeremy Pollard

Well, it’s official. I am obsolete.

Here’s the dish.

Legacy kills; of that I am sure. Dealing with technology from 1980 onward puts you into the sausage machine. You know that thing where you start with a huge funnel opening and then, as you go toward the casing of the sausage, the funnel gets increasingly smaller until you are trapped in that casing never to be seen again.

See my face?

With one customer, I have been caught in the technology of legacy. I develop for PLCs, HMIs, SCADA and vertical applications and have kept up with as much technology as I can. I must admit that this customer has not.

It’s not my fault, but the result of that decision is now my responsibility. I have to create and redevelop for the current ages.

I developed vertical applications for many customers using Visual Basic (VB) Classic in the late 1990s, and, since these are applications that rarely needed to be changed or updated, the legacy card didn’t get played. Now, one customer’s site is closing in three years, so no bother, right?

Right. But other customers, not so much.

Then the disturbance. “We are migrating to 64-bit technology.”

I said, “Pardon? What does that mean for these existing applications?”

Google to the rescue! And I didn’t like what I was reading. There is no question that my Visual Studio upgrade was directly in my windshield. Trying to get VB Classic applications running on 64-bit platforms is an exercise in insanity. Even simple Excel VBA routines can cause issues, which they did.

Also Read: Visual Basic for Applications Lets OEMs Connect Control Systems

So, Houston we have a problem. What to do?

The impression I had was that the customer needed to perform the upgrade right now. Oh, the pressure.

There were more than 350 current job openings for people who can do VB Classic development.

Why the immediate change? The existing platform was Windows XP, and, with Microsoft removing support for the OS, a move to a modern operating system was important.

When I asked why, the answer I received was that I needed to upgrade the legacy applications so that they work, which really meant it needed to happen now.

I immediately thought it would be no problem. Upward compatibility isn’t an issue and the migration will take some time and effort but will be successful, and I have the tools and experience to do it.

Well, maybe. It isn’t as easy as it sounds.

So, this isn’t to say that it can’t be done; but it is going to take some energy to apply the rules of a 64-bit system to a 20-year-old application. This isn’t new.

In my surfing, I discovered many interesting things. I was floored to see that there were more than 350 current job openings for people who can do VB Classic development. The main reason for this is that there are more VB Classic applications currently running in our world than you can count, and they need support.

Microsoft has come out with a statement indicating that the VB Classic development environment will install and run on modern desktop operating systems, so you don’t have to make the transition to .NET if you don’t want to.

While I don’t know what changes vendors had to make to their VBA scripting, such as the object model for Rockwell Software’s programming platform, or RSView, or Wonderware’s scripting, or maybe they didn’t have to, which leads me to the reasons why things won’t work.

The main technology that is employed in VB Classic is ActiveX. There are many ActiveX controls out there from many sources, and they all have to be tweaked in order to run on current platforms, depending on which functions they use and how they call these functions in their controls.

If they don’t use the right syntax, then it will fail.

Based on my experience I decided to move my one customer to Windows 7 32-bit to start with. I installed the development environment onto a virtual machine partition without too much fanfare. When I went to install a test application, Windows 7 blew up. This was surprising.

Even when I tried running some applications in the development environment, the result was instability.

I have put off this exercise for a few weeks, but I know I am not alone. Heck, even Intel is complaining that the move from XP to a more current OS has slowed its sales of higher-powered processors needed for the new age.

Legacy isn’t new, but there will come a time when the inevitable upgrade will be a must. I would strongly suggest planning for it now, so you can ease your way into it. The future is lit with support agreements and upgrade paths. I even had to upgrade my accounting software since my accountant could no longer read my data file. More rush.

Maybe a total rewrite is in the cards, but, regardless, it’s best to be part of it on your own terms.

Main image courtesy of cooldesign at FreeDigitalPhotos.net