Having an old software system isn't the end of the world!
Phil Spilsbury, Esq.
?????? Veteran Programmer ?? Building TextZformatter & zubbit.io and more ?? Passionate about AI ?? | Indie Games ??? | Tech Enthusiast ?? | Living with MS ??
Having an old software system isn't the end of the world, there are still a few tricks you can do to give it a new lease of life ??
On a recent project we took an older .NET application and plugged a new front end on it to allow it to work smoothly on mobile devices leaving the existing legacy .NET system under the hood.
The client is a Software company who provides a HR (Human Resources) system to some very large tier-one/plc and UK Public Sector clients. The system itself is functionally rich but has been around for a while and in terms of technology it was using 20 year old VB technology and architecture. The client had procured more work for a national project for a Public Sector client which required the application to work on mobile devices of all shapes and sizes. So the problem was that the current system as it stands could not cope with this and also the architecture was not really created to accommodate either a mobile web app or native app front end.
The new mobile web application needed to work on all mobile devices, web browser types and needed to support tens of thousands of business users and be designed in a very intuitive way so either none or very limited training and support was required by its users who on the whole were temporary staff just hired for one major project and use of this software.
The client itself didn't have the resources in terms of people or the skills to handle the project. It required a team who could work with both the old and new technologies to design and product a solution. So that was the challenge!
Our Solution
The options for a solution were limited to two directions only which was a complete rewrite, which would be a massive undertaking in terms of the time available and also the cost. The other direction, which is the one we took, was to produce a hybrid system which utilised a modern front end which could work on mobile devices but also still work with the older VB on the back-end.
The application had never really been built with a mobile front end in mind and has it pre-dated the mobile age then that was no surprise, but it also pre-dated a lot of more modern thinking in the way we layer and architect systems these days. So the up shot was that the code for the User Interface - which is what we needed to replace - was very tightly coupled to the business logic and data access. In a modern system these would be decoupled to maximise reuse and maintainability and lower costs..
So the way we approached this was to first up create a modern user interface using HTML5, JavaScript and JQueryMobile to let us build a modern user interface which not only looked great but would also work on any mobile device regardless of size and operating system and web browser types.
Once we had designed and built the user interface we plugged it into a temporary PHP web service and database so we could test the User Interface out and let the clients take a look and make sure it fitted the specifications.
The next challenge was plugging it in the existing VB back-end code. As I said the back-end had been built in a way that both the business logic and data access code had been mixed up with the user interface code and it was tightly coupled with a VB user interface. so practically the code was unusable. So what we did was to create a new set of reusable code classes from the existing code which could be used by the new user interface but also a native mobile app if they ever wanted to build one. It also then allowed for the existing web screens to be refactored to use the new reusable code.
The Result
The new designs, user interface and mobile web application was accepted by our client and has breathed a new lease of life into an older product without the costs of of a complete re-build.
So if you need to upgrade then get someone in who can work with the old and the new and come up with clever ways to integrate the two.
When it comes to upgrading Legacy Software applications we've got it covered so ping me if you want more information or head on to our website at TCF Software.