BLOG

Welcome to the new Gizmox Transposition blog. We will be using this space to share perspectives from the Gizmox team, comment on industry happenings, discuss how to get the most out of Gizmox products, and generally check in. User feedback is greatly appreciated and we will do our best to respond promptly. Hope you enjoy…

Application migration (like VB6 or PowerBuilder) to Web and Cloud, Made Easy

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...
timetoupdatevb6powerbuilder

Why bother?

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
Bottom line:  dramatic increase in costs and challenges in maintenance, integration and communication with new technologies and databases.

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 do we need in terms of user experience, application performance, data security and devices support?
  • 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 
When regarding an application that is a core business application – the best option for business applications would most probably be a PaaS Cloud or IaaS as a stepping stone towards PaaS.
 

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.
Now there is a clearer path for VB6, PowerBuilder or .Net and Java applications to the Web/Cloud

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.
Application migration (like VB6 or PowerBuilder) to Web and Cloud, Made Easy

Migrating desktop applications to the cloud can now be faster than ever – here's how!

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.

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.

 

Untitled design 3.jpg

 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
In other words - your desktop application must become a web application that runs on Cloud preferably as native PAAS running.

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/Cloud

The 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 AIG

Gizmox 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.
Migrating desktop applications to the cloud can now be faster than ever – here's how!

Shall we revive your dying desktop applications?

Let's face it: The new web and cloud era poses a challenge as on prem, desktop core business applications like those written with Visual Basic, VB.NET, PowerBuilder and ASP / VBA that will not deploy as is on web or cloud platforms are nearing their end of life.
Let's face it: The new web and cloud era poses a challenge as on prem, desktop core business applications like those written with Visual Basic, VB.NET, PowerBuilder and ASP / VBA that will not deploy as is on web or cloud platforms are nearing their end of life.
Happy birthday

Many of those on-premise, desktop applications are written with the RAD tools of the 1990’s – like VB6, PowerBuilder, ASP / VBA or even desktop Java or .NET  – are becoming outdated.  The reasons they need to be upgraded are varied – end of vendor support, a shortage of experienced programmers, and increasingly, the need for a distributed web accessibility, opening up to mobile, and possibly a requirement for more cost-efficient and scalable  Cloud infrastructure.


What's an IT department to do? 

The traditional solution would seem to be manual rewrite:  analyze your outdated application, write a spec select a new modern platform as well as language and delivery model. Put in the required manual work, take the risk of running well over budget and time – and then you might deliver to your users the system of their dreams.

But before you do all that maybe at the first all hands meeting a voice, perhaps of someone who has seen some large projects in his or her time, will ask – how are we going to write the spec?  Who knows exactly what it does today?  Who has the full structure of business rules embodied in this bunch of code? A real challenge, right?

And that's exactly where new methods and tools enter the picture.

What would be a practical solution?

The modern technology transformations require innovative solutions to keep a steady pace with the progress. Take for example GizmoxTS Automated Rewrite: It is a new patented complete code understanding and transformation technology that builds a full intermediate representation of the source application from which it can re-create the original business functionality on a new platform and in a new language of choice.

Let's dive into detail:

  • For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways – resulting in a more complete solution with better code quality without additional manual steps.
  • 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 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 completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

What about code quality? 

The Automated Rewrite will provide the highest code quality for the target platform – be it Cloud, Web HTML5 UI, Mobile or any other platform of choice.  The target application standards are customizable to best practices both in aArchitecture and in code quality. The GizmoxTS Automated Rewrite will deliver the highest quality because the target application is GENRATED, not TRANSLATED. GizmoxTS Automated Rewrite is able to incorporate the Microsoft static analysis standards for example, as well as MVC or MVVM architectures and modern data security practices.

What about functional equivalence?

The new application is generated from a precise internal representation of the source functionality, and is based on additional patented advances in virtual compilation – therefore the re-architected application will strictly adhere to the existing business logic.  In fact, GizmoxTS Automated Rewrite will use a current test suite if it exists to validate the Automated Rewrite generated code.

 

How customizable is the modernized application? Can one create a web service for example?  

In addition to the powerful code understanding and virtual compilation engines, GizmoxTS Automated Rewrite includes an IDE in which extensive customization is possible, for everything from the UI to creating web services from existing code blocks.

GizmoxTS Automated Rewrite can provide core business VB6, PowerBuilder on – premises desktop applications a new life on the web/cloud, standard ways to add mobile experiences and a well architected, and standards-based and maintainable code base, all without the cost and risk of re-specification or manual rewrite effort.

 

What about new web or mobile user interfaces?

 

Using GizmoxTS Automated Rewrite's IDE and standard development tools, the original desktop user interface might be rewritten into new, best practice adherence web or mobile user interface, including touch and gestures.

 

We are talking a critical mission application here – how could we minimize risks?

 

There absolutely is a way to minimize risks. In essence, the whole process of regenerating code is done by a machine, which is a risk reducer in itself. The machine-guided process eliminates the vulnerability of a manual rewrite practice which is human error prone process. Furthermore, the high efficiency of a machine-guided process not only reduces human mistakes, but also standardizes the generated code by using the same code patterns all over the generated application.
Shall we revive your dying business application? - GizmoxTS

Finally, desktop applications are automatically upgraded to run natively on Web or Cloud platforms

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder, Visual Basic but also in early versions of Java or .NET languages. Those are the desktop applications of today.

shutterstock 433057783


A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder, Visual Basic but also in early versions of Java or .NET languages. Those are the desktop applications of today.

New cloud platforms, new challenges
 

There are some challenges shared by both modernization paths, but there are also unique features, challenges and opportunities in either of them.  The robust code transformation solutions all share a common technological approach.  Vendors have developed solutions that parse source code into an intermediate representation. This representation is some form of an abstract syntax tree (AST).  ASTs represent the original program and logic, independent of its original source syntax. Vendors can then use language grammars, similar to those used by compilers, to generate new source code in the new desired language. 

The additional manual work has always been the challenge

A challenge for modernizing mainframe applications written in procedural languages such as COBOL, PL/1 or Natural to object oriented languages such as Java or C# is that additional steps are needed after the migration tool transforms the syntax.  These additional steps performed after the process, outside the tool, are required to re-engineer the migrated program to match the form of true OO programs.  Thus, restructuring a procedural program with shared working storage - a trademark of procedural programs - to OO classes and methods, requires additional effort, and may result in code with sub-optimal quality.

Finally, there is an enterprise level solution

For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways, resulting in a more 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, it’s 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 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 completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

An automatic high-quality path for VB6, PowerBuilder .Net or Java systems to Cloud

The bottom line is that it is now possible 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 system, and will be expertly architected according to the best practices of the target platform and language.  The reduction in the need 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 remaining in the target application.

Case in point: fast re-platforming VB6, MS Access, .Net applications 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 decade's long investment in their business differentiators.
Finally, desktop applications are automatically upgraded to run natively on Web or Cloud platforms

Modernize Systems of Differentiation to Innovate

Today’s IT must allow a fast rate of change for the business units relying on it.  Opening up the organization’s data and services has never been more important.  Systems of Differentiation based on VB6, PowerBuilder and other desktop platforms can now be modernized to make this possible.
modernize systems 1
Fast Innovation is a Must

Today’s IT needs to allow a fast rate of change for the business units relying on it.  Opening up the organization’s data for use in internal and out-facing interfaces has never been more important. Where once B2B was the goal, today the expectation is of support for an ever-expanding reach for the organization’s IT assets, in offering new services to new audiences, over more and more platforms.  Competition is forcing a very fast rate of change in these services, of which some will fail and some will succeed in engaging new and existing customers and users.

Systems of Record are Here to Stay

On the other end, many financial institutions, government agencies and consumer goods manufacturers still must rely on the systems of record that have been their IT backbone for decades.  They continue to rely on these monolithic systems because of regulation, because of reliability and because shutting down mainframe or even mini-computer based systems continues to be costly, and more importantly – very risky.  As a result, there are still thousands of centrally run, COBOL, PL/1 and RPG based applications smoothly taking care of financial transactions, government records and processes, industrial and engineering systems.  Many of them are not going anywhere in the foreseeable future.

Your Differentiation Systems Can Move Faster

In a partial response to this challenge, and as a result of the rise of RAD tools such as PowerBuilder, VB6, Delphi and then a little later .NET and Java desktop frameworks, organizations started to put their differentiating assets in desktop based client/server systems.  Insurance companies built sales and processing client/server systems in PowerBuilder where regulatory changes were easier to implement, banks replaced the green teller screens with VB6 thick clients to which they could add products and services making use of the basic objects in the systems of record, and government rolled out procurement systems to office desktops.

These systems are now holding back on the race to innovate.  They are difficult to open up to the web, almost impossible to expose on mobile, and both because of their architecture and because of developer shortages, they are difficult to add capabilities and services to them.

But their platforms and architectures make it possible to employ new technology and services to modernize and re-architect these core business systems to modern, open, well architected solutions on the web and the cloud, as we have discussed in a previous post <link to previous post>.  Unlike the mainframe based systems of record, these systems of differentiation can be redeemed and given a new life and new value.

Breakthrough: Advances in Client/Server Code Understanding

The unique technology for which Gizmox Transposition has been awarded its patent in 2016 is continuing to evolve.  The basic principal remains that of an intermediate representation of the source application in a graph like structure, from which the new application is re-architected, faithfully preserving business functionality and capabilities in a best-practices based native web application.  VB6, PowerBuilder, .NET and soon Delphi desktop applications can be modernized to the web and cloud.

Until recently, the stateful nature of a system designed for the desktop guided us towards a server based web/cloud modernization solution, namely the ASP.NET MVC framework.  But recent advances now allow us to dynamically split the original functionality between a client based on Angular and a server component based either on .NET or Java.  We will expand on this in a future post.

Lights On: The Innovation Based IT Ecosystem

Modernizing an organization’s systems of differentiation makes it much easier to expose data and services internally and externally through iPaaS platforms.  Other business units are exposed to what used to be departmental islands of IT assets.  Innovation cycles can be iterated through rapidly without needing to modify the core business processes.  VB6, PowerBuilder, .NET desktop and soon Delphi will no longer hold IT back, but the systems based on them will live on!

modernize systems 2
Modernize Systems of Differentiation to Innovate

Legacy Modernization is a moving target

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder or Visual Basic, but also in early versions of Java or .NET languages.
dart

A decade or two back, the Legacy application was usually a mainframe application (written in COBOL, IDMS/ADSO or Natural ADABAS for example) and the target was a Client/Server application written in Java, C++ or C#, designed to run on open-systems.  These days, the legacy application may well be a Client/Server application written in one of the RAD systems popular in the nineties such as PowerBuilder or Visual Basic, but also in early versions of Java or .NET languages.

New source & target platforms, new challenges

There are some challenges shared by both modernization paths, but there are also unique features, challenges and opportunities in either of them.  The robust code transformation solutions all share a common technological approach.  Vendors have developed solutions that parse source code into an intermediate representation. This representation is some form of an abstract syntax tree (AST).  ASTs represent the original program and logic, independent of its original source syntax. Vendors can then use language grammars, similar to those used by compilers, to generate new source code in the new desired language. 

Additional manual work has always been a challenge

A challenge for modernizing mainframe applications written in procedural languages such as COBOL, PL/1 or Natural to object oriented languages such as Java or C# is that additional steps are needed after the migration tool transforms the syntax.  These additional steps performed after the process, outside the tool, are required to re-engineer the migrated program to match the form of true OO programs.  Thus, restructuring a procedural program with shared working storage - a trademark of procedural programs - to OO classes and methods, requires additional effort, and may result in code with sub-optimal quality.

An end to end process, with machine based code understanding

For migration efforts where the source application is based on an open-systems based OO language and framework, it has become possible to enhance the AST based approach in several ways, resulting in a more 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, it’s 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 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 completely tool based, highly automated, and also highly open to expert architect input, modification and improvement.

An automatic path for VB6, PowerBuilder or .Net systems to the Web/Cloud

The bottom line is that it is now possible 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 system, and will be expertly architected according to the best practices of the target platform and language.  The reduction in the need 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 remaining in the target application.

Case in point: VB6, MS Access & .Net applications 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.
Legacy Modernization is a moving target

Are you also concerned with the efforts and risks of moving desktop applications to the Cloud?

As someone who constantly interacts with decision makers in enterprises, I find myself answering the same common concerns.

Gizmox design
As someone who constantly interacts with decision makers in enterprises, I find myself answering the same common concerns.

The people making decisions on improving IT ROI or providing new user experience are mostly concerned with the efforts and risks of upgrading existing applications to the cloud.

I would like to share with you a new infographic-article I have written recently in an effort to answer those concerns. I think you will find it valuable. You may read or download it HERE.

Happy to provide more help and information.

 

Thank you

PJ O'ryan
 
Are you also concerned with the efforts and risks of moving desktop applications to the Cloud?

Was it Predestined?

bbv : about the WannaCry cyber-attack: "The software exploits a security flaw in Windows XP, and once it infects a computer, it encrypts the files and spreads to other computers..."
By PJ O'ryan

bbv : about the WannaCry cyber-attack: "The software exploits a security flaw in Windows XP, and once it infects a computer, it encrypts the files and spreads to other computers..."
By PJ O'ryan

wannacry

Breaking news and then oral and written opinions and finally lengthy articles have hit us since the recent May 17 WannaCry Cyber-attack.  Most of them described the attack and its affects in terms of a disaster. Europol Chief Rob Wainwright said more than 200,000 victims had been hit in more than 150 countries. It is the largest ransomware attack observed in history of such attacks and its effects are yet to be summarized …
The inevitable question is: was it avoidable?

If you ask Microsoft, the post on Brad Smith, Microsoft's president and chief legal officer’s blog, would most probably be its answer: “there is simply no way for customers to protect themselves against threats ( N.P: like WannaCry? )  unless they update their systems. Otherwise they’re literally fighting the problems of the present with tools from the past…"

Well, you are probably asking yourself, do organizations not know that? And if they do , how come organizations still use OSs like XP?


Maybe only a few organizations still use XP?

The following graph from Netmarketshare suggests otherwise. It says that XP still holds a share of almost 10% of all desktop OSs. So it is not a minor matter of a few companies behind with their IT workload, it is hundreds if not thousands of organizations out there that still run XP. 
   
ScreenHunter 301 May. 25 16.20


Or maybe organizations are rushing to update their systems but we are not seeing it? 

Well I found some up-to-date statistics at Netmarketshare. This time I looked for the pace at which organizations might be moving off their XP systems if at all. 

The "at all" seems to be the real story. No, organization do not really seem to be rushing, if "at all" to upgrade away from XP. 

ScreenHunter 302 May. 25 16.25


So why are organization not getting off unsupported software?

Be the reason what it may, as a vendor focusing on upgrading applications running on those OSs, we are talking to companies. They seem to be concerned with many aspects of the modernization issue, one of which being whether applications written with platforms such as VB6, VB.NET, Classic ASP or PowerBuilder will still run as they used to on the patched or updated OSs?  Could these concerns be the reason for the inaction? This article claims it may be. It talks about vendors reluctant to test and if necessary update their applications to run on the updates and patches.   

But is there a good solution?

We at GizmoxTS have been working for 5 years to build a good solution.

The ideal solution would have the ability to fully analyze and understand the source application, be automatic enough to be efficient compared to a manual rewrite.  It should however be customizable with the ability to deliver high quality code.  And finally, the solution must allow an early and accurate assessment of the effort required to migrate an application from a specific source platform to a specific target.

The required migration solution would be able to upgrade a monolithic or client/server application written with languages or platforms such as VB6 or PowerBuilder to modern platforms as the web or cloud with mobile accessibility, and do it quickly, effectively and with a high ROI.  And it should be able to handle enterprise grade, complex applications efficiently.

This is exactly the solution we have been building here at GizmoxTS.

The early versions of this solution have been tested with F500 applications, large and small ISVs, Governments and armed forces’ applications and have proven to be both powerful enough to handle millions of lines of code as well as to deliver customized high quality applications.






Was it Predestined?

GizmoxTS to Modernize the Computerized Personal Medical Record (CPR) at the IDF

According to Pesah Galon, the company’s CEO, “the importance of the project is in retaining knowledge and business rules accumulated over many years, while adapting the system to advanced technologies and to continued improvement in a standard development environment.” The project is valued at over 3 million USD.
 
c8ae17 f76533d073f44b2f8f6c0bf70380fd24 mv2

GizmoxTS is to modernize the Computerized Personal Medical Record (CPR) at the medical corps of the IDF (Israel Defense Army), in a project valued at more than 3 million USD.

The Israeli ministry of defense has selected GalilCS, a GizmoxTS sister company from Kibbutz Shamir to perform the project.

The project commenced a month ago, with a first phase that will last 18 months, during which the system will be modernized and a new architecture will be built for the system, going from a client/server configuration to Microsoft based web technology, with no functional changes.  After going live with the new version, during 2018, the project will continue for two more years, during which new features will be added and the system will be maintained by GizmoxTS and GalilCS.

The IDF medical corps developed the computerized system more than a decade ago, in 2003, centralizing and making managing soldier medical information management more efficient.  The system replaced the personal cardboard file with a computerized record, available to the different entities caring for the soldiers – unit doctor, clinic medical staff, specialists, nurses and others.

Creating a complete medical picture

The CPR was developed with the goal of making it possible for the different medical entities caring for the soldier to all work on a shared platform, with the medical information accumulated in any medical encounter being available to all other care givers creating a complete medical picture.  The system has thousands of users in the IDF and outside of it – doctors, nurses, military paramedics, and it interfaces with civilian systems.  But as years passed problems grew in the system, and its technology and architecture has become outdated. 

GizmoxTS has the technology (based on several software patents), allowing organizations to replace older client server enterprise scale applications to web, cloud and mobile environments.  The technology, developed and owned by GizmoxTS, enables a fast migration to new platforms, based on smart algorithms which fully ‘understand’ all the original system’s components, and maps and automatically replaces them with components and software patterns compatible with the new environment.

The technology ensures the highest code quality and a system architecture based on the target platform’s best practices for web, cloud and mobile applications – while upgrading security mechanisms for protection against cyber-attacks and also significantly improving command and control capabilities.

Pesah Galon, the CEO of both GizmoxTS and GalilCS said in an interview that “the importance of the project is in retaining knowledge and business rules accumulated over many years, while adapting the system to advanced technologies and to continued development in a standard development environment, according to industry accepted best practices.  The GizmoxTS methodology preserves the accumulated knowledge and rules, while bringing the system up to speed in the advanced networked world.”

Galon added that “the project’s success will provide the opportunity to perform many additional projects for the IDF and the Ministry of Defense, and will leverage both company’s growth, as well as adding to the high-tech related employment options of the diverse communities in northern Israel, where the GalilCS delivery center is located.”

Not possible to add features and improvements

Last November Israel’s State Comptroller Joseph Shapira said in a report that there were complaints about the use of the CPR system, specifically that it was slow, wrought with faulty functionality and that it is not possible to add features and improvements.  The State Comptroller added that the Medical Corps command should advance the computer systems relevant to medical examination in the IDF’s recruitment centers.

A decision was taken in 2014 to create a new Computerized Medical Record system, at a cost of over 10 million USD.  This was supposed to be performed by the Enterprise Services division of HP Israel who were going to implement the ISH-MED system, written by Siemens, which was developed in conjunction with SAP.  Ultimately, the project was canceled and a decision was taken to modernize the existing system.




This article is a translation from the Israeli online magazine PC World
.
GizmoxTS to Modernize the Computerized Personal Medical Record (CPR) at the IDF

So what is the difference? How does the AUTOMATED-REWRITE approach deliver higher code quality?!

Higher then what? What is low-quality code?
The vast experience we have with code migration and modernization has shown code quality to be the most challenging issue when discussing code migration automation. Most of the traditional auto–migrators we know off do not produce good enough code and in most cases require much manual work to fix and make the migrated code production-ready. This is the common perception of auto migrators which has been justly earned. 

Higher then what? What is low-quality code?
The vast experience we have with code migration and modernization has shown code quality to be the most challenging issue when discussing code migration automation. Most of the traditional auto–migrators we know off do not produce good enough code and in most cases require much manual work to fix and make the migrated code production-ready. This is the common perception of auto migrators which has been justly earned.
The fundamental shortfall of most of the auto-migrators is in the customizability and maintainability of the code they generate. Here are the main 3 challenges we experienced with such code:  

ScreenHunter 262 Mar. 12 12.59
  • Helper libraries are generic functions which emulate the legacy language or framework in the new environment, to make the old business code operate with little change (basically, translation only) after the migration.  These libraries would not be included in a new application written in the new environment and are possibly the most acute shortfall of auto-migrator-produced code.  They introduce proprietary code to the migrated solution and make maintaining and extending it an unnecessarily complex task.
  • Impossible or too hard to customize – auto-migrators usually operate as black box, command line driven processes.  All enterprise scale applications need to adhere to specific UI standards and coding styles, and additionally interface with middleware, data silos and directory services.  These requirements and others make customization imperative and if the auto-migrator-generated code cannot adhere to them it will not be fit for production without extensive additional work.
  • And last but not least, auto-migrator tools will usually only perform part of the migration automatically.  As described above this is partly a result of poor and limited customization capabilities.  Additionally, because security features cannot be added as part of the simplistic auto-migration, penetration testing on the migrated application will likely point to multiple weaknesses that will need to be addressed manually across the board.  These and other issues that need to be addressed manually, outside of the auto-migrator process, may prove to be some of the most complex tasks in the modernization project. 

So, how is high-quality code defined?

If the above is the definition and the reality of auto-migrator generated low-quality code, what do we mean when we expound higher code quality? 

The answer is simple but far reaching.  We mean the code quality that you would get if you were to rewrite the code from scratch with the best coders and according to highest coding standards.  No "foreign" code.  No helper library code.  No closed propriety DLLs.  Customized to the needs of the customer, including an upgraded user interface which is fully adjusted to the target form factor (or is responsive to changing form factors).  High-quality code is well structured code.  Easy to read and understand.  Short and efficient with understandable remarks.  Standard and native to the environment it targets.  No additional "generic-purpose" code, only the very code that the application uses.  No dead code.  Code that adheres to the strictest best-practices of the vendor who produced the framework and platform being used.  Architected according to common best-practices.  High performing code.  Code that was machine written accurately using one standard code-pattern process.

Sounds like utopia?  Here is the patented methodology that produces such high-quality code.
 
We read and understand the legacy code HOLISTICLY

ScreenHunter 256 Mar. 09 17.37
Source: GizmoxTS slide show

Based on unique algorithms for semantic code understanding, the legacy application is read and holistically represented internally.  Unlike with the traditional ‘line by line’ processors of yesterday, the holistic approach allows re-architecting to a new platform or framework, while preserving the semantics (business rules, data relationships and flow, UI element functionality).

One important benefit of holistically understanding the legacy application is that it removes the need to reverse engineer the legacy application’s business functionality, thus considerably reducing the cost, duration and especially the risk of the modernization effort.

The semantically explicit internal representation of the legacy application serves as the basis for the machine-driven process to automatically perform a large proportion of the re-architecting.  Through a process of virtual continuous compilation, the software guides the user, in most cases a software architect, through completing, refining and modifying the migrated application.

We are the only vendor in the world including a complete, flexible IDE (Integrated Development Environment) in the Automated-Rewrite solution 
ScreenHunter 257 Mar. 09 17.38
Source: GizmoxTS slide show 

The IDE is similar to the Visual Studio IDE, but is powered by the semantic understanding and continuous compilation engines.  Virtual continuous compilation allows the user to be guided in refactoring, mapping, or wider ranging re-architecting they still need to perform, through suggestions and comments.  Even more remarkably, it shows the results of those changes directly to the user, without the need to complete the migration, including error messages and warnings that further guide the user on the path to a well written and architected, optimized and modernized application.

An important task performed in the IDE is adding standard or custom security, identification and authorization to the modernized application, so that these extremely important parts of a modern application are not added as an afterthought to the product.

Here are some samples of the tools in the IDE (can we include screenshots and short caption description?)   
 

We are the only vendor that offers PRODUCTION READY tool-based deliveries, without any post-migration customer effort required  
ScreenHunter 258 Mar. 09 17.50Source: GizmoxTS slide show


The application re-assembly and QA are integral parts of the GizmoxTS tool-based process.  We start with the source code of the legacy application and we deliver the ready-to-deploy code of a modern, secure and tested application on your chosen platform.  The end-to-end process has a very low requirement for client personnel during most phases and does not include a post migration modification phase – we deliver to production.



Here is a description of the complete process
ScreenHunter 259 Mar. 09 17.53Source: GizmoxTS slide show 


Let us prove what we promise!

Yes, we know.  Being in the software business you have heard all manner of over-promising from vendors.  Most of them prove to be disappointing, so why "buy" our promises?

Do not "buy" them!  Ask us for a POC that proves our solution for your specific challenges. Judge the code-quality we will deliver, in all its aspects.  Evaluate other alternatives.  Ask your service provider to POC too.  Compare and decide.  Our track record shows that when we are able to present a POC and demonstrate our promises coming to life, the customer will choose the high quality choice – the Automated-Rewrite by GizmoxTS
 
So what is the difference?  How does the AUTOMATED-REWRITE approach deliver higher code quality?!

Brochure engineering? Who is doing brochure engineering…?!

It was there in my Outlook inbox with the promising headline 'application modernization' - roundup of news and tips. It is a space I make my living off these days, so I opened it. Looked nice.


shutterstock 507551464 1
What has triggered this write-up?

It was there in my Outlook inbox with the promising headline 'application modernization' - roundup of news and tips. It is a space I make my living off these days, so I opened it. Looked nice. Apparently, this was the fifth issue of a new publication I had missed before. 

I took a quick glance at around 20 headlines. Not bad I said to myself, not bad, seems to be focused on application modernization, and practical.  The publisher, a guy named David Johnson no doubt knows the space and has been doing a good job in collecting up-to-date stuff that could be useful and save some time in Googling for it.  

And then one of the news items caught my eyes. The headline was "Microservices tooling myths: The 3 lies tool vendors will tell you". Lies, for God’s sake … who is lying and why?!

I read the article. Allow me to be upfront. I am not going to write here about microservices. I basically agree with Techbeacon that microservises are an evolving concept, which is still lacking in fundamental ways. Value and ROI are still unclear, let alone good methodology and tooling to implement… obviously another buzz that still has to mature before it can be really evaluated. 

What I am going to write about is the notion that all vendors do brochure marketing all the time as a cover up on promises they can't fulfill, and potential customers should not listen to those promises, because by listening they encourage lying.

What…???

If that were the case how the hell would a vendor (startup for that matter) present an innovative breakthrough??? I strongly reject the statement and the sentiment that it entails, and that is why I decided to write!

Who did you call a liar?

In a nutshell the author seems to suggest that organizations should not spend time evaluating new vendor's solutions, because it might be a waste of time and encouragement for vendors to lie! In other words, there could not be anything new under this sun. Been there, seen that, and heard all attitude is the way to go! In most cases you will probably hear another set of lies anyway he says, so why listen?? The author calls it 'brochure marketing' and it seems to suggest that all vendors are good at selling on paper, but when it comes to reality they do not deliver.

Well, if that is the case how will organizations get exposure to real innovation? 

Leaving difficult-to-track-down problems…

To quote some of what the author suggests with direct relevance to what I am going to write here: "The reality of every one of these “solutions” is that they will solve easy things well and moderate problems poorly, while failing to even grapple with the most challenging situations. And guess what: The preponderance of legacy applications falls into that latter category. Even worse, many times the solution says it has done some conversion but instead has done it imperfectly, leaving difficult-to-track-down problems lurking in the updated application."

Do not underestimate the professionals in an organization!!

Well I think the author underestimates the capabilities of an organization to define and evaluate what the organization needs and whether a vendor solution can address that need or not. From my experience, most of the organizations with which we speak have done their homework and when shopping for solutions, they know exactly what they are looking for and whether a given vendor solution answers that need or not.

If anything they might miss the proof that the vendor solution really delivers on the promises… or not. But that is as easy as asking for a proof of concept, isn’t it? 

Do not ever close your door on innovation, or you will wake up to a closed door that is too late to open…

From an innovative startup’s point of view I strongly reject the implied notion that innovation is brochure marketing and that an organization should not listen to us. I also reject the accusation that when it comes to legacy applications we leave difficult—to-track problems for the customer to struggle with. The opposite is the truth. The difficult-to-track problems are the challenges we had chosen to solve first! This is what innovation is all about, isn’t it?

And to my point! Open your door for innovation, but be wise enough to ask your vendor to do a POC that covers all the hard-to-track challenges. If your vendor is doing brochure-marketing they will not be able to deliver on such a POC!
Brochure engineering?  Who is doing brochure engineering…?!

If, as Joel on software says "…the single worst strategic mistake that any software company can make" is rewriting code from scratch

How come companies still make such mistakes?!
It is considered to be one of the shrewdest observations on the dilemma of rewriting your code from scratch versus other options for updating your application.
How come companies still make such mistakes?!


confused
15 years ago, Joel answered the questions that we ask ourselves today


It is considered to be one of the shrewdest observations on the dilemma of rewriting your code from scratch versus other options for updating your application. The dilemma is still as valid as it was 15 years ago.

I have been reading and quoting Joel Spolsky’s blog post on code rewrite so many times in recent years that I can quote what Joel says almost word by word.   

Recently, after gaining more experience with customers, it has struck me again! Joel was on the mark with his observations including many insights into the decision processes in software companies.I must say Joel was certainly able to answer the questions long before we knew what to ask.

So how come software companies still make the single worst strategic mistake they can make?  Joel provides the following answers.  

How bad can a wrong decision be?

Joel points out cases that speak for themselves. Cases in which companies face the dilemma and knowingly or not, take the decision to rewrite code despite bad experience that shows such a decision might be outright suicide.

The question of why does this happen is the million-dollar (or maybe multi-million dollar) question. Some of the cases Joel points out in his blog post are:

Netscape for example. Netscape had decided to rewrite the code of its browser. By the time they realized what this really meant, it didn’t matter anymore. Netscape had lost the battle and actually ceased to exist as a viable competing company. It just faded away out of the market.

Another is Borland’s decision to rewrite Argo and later another solution. The result was the same and Borland’s fate was very similar to that of Netscape. 
Yet another example is no other than Microsoft that just a few inches from the chasm made a U turn and decided to abort its decision to rewrite Windows Word (which still runs visual basic code…)

A fact: "it's harder to read code than write it"

I will not go into the details of Joel’s blog post about the reasons so I kindly urge you to read more about it yourselves.  I will just mention the high-level reasons and ask the following questions: are these reasons still valid today?  Aren't there better new data points enabling companies to take a much more educated decision on this dilemma and to avoid the risks that a wrong decision entails?

I believe the answer is positive. We now have new options which should be evaluated before taking such a critical decision.  

Joel says the main reason is: "it's harder to read code than write it" I believe he is right and I should honestly say; this is not new for any of us. It is true in other domains as well. It's easier and in most cases much faster and more efficient to fix your house, redecorate it and bring it up-to-date with the new options than rebuild it from scratch. At the end of the day, the basic functionality of a house doesn’t change even if now smart-houses make our lives easier. We still need good shelter and protection from the weather…

Is this still the case in recent years?     

Yes it is. It is still harder to read code than rewrite it, but I believe companies like the company I work for are making very good progress in recent years, to change it. Will elaborate shortly. 

I will just add to re-validates Joel’s basic arguments about how difficult it is to read code, that from my recent years' experience with customers I can add to Joel sample quite few cases of my own. Sad cases in which companies decided to rewrite code, got stuck on the first stage of trying to read and understand the old code and its logic or what it is supposed to do. But after years of trying and with several millions of Dollars out of pocket started desperately looking for a saver… some after too many years and too many Dollars, and some after less. They all ran into the wall of not being able to read and understand the code, let alone rewriting it. But is this a big surprise? I am not sure. It is a well-known fact that it is close to impossible with all the archeological layers of code and given the fact that in most cases the developers who wrote the code are not with the company anymore not to mention the level of documentation they usually left beyond.
I will not mention names under NDA. I will just say that in most cases I am talking large companies of the F500 level that run structured processes of software writing and maintenance. It didn’t help much in reaching the point of code-update-need in a better position. Non-availability of the original developers and lack of proper documentation is maybe common to all those companies.  

A healthy programmer will always say: if I would get a second chance to rewrite this code, I would write it much better. Is that really the case?  

It looks like the claim of being able to rewrite better code the second time around, is a software programmer's natural inclination. It has become a mantra! I have heard it so many times, I almost believe it myself…it will be the automatic answer to almost any code issue that is raised during an application’s life cycle.   

Is it really the case?

Joel suggests it is not! In short, he says that the claim is generic and has been proven wrong time and again!

Is there a really good substitute to the huge investments of years and years of software maintenance and debugging? Obviously there isn’t.  

So is this the sad lesson that a company should consider before embarking on a rewrite project? Joel seems to suggest it is! A company should take into consideration that even if the miracle happens and it does overcome the roadblock of reading and understanding its legacy code, it shouldn’t expect shorter development time than that of the code it is now throwing away!  

What kind of investments are we talking about? Are10-15 years of maintenance by good number of competent programmers an exaggeration? Obviously not for many companies and applications. And that is on top of the original investment in the application’s initial development.

Standish group has been putting numbers behind Joel’s observations

This is what this software rewrite research & management group has been doing for years. Putting together statistics to measure the rewrite risks, successes and failures. See HERE, most of the Standish group research papers are free. They continuously present research showing 70-80% rewrite project failures. Projects either run well over time and budget or are terminated due to un-crossable roadblocks.

What are the new data points that companies should consider, then?

A strong enough pain usually calls for investment in finding solutions to it. Primarily because it is a challenge and talented programmers love the fame and even more the fortune that might come with solving such problems.

Either way there is a lot of brain power being invested in finding solutions to those challenges as we speak. Especially so when we talk about technology shifts that create disruption in the market, such as cloud and mobile and the digital transformation.

One of those solutions is the solution that GizmoxTS is introducing to the market. It is a solution that automates the well-established processes of manual code rewrite and encapsulate those best practices into software application. This solution offers holistic reading and understanding of legacy code and logic, which as we know is critical for any code re-architecting solution. It does this completely automatically in a shape of a standalone easy-to-operate free downloadable wizard.

And once the legacy code is read and understood, the solution offers an integrated toolkit with all you need to re-architect an application. It includes code refactoring tools, mapping, breaking an application into layers, code preview and application re-assembly tools.

The proof is in the pudding - the concept has been delivering early value with large and complex enterprise-level applications. HERE are some more details.

I believe that given the challenges of manual rewrites along with the growing need to complete the digital transformation and leverage new cloud and mobile platforms, tools such as Gizmox's and others should be carefully evaluated before companies decide on manual rewrite projects.

If, as Joel on software says "…the single worst strategic mistake that any software company can make" is rewriting code from scratch

University of Surrey in a Survey: Escaping Legacy removes a major roadblock to digital future

The survey is downloadable HERE

ScreenHunter 187 Nov. 29 14.04
The survey is downloadable HERE


Recently I read an interesting survey about Application Modernization conducted by Andy Nelson and Roger Camrass, senior board advisor and visiting professor at the University of Surrey. I find it highly interesting because, based on my own experience, it represents what we hear from enterprises in our real world engagements.

I would like to share my impression of this reading along with a short story of one of Gizmox’s real world F500 company engagements, and why I think this survey provides an accurate "picture" of real world motivations.

The title of the survey says legacy can be a roadblock to larger digital processes. I agree with the survey. I think the following story could be a good indicator of the way a typical application real world modernization initiative evolves within the organization.

So, we have here this F500 company that has been going through a modernization process with the goal of making its main system and some peripheral supporting systems accessible to multiple distributed users via web.

The accessibility and availability of the system, along with a modern Web / Mobile-friendly user interface, were the main requirements in terms of user experience. The source systems were multiple VB6 / Access systems that were written 15-20 years ago. The company decided to use MS Dynamics as its main target platform.

After more than 3 years and millions of dollars’ worth of efforts to extract and integrate the peripheral systems' functionalities into Dynamics with MS help, the company reached the understanding that: A – the business logic of these systems cannot be extracted manually; B – it would be too lengthy and risky to analyze the systems and write new specifications and in any case an unbearable waste of resources and assets; C – even if the business logic was extracted successfully, Dynamics doesn’t necessarily support such functionality or it would be too painful to customize it to support such functionality.

The company became desperate. These peripheral systems were blocking a major multi-million dollar move, which the business peers has been requesting for years, in order to keep up with customers’ requests and the competition in the market.

The company started looking for solutions to remove this roadblock and continue with the implementation of Dynamics.

The company and Microsoft started looking for solutions. One of them was Gizmox. Soon the short list of solutions and vendors had become a one-vendor list – Gizmox. No other vendor on the market could read and understand the original source systems' functionalities in such an efficient and wide-ranging way, analyze it and suggest a path to automatically rewrite it and integrate with Dynamics.

Gizmox demonstrated its unique capabilities in a fast POC that was done and delivered in 2 weeks' time. The POC had encompassed the same main challenges that the company had pointed out as the challenges it had faced and with which it had struggled for so many years.

It took Gizmox a few more months to automatically rewrite these systems from VB6 / Access to ASP.NET and integrate with Dynamics, and in fact to remove what had seemed to be an invincible roadblock.  


For more details please download our Showcases 
ScreenHunter_187_Nov._29_14.04.jpg

CIO Insight: Choose your potential application modernization partner by the following 9 point test!

Recently I had stumbled upon a slideshow by CIO Insight. The slideshow recommends a set of 9 parameters for choosing your modernization partner. 
Recently I had stumbled upon a slideshow by CIO Insight. The slideshow recommends a set of 9 parameters for choosing your modernization partner. 

 

check list

It is sort of a test which you should ask your potential partner to take. The results of this test can then be used to choose between candidates.  I am impressed with the magazines’ insights on the real-world challenges, and I think the 9 question test is excellent and should reflect your partners’ ability to help you with your application modernization needs. I think it is exactly what you should grade your partner upon.

I was asking myself while going through the slideshow how would my company be graded with this test. Well, I put it forward for your judgment.  Here are my answers to the 9 question test.

I’d be happy if you let me know what you think about my test results.   

The first question CIO Insight asks is: "do you offer up-front risk assessment?" 

My answer:  Yes we do, we think it is the basics. The customer should make sure that he gets a FIXED proposal based on the assessment results. The better the assessment is, the better the pre-engagement estimation is.  We offer an assessment in the form of a free downloadable, self-service wizard. It performs a comprehensive assessment, as far as we know the most comprehensive assessment of your application, and provides up-front indications on all the challenges that we might face in re-architecting an app to your chosen target. We rely on this assessment which is how we provide fixed cost and time commitments.

ScreenHunter 151 Nov. 03 16.18

The second question is: "Can you work with different languages?"

My answer:  Yes, we sure support different languages. With the diversified needs we see in the market, we think this is one of the essentials as well.  A good application modernization provider should offer customers a choice of target platforms.  We decide on the languages' support priorities according to the demand we see in the market. For example, we had recently added to the supported Microsoft and Java stack, support for PowerBuilder as a source and Angular 2 as a target. Both were added as a result of the strong demand we see in the market.
ScreenHunter 152 Nov. 03 16.37

The third question is: "Can you refactor the code as part of the transformation process?"

My answer: We certainly can!  At GizmoxTS we believe that you cannot really deliver good target-optimized code and architecture without original code refactoring.  Subsequently, this is a basic component in our approach, facilitating extensive code refactoring. It is a customizable tool-based or automated code refactoring capability, just like a skilled developer would do manually, only faster and more accurate.  We also allow refactoring customization according to our customers' specific demand and standards.

Here is a VIDEO that demonstrates this basic component in our approach.

ScreenHunter 153 Nov. 03 16.40

The fourth question is: "will you offer a prototype solution?"   

My answer: a definite Yes! Of course, we think it is not only important for building confidence in the proposed solution, but also to prove the code quality. We urge organizations to request a prototype in order to assess and compare code quality. After all we are talking about starting a new life cycle with the target application and the code and architecture should be performance-optimized as well as standard and native to the target platform, to facilitate easy and standard maintenance and extension by standard tools and skill sets.

ScreenHunter 154 Nov. 03 16.43
The fifth question is: "Can enhancements be included as part of the automatic transformation process?"

My answer: Actually my advice to you, eliminate partners who don’t offer code enhancements as part of the process. My experience is that in most cases going from a platform like monolithic client server architecture to the web will require a level of enhancements without which the target application will not be a true web application. This extends from breaking the monolithic application into layers, to upgrading the user experience into a native web user experience.  Customers do not want "remains" of the old code, for example "dead code" that makes it hard to maintain the new application, let alone helper libraries and emulation that again make maintenance a nightmare. Responsive UI is another good example. We offer this enhancement as a baked in feature in our tool-based approach. To summarize, we offer a complete tool-based code enhancement that includes removal of dead code, breaking the application into layers, exposing services and APIs, integrating frameworks such as entity frameworks and data security enhancements, standardizing code patterns etc. you name it, our tool-based approach can deliver it.

ScreenHunter 155 Nov. 03 16.47

The sixth question is:" What is your strategy for modernizing the application and the database?"

My answer: Our strategy is to take an end to end responsibility. We found that this is what customers want.  We start with our assessment that looks at  not only the application itself but also the environment it runs on. We end where we start by running and testing the new application on its target environment. It means that if a data access or other middleware layer is required to be upgraded as well, we will include it in our application modernization proposal and execution.

ScreenHunter 156 Nov. 03 16.48

The seventh question is: "Can the partner work with your current team to execute updates?"

My answer:  Yes, we encourage that. We believe it is the best way to build trust between the companies and a long-lasting relationship. Our technology shines with the larger more complex systems which are nearly impossible to upgrade manually.  In more than one case, we got involved after an organization had started modernization by working on the simpler and smaller applications and we were called in for the larger more complex applications. In other scenarios the organization has been trying to modernize systems that took too much time and effort than anticipated, and we were called in to help. And we also have had successes with a shared efforts model, where the customers do the parts they have manpower and skillsets for and we do all the rest.   

ScreenHunter 157 Nov. 03 16.56

The eighth question is: "Can the product UI be customized?"

My answer: The straightforward answer is that most of the platform to platform transformations will require not only multi-lingual support but complete UI optimization for the new platform and therefore it is an important part of our offering. Good examples would be adaptive UI for different form factors, desktop right click to touch replacement or breaking a desktop full screen form factor UI into a small smartphone screen flow.  All are included in our offering.

ScreenHunter 158 Nov. 03 16.59

The last but not least question is: "Do you have credibility?"

My answer: I believe this question should be answered by my customers rather than by me.

ScreenHunter 159 Nov. 03 17.01

HERE is a short success stories paper for you to download. And I invite you to call Gil Mor in US (6756757856755) or myself  (972-50-5215436) or email Gil (gilmor@gizmoxts.com) or me (Navot.peled@gizmoxts.com) for contact details and testimonials.



Cheers

Navot Peled   

check_list.jpg

Automated Rewrite

Finally, an Application Modernization Solution That Produces the Code Quality and Maintainability You Want

 

Finally, an Application Modernization Solution That Produces the Code Quality and Maintainability You Want

robo

Gizmox Transposition provides a patented enterprise-level solution for modernizing enterprise-level applications to the latest platforms and operating systems, such as web, cloud, and mobile. Applications which were rewritten by our automated, fast, reliable, and low-risk solution are currently being usedby Fortune 500 companies including financial organizations, health care institutions, insurance companies, and ISVs.

The Need for Modernization


As technology advances, web, cloud, and mobile compatibility is becoming more important to remaining relevant in a competitive market.

Companies that do not modernize face:

  • Rising maintenance challenges and excessive costs

 

  • Losing business opportunities

 

  • A decline in customer loyalty due to deteriorating user experience

 

  • Security vulnerabilities and malfunctions due to lack of vendor attention and support

Modernization is crucial to keep up with the latest technological benefits and to remaining one step ahead of the competition.

Modernization Challenges



While the need for modernization is clear, the solutions are not as straightforward, and companies face many challenges in a process that can be time consuming, costly, and risky. Current methods include:

  •   Manual Rewrite: Expensive and very risky every time it is used. Companies need to reverse engineer existing applications to be able to identify undocumented business logic, which is a big challenge.



  • Automatic Tools: While this is a much cheaper and faster solution than manually rewriting the code, it produces low-quality code that is hard to maintain and extend.

 

  • Off-the-Shelf Software: In most cases, this method can't really replace the homegrown specific business logic, and customization, if at all possible, is very expensive. 

 

  • Virtualization: Virtualization refers to creating a virtual environment that is compatible with new platforms, and run the application there, but it doesn’t solve the legacy obsolete code and architect challenge.   

 

Preserving the application's proven business logic. All the rest is upgradeable



Gizmox's automated rewrite solution supports the migration of legacy applications to modern platforms while preserving the application's proven business logic. All the rest is upgradeable: new target optimized components, code, user interface, and application architecture. Our customers benefit from the enhanced performance, scalability, security, and mobility of using modern platforms while limiting the risk associated with migrating a mission-critical application. Our patented approach has proven itself time and time again as the best solution to bringing business applications up to date with the latest cloud, web, and mobile platforms, systems, and technologies.
robo
Page 1 of 5