In a sense all Legacy Modernization tools eventually require some degree of customization. Every legacy system is unique and different, as is the target environment. The choice is whether this customization is accomplished by manipulating the code by hand after conversion or through customization of the tool itself. The UniqueSoft tools are built as a platform designed for great flexibility and easy customization. The difference between the two approaches is measured by the labor required to get the job finished. Fixing code by hand is very labor intensive and prone to error, customizing a tool is not.
There are four dimensions to UniqueSoft legacy modernization tool customization. This allows the tool to exactly match your project needs and enable analysis and transformation of systems for which no commercial tools exist.
1. System and application analysis
• relationship maps between code and support elements
• Adding customer-requested analysis (e.g., Halstead Complexity)
• Displaying analytical results graphically as software maps
2. Input language
• Supporting custom extensions to COBOL and other mainframe languages
• Supporting proprietary legacy languages
3. Transformations applied
• Creating project-specific transformations, such as improving COBOL code (e.g., improve its complexity metrics,
sreduce its feature diffusion, eliminate replicated code, etc.)
• Refactoring, dead code elimination, etc.
4. Output language & legacy and target environments.
• Supporting proprietary deployment environments (and creating transformations to remove the reliance on that environment)
• Checking code for compliance with client specific coding standards
Any language which has a well defined grammar that will allow logical parsing can be supported. The time needed to add a new language is measured in weeks. D*Code™ currently supports many common languages such as COBOL, PL/I, HLASM, SQL, Visual Basic, Java, C, C++, C#, and Kshell. We have also created parsers for proprietary languages for large scale conversions.
Translating between languages (for example, COBOL to Java or C#) is a strength of D*Code™. Some languages like COBOL, PL/I, HLASM, and Visual Basic are typically input languages. Java and C# are typically output languages. Stored procedures like SQL and Kshell can either be input or output. C, C++ are used in embedded applications. Lower level languages, such as Assembler, require more effort to translate into a higher language and can be addressed as a tool customization.
As is typical with many conversion projects, migration of code related to databases that are being converted is a necessary part of the process. D*Code™ can be used to convert related code and port this code with the databases..
Domain-specific customizations have been done for insurance, telecommunications, ETL back-office support, database use, transportation control, finance, network control, data management, rule extraction for product support, inventory control, secure communications, authentication and authorization, and digital signal processing.
D*Code™ is delivered as a self-contained Virtual machine (VM). This VM is installed only on the server,
which can be any machine supporting standard virtual machines such as Oracle’s VirtualBox. This scheme enables rapid
and centralized deployment of multiple customized versions of the tool. The data is also stored on the server with the VM,
•allowing centralized access to project data.
The VM stores the project data and can be located on the client’s premise or at UniqueSoft, if we are doing the work.
Each individual user interacts with the D*Code™ through a standard web browser such as Internet Explorer, Firefox, or Chrome. No special software is required on the user’s machine. The right to use tool license is independent of the number of users or the number of machines used to access the server..