Still relying on desktop applications such as Visual Basic® 6, PowerBuilder or older .NET and Java? It is high time to consider migration to Java or .Net Modern Standards and Web or Cloud.
What's the rush?
- The main reason: the cloud, web or mobile era awaits no-one – and neither should you.
"The idea that you should wait until you're ready to update a legacy application before moving it to the cloud is frankly crazy. With portfolios of hundreds or thousands of apps, CIOs must take advantage of the economies of scale web, and cloud computing delivers". As our esteemed colleague already wisely observed a couple of years ago, "the startups gunning for your customers aren't being held back by legacy desktop applications – they have new applications that were written yesterday".
- Several technical reasons to upgrade: Increasing legacy maintenance costs because of hard to find legacy developers, lack of support and hard limitations in integrating and communicating with new platforms, standards, and technologies
- Eventually, all reasons create a major reason to be reckoned with: Business. Migrating applications to the cloud will dramatically reduce expenses as well as time to market, while increasing productivity, elasticity, and mobility. Essentially, the cloud offers your ample business benefits that you cannot afford to forgo.
What are the challenges?
Legacy desktop applications once had many advantages that over the time have become their flaws. Let's focus on three significant inherent challenges, in a nutshell:
- First and foremost: Your application was written to work as monolithic on-premise desktop application and to run on Windows, using the decades-ago popular then languages, expecting to run as is on modern web or cloud is the least – being too optimistic.
- Its user interface was written for a desktop screen and in most cases will not fit well in web cloud or mobile.
- It was protected as many behind the firewall applications – which is almost not at all, so it should be adequately protected to move out of the firewall.
Now when moving your desktop application to web or cloud, various technical challenges emerge, to name just a few of them:
- It should scale up and down to serve multiple users just as any well-written web/cloud application does
- It should have a safe thread to serve multiple users simultaneously
- It should have a new user interface to enable remote secured accessibility
- It should perform well over the network to enable remote and distributed multiple transactions
- In most cases nowadays it should be effectively accessible from multiple devices that your users might be using, including small and touch mobile screens
- Your application accessibility and data must be secured as it moves out of the firewall
It is a bit like expecting a horse with a single rider to now serve multiple riders at the same time, to be as fast and all that in different locations. Sounds impossible, right?
Now with the new transformation tools and methods, it is possible!
Why not rewrite it all from scratch?
That'd be the instinctive response of any good software developer when facing such challenges: The application code needs refactoring, and the application needs to be re-engineered to overcome such architectural changes – let's rewrite from scratch. In most cases, the developers who recommend manual rewrite are conservative, unaware of the risks or simply unaware of the new technologies and the evolution of new technology transformation tools and methods around. This unawareness is a blind spot that might eclipse the very future of your enterprise.
Resisting that developer instinct is hard, but the blow that is coming for outdated legacy applications could be far more difficult. Maintaining them will expose you to rising risks, as well as rising costs. The vast majority of manual rewrite projects eventually fail to make the budget, schedule or user requirements.
So is there a sane alternative to manual rewrites?
Now there is. Here is how it works:
For migration efforts where the source application is based on an open-systems based OO language and frameworks like Visual Basic, PowerBuilder or ASP / VBA, it has become possible to enhance the AST based approach in several ways, resulting in a complete solution with better code quality without additional steps.
For these source applications, advanced vendors 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 a virtual compilation, it becomes possible to perform a real continuous compilation of the application while it is being modified, and before the target is complete.
This has huge implications as it enables 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 entirely tool based, highly automated, and also highly open to expert architect input, modification, and improvement.
An automatic path for VB6, PowerBuilder or Java and .Net systems to the Web/CloudThe bottom line is that it is now possible to modernize with confidence large and complex on premises desktop Client/Server applications based on Visual Basic, PowerBuilder, Java and .NET and possibly other similar environments, to the web or cloud with a mobile experience baked in.
The resulting tool-generated application will have functional equivalence with the legacy system and will be expertly architected according to the best practices of the target platform and language. The reduction needed for additional steps (which were required for procedural program modernization and were usually manual) makes the process easily repeatable and with a significantly lower number of issues/bugs remaining in the target application.
Case in point: VB6, MS Access & .Net applications at AIGGizmox Transposition is working with AIG on migrating core business applications from various legacy platforms to ASP.Net MVC web applications. The primary challenge AIG was facing was 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 can 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.