Upgrading Hardware For Legacy Software – OLD – Applications
Recently I had a new client contact me regarding a legacy time matters installation. The client was running Time Matters version 7 and had no intention of upgrading to a newer instance. I will not venture into the why, however I am sure this is a situation that many Time Matters users have recently been faced with. The client had noticed in recent months that the application had slowed down significantly and that automatic relationships between records were being lost at an alarming rate. Upon inspection, running database maintenance seemed to do little to rectify the issue. After speaking to the client and staff we began to narrow the source of the issue to an upgrade which had occurred six months prior. In an attempt to speed up the application it has been recommended that the client upgrade hardware. As such they purchased a new server complete with Windows Small Business Server 2008. While the issues were not evident immediately, over the course of about six months application hangs and crashes, coupled with corruption in the relationship tables of the database began to rear their ugly heads.
I’m writing this article because this is an extremely counterintuitive subject for the lay user. We all think “Hey the application is slow, lets throw some fast new hardware at it that will do the trick,” and in regards to new software this is often a valid solution (although often not the best way of addressing the root issue). However, when you’re dealing with legacy installations such as Time Matters 9 (TPS version) and prior – or any legacy software for that matter – you have to step back and look at all the contributing factors. Prior to version 9 time matters data was stored exclusively in .TPS files. (You can think of TPS files as the equivlent to a SQL table in the Clarion world.) This format was popularized by Top Speed CLARION in the 1990s, and was an easy way to quickly program and deploy data-driven applications. To a certain record threshold (data scale) it performed this task rather well; however, we are in a different age and storing data in TPS files has fallen out of vogue. With the advent of so many powerful free database platforms such as Microsoft SQL Server Express Edition, Oracle Express Edition, and mySQL, many software developers now frown upon storing large record sets in flat data sources. (This is one of the major issues with QuickBooks in case you’re wondering why that is such a headaches).
What does this mean for the end-user?
Because the emphasis has shifted away from this type of data storage operating systems, hardware, security patches, .dll files, and just about anything else you can think of on your computers and servers do not take this type of data storage in to consideration. What this means is that there are major conflicts between simple things such as the file system structure protocols on a modern operating system that can cause significant corruption in flat data sources. The exact problem is a protocol known as opportunistic locking to become the default after Windows server 2003 and Windows XP. Another known culprit, is again something you would never expect. Also, modern antivirus program (Microsoft Security Essentials in specific) are known to cause corruption in flat data files such as the TPS format. In addition, patches, hardware drivers, .dll files have not been upgraded for these technologies in over a decade. And these are just the known issues, I am quite certain that there are a host of other issues that are either very rare or have yet to bubble to the surface.
So what’s the take-home point ?
You have to keep in mind that the hardware and software compose a highly dependent relationship with one another. If you’re going to run legacy software, you have to tread very carefully when you go to perform upgrades. If you do intend to upgrade, perform extensive testing to make sure that the platform you’re moving to will support your legacy applications. One good way of doing this is setting up ‘FREE’, yes free virtual machine (using VMware player or Windows Virtual PC or Sun’s(Oracle) Virtual Box) with the trial version of the OS you intend to use and testing your applications thoroughly. And I do mean thoroughly.