There are a lot of written and discussed reasons to migrate off your outdated desktop applications such as Visual Basic, PowerBuilder, Delphi, ASP / VBA, older Java versions and other older desktop platforms to modern platforms – to mentions just four of them:
- Out of support languages such as Visual Basic and PowerBuilder
- Integration and communication with new technologies and databases is a challenge
- Diminishing skillset for these older languages as developers retire or move to modern languages, which results in a growing difficulty to hire developers
Organizations realize: sooner or later – and sooner seems to be the better choice – they will have to say good bye to those oldies and move on to modern platforms.
Where should we go?
That depends on what kind of applications we are talking about and what the organization wants to achieve by migrating.
In most cases the goal is moving to modern cloud and web platforms for higher efficiency and to provide modern user experience with multiple devices. If that is the case, the next related dilemma is how to move the desktop applications to Web or Cloud:
- What are the deployment and usage options? Web, IaaS, PaaS or SaaS are all deployment models that mean to facilitate a cost-efficient modern deployments.
- Is the application in question a core business application? Namely –
- o An application that sometimes holds the IP of an organization
- o An application that is significant to the user productivity or the user experience
- o An application with a long life span that will require long maintenance, changes and modifications to the application
What does it require?
In most cases moving desktop applications to Web or Cloud platforms will require some level of rationalization and re-engineering.
- Outdated languages have to be converted. To name but a few – Visual Basic, PowerBuilder, Delphi and many others are unsupported by modern platforms (or will be unsupported).
- Moreover, many of the applications that are based on outdated technologies are impossible to use on Web, PaaS or IaaS Cloud phones and tablets as is, not to mention the high costs of supporting outdated infrastructure. Therefore they will have to be reengineered.
- Another challenge is almost always the outdated user interface which has to be updated.
- Security risks would be another issue with desktop applications that are moved to modern platforms due to using legacy desktop technologies. There are many holes in the architecture itself which have to be dealt with.
Hold it – re-engineering? Is that really the only way?
Up to now most of the application reengineering has been done manually, using variety of acceleration tools – which is never easy. It is a human error prone process that in most cases ends up in dramatic time and budget overrun.
A major challenge of this manual process presents itself before the organization even begins the actual rewrite. It starts with far more basic issues – how to recapture the business logic and rules? Or the piles of debugging and updates that were introduced during the decades of application maintenance? In most cases there are no documentation and the developers who originally wrote these applications are not available.
So how can such process be simplified and made easier?
For migration efforts where the source application is based on open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways – resulting in a simpler, more complete solution with better code quality without additional manual-based work:
- For these source applications, advanced vendors like GizmoxTS are able to add semantic data and understanding to the AST, such that it becomes a much more holistic and complete representation of the application, its class structure, the data components and the UI.
- With this holistic approach, as well as advances in virtual compilation, it is becoming possible to perform true continuous compilation of the application while it is being converted and modified, and before the target is complete.
- These new tools have huge implications as they enable an IDE which is driven by complete code understanding and the continuous compilation process. The IDE experience can include errors, warnings and messages produced by the virtual compilation engine, continuously guiding the modernization expert and also showing the gaps to completing the project.
- This type of IDE is enabling in turn a modernization approach which is completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.
The bottom line is that it is now possible and easier to modernize with confidence large and complex desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud and with a mobile experience baked in.
- The resulting tool-generated application will have functional equivalence with the legacy desktop application, and will be expertly architected in accordance with the best practices of the target platform and language.
- Reducing the need for manual work makes the process easily repeatable and with a significantly lower number of issues remaining in the target application.
A good example: VB6, MS Access & .Net applications to Web at AIG
Gizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications. The main challenge AIG was facing was of moving to the web while retaining their IP, i.e. the significant investment in business rules and logic. By using advanced patented code understanding and unique continuous compilation technologies, Gizmox Transposition is able to re-architect this diverse legacy inventory to a well-written, maintainable and readily available for re-development set of applications adhering to industry standard best practices on AIG’s platform of choice.
Gizmox Transposition’s modernization technology is a prime example of the newly available possibilities of a quality migration technology enabling enterprises to move their core applications from the client/server world to high quality web systems while retaining the decades-long investment in their business differentiators.