Legacy systems support - VB6 and more
Many clients contact Mintec Systems requiring support of a legacy system. The term 'legacy system' really relates to any system that has been developed in the past and is no longer a mainstream language. Often the client had invested a significant amount of time, money and effort into the development and maintenance of these systems. More importantly, their business operations and activities are reliant on the ongoing correct operation of this system.
Problems arise when the existing support is no longer willing or able to continue to support the system. Perhaps the existing support is just not as good as it used to be. The options facing a business in this situation can be fraught. In a changing environment systems need to keep pace with the changes. The options for the business are:
- To continue with the existing support
- Undertake no support at all
- Select a replacement system
- Find a new organization to support the system
It can be difficult to find organisations that are capable and willing to undertake support of these systems.
Before an organisation can make a decision about these options, there are a few questions that they should ask:
- Does the organisation own the system?
- Is the organisation able to access the source code?
- Is the source code the correct version for the system that is running?
- Are there any third-party libraries that are critical to the system, and are they available?
- Is the database structure/procedure available?
- Is there any documentation about the function of the system?
- Is it stable?
- What is the cost of not performing any support?
- Is the current supporting organisation willing to handover knowledge?
The answers to these questions will determine the options for the organisation.
The easiest solution
The easiest solution is if the current organisation is willing to handover to another organisation. There can then be a couple of run-throughs of the system and the structure. Developers can discuss where the various versions are and tie them in with the libraries and databases. There is still a chance of problems arising but in general the problems will be very small.
Source Code (Basics)
Computer applications are developed by programmers in source code. This source code is compiled into machine code to run. There are variations on this; some applications are scripted, some are run as interpreted language, but usually the applications are compiled.
To support an application a developer needs the source code to see and understand what is happenning. Without the source code it is a much more difficult task, if not impossible.
To complicate things, there is often source code within databases called stored procedures. These are often just as important to the correct running of a system as the source code.
If an organisation has the source code, it must be the same version as the current system. Developers make changes when supporting a system. If the source code is old, these changes may not exist in any recompiled system. This may be a minor issue or a major issue. The solution may be to redevelop the changes.
Developers will often use third-party controls and libraries. An example of this might be a calendar control. This is a standard operation, it is reasonably complex to have it operate correctly and there are lots of libraries available that make it easy to deliver a polished screen. The problem is that in trying to support the system, the same libraries must be available. Normally this is not a big problem but it can cause difficulties.
Source code language
Source code is a complex area in that there are many, many different languages. For each language there are often many versions. Mintec has experience in many languages. There are many that we might need to learn to be able to provide support, but this is not like learning a new spoken language, it is usually much more straightforward as most languages have similar constructs and architecure, but there are some that can be difficult.
Some of the languages that Mintec has experience with include:
|ADA||JAVA||RUBY on RAILS|
There are many other languages that we are also familiar with.
Ownership of source code
Developers will often say that the source code is their intellectual property and will not hand it over. Mintec's attitude is that because the client has had the system developed, they should at least have the right to a copy of the code with which to maintain their system. Often Mintec will supply full ownership.
Mintec has helped many organsations identify how support can be maintained and extended on legacy systems. Normally we would start by assisting the customer to answer the questions set out in the beginning of this page. We can test whether the code does exist, whether it is the correct version and whether there are additional libraries. We can assist the customer in identifying what the shortfalls are and what the cost would be in overcoming those shortfalls.
If you are considering your support options, contact us and we will provide a free review of your situation.