1. Analyze
Fully analyze and understand your legacy applications
Updraft has created a large variety of automated software tools to perform modernization tasks. These tools, individually or in various combinations, operate on legacy source code and can be customized to produce the exact solution you need.
A particular combination of these tools – adapted to your individual legacy journey – is our modernization factory. Your legacy software is the input. Our software tools act as customizable machines. And the output is the modernized code, ready to be deployed in your environment. Because our factory is 100% automated, modernization can be completed quickly, accurately, and cost-effectively.
Our automated modernization factory organizes legacy modernization into three phases:
Fully analyze and understand your legacy applications
Prepare your legacy code for migration and optimize your applications
Transform your legacy code to a new language and deploy your modernized applications in the selected open or cloud environments
“I need to rewrite or maintain an application, but don’t fully understand how it works.”
– Programmer
“I need a better idea of precisely what this application does.”
– Business analyst
Provide information that can be determined by applying analytical techniques to the code. Examples include metrics, such as code size and cyclomatic complexity, data and resource dependencies, and replication detection.
Provide information that requires the code to be symbolically interpreted to predict all possible behaviors of an application given all possible inputs. Examples include dead code analysis, code flow, data lineage, and potential access to external data or programs.
Provide information that requires heuristics and artificial intelligence or big data techniques. Examples include business rule extraction, feature analysis, and identification of abstraction or architectural layers.
“My application is in COBOL running on modern hardware, but in a proprietary, emulated environment. I want to transform it to a modern language running natively on a scalable architecture.”
– IT manager
Code is improved to be higher quality or more maintainable according to objective measures. Examples include reduced complexity, removal of dead code, reduced replication, conformance to coding standards, removal of GOTO statements, improving the naming of identifiers and methods, or removing artifacts associated with code generated from a 4GL.
Code is improved so that throughput is increased, latency is decreased, or memory usage is reduced. For example, algorithms can be systematically sped up, or external files used for temporary storage can be replaced with an in-memory database.
Code is changed so that it can be deployed in a scalable architecture. Examples include decomposing a monolithic application into independent microservices, or transforming database access to use data microservices.
“I need to move applications off the mainframe and onto a modern scalable architecture.”
– Director of IT
Changing the source language of the code. Examples include translating COBOL to Java, JCL to Groovy scripts, or COBOL 4 to COBOL 6.
Changing to a new target architecture. Examples include moving from an IBM mainframe with CICS to an application server such as JBoss on Linux.
Transforming the underlying database. For example, changing the code so that PostgreSQL replaces DB2.
Transforming the code to leverage a user interface framework of the target environment. For example, moving from CICS with BMS to Angular and HTML5 web applications.
Transforming the code to function in a cloud environment, taking advantage of the scalability afforded through distribution, load balancing, or caching. Examples include dockerization or migration to AWS or Azure.
Changing how the code interacts with local files. Examples include moving from flat files to a database, or transforming the code to handle ASCII instead of EBCDIC.
See why our automated legacy software modernization technology succeeds where others fail. Request a personalized assessment of your current systems and take your first step toward digital transformation today.