FAQs about the OnTarget Conversion and Migration Suite
Programming Language Conversion
- Why should we consider a language conversion?
- Can you handle conversions from Natural code?
- Does MOST provide a complete conversion service?
- Can you use our current coding standards when converting to new code?
- Is the converted code easy to maintain?
- What if the target language doesn't support source language features?
- What if some code is not converted correctly?
- Why perform an automated language conversion instead of a manual rewrite?
- Why perform a legacy modernization instead of a manual rewrite?
- Do automated conversions cost less than manual rewrites?
- How does MOST determine the cost of a code conversion project?
- How does MOST determine the cost of a legacy modernization project?
- Why does MOST do language conversions only as a service?
- Why can’t we buy your conversion tool and use it ourselves?
Legacy System Modernization and Migration
- Why modernize my existing application?
- Why not just buy a brand new off-the-shelf package?
- Why perform a legacy modernization instead of a manual rewrite?
- How can I modernize my legacy applications?
- Can I add new functionality to legacy applications?
- How easy is it to migrate a legacy system?
- Why shouldn't our in-house staff migrate the legacy system?
- Why shouldn't we outsource the entire legacy migration project?
- How much involvement is required by our staff during the migration?
- Does modernizing a legacy system cause disruptions?
- Can I move part of my legacy system to Java EE?
Data Migration
- Why change a network or hierarchical database to a relational database?
- Can you handle migrations from Adabas?
- Can you move data from Adabas or VSAM to DB2, Oracle or another RDBMS??
- What are the dangers of a manual data migration?
Platform Rehosting
OnTarget FAQ Answers
Why should we consider a language conversion?
Why modernize my existing application?
You may simply need to modernize your current IT environment. Reasons for doing this include:
- Legacy software license fees may exceed the business value of that software
- Support for legacy languages and hardware is becoming less available and more expensive.
- There is already a scarcity of programmers familiar with legacy languages and technology.
- Migrating to a newer platform can make operations run faster and improve response time.
- Using a newer language can reduce programming and runtime costs.
- Hosting your application on a modern platform may help you expand your customer base.
- Newer platforms and languages may provide more functionality (e.g., Internet integration).
- Integration with 3rd party software products may be possible only with newer languages.
If any of these reasons are relevant to your current situation, contact MOST to discuss available options. MOST uses a combination of automated conversion tools and professional expertise that provides the benefits of speed, efficiency, and reliability. MOST can evaluate your existing system and recommend a solution that fits your needs.
For general information about the modernization of legacy applications, see http://en.wikipedia.org/wiki/Software_modernization
[Back to Top]
Can you handle conversions from Natural code?
Can you handle migrations from Adabas?
The professionals at MOST are Subject Matter Experts (SMEs) in the Natural / Adabas arena and other Software AG products with years of experience implementing field-proven conversion and migration solutions. This expertise enables MOST to provide objective recommendations about converting Natural code to COBOL, Java or C# and migrating data from Adabas to DB2 or Oracle databases.
[Back to Top]
Does MOST provide a complete conversion service?
MOST can deliver a working application that is functionally identical to the original. However, you must provide the necessary site-specific information including sample files and databases. You must also collaborate with MOST professionals throughout the conversion or migration project to ensure that you receive the best possible results.
[Back to Top]
Can you use our current coding standards when converting to new code?
Is the converted code easy to maintain?
MOST uses automated code conversion tools whose uniform and technologically up-to-date output complies with typical coding standards. To the extent possible, all of the converted code has the same look-and-feel. To the extent supported by the target language, we use existing names for variables, procedures, file names, etc.
Because of its uniformity and consistent appearance, converted code is usually easier to maintain and enhance. By comparison, the existing code for large applications was usually produced by various programmers at different times and therefore is remarkably non-uniform and more difficult to maintain.
[Back to Top]
What if the target language doesn't support source language features?
This problem is usually solved by modifying a module whose code cannot be automatically converted. In some cases, a different but compatible language may be used to recode a feature. MOST is committed to providing high quality maintainable code.
[Back to Top]
What if some code is not converted correctly?
MOST provides converted code that reproduces the functionality of existing code. Errors in the converted code will be corrected during the testing phases of the conversion. The automated OnTarget suite used by MOST enables code changes to be implemented easily and efficiently.
[Back to Top]
Why perform an automated language conversion instead of a manual rewrite?
Why perform a legacy modernization instead of a manual rewrite?
For an explanation of why you should not perform a manual rewrite, see Things You Should Never Do, Part I by Joel Spolsky at http://www.joelonsoftware.com/articles/fog0000000069.html
Legacy code often looks “messy” because it contains bug fixes, enhancements, and optimizations that were added to an application over many years. If you re-write an application from scratch, you will probably lose much of the extra capability and functionality contained in that messy code.
This table compares automated vs. manual code conversion and application modernization:
|
Automated by OnTarget |
Manual |
|
Fast. Automated conversions are fast and easily rerun. |
Legacy code logic needs to be analyzed before it can be rewritten. Manual converting “spaghetti code” can be especially time-consuming. |
|
Accurate. Bug-free input generates bug-free output. |
Human errors occur during manual coding. The compile-test-debug cycle can take a lot of time while bugs are fixed one or two at a time. |
|
Reliable. Usually, an automated bug-fix is correctly implemented across the entire system. |
Manual repairs often fix a bug locally while failing to find the same bug elsewhere. In addition, manual repairs may introduce new bugs. |
|
Consistent. The resulting code is very uniform and usually easier to maintain and enhance. |
Usually, multiple developers produce non-uniform code that is difficult to maintain or enhance. |
|
Easily enhanced. Blocks of code can be added, changed or deleted during the conversion. |
Manual enhancements are time consuming and difficult to implement while trying to reproduce the functionality of existing code. |
The language conversion suite developed by MOST usually produces code that is more accurate and efficient than code produced manually. MOST can help you retain your investment in legacy programs while gaining the utility and flexibility provided by target languages.
[Back to Top]
Do automated conversions cost less than manual rewrites?
Automated conversions are much faster than manual rewrites. If the legacy code is poorly documented, non-uniform, or contains “spaghetti code”, the time and manpower required for a manual rewrite can be far more than one would expect based solely on the amount of code.
There are many different estimates for the cost of a “line of code”. Some research companies estimate the cost of rewriting legacy code from $6 to $23 per line of code. According to Bill Ulrich of the Tactical Strategy Group, the cost is $15 per line of Cobol code to manually re-write an existing system. Other estimates are between $12.33 and $18.5 per line of code. http://vladnevzorov.com/2011/01/31/how-much-does-it-cost-to-develop-a-line-of-code-sloc/
The OnTarget solution provides the best ROI because it is much less expensive than a manual rewrite and its retention of exception handling, bug fixes, and enhancements contained in the legacy code results in lower long-term maintenance costs.
For general information about how to estimate the cost of legacy modernization and conversion projects, see http://en.wikipedia.org/wiki/Software_modernization#Modernization_Costs
[Back to Top]
How does MOST determine the cost of a code conversion project?
How does MOST determine the cost of a legacy modernization project?
The cost depends on site-specific factors. Some of the most important factors include:
- the amount of code to convert
- source and target languages
- source and target databases and data access methods
- the number of hardware, operating system and inter-application dependencies
- the amount of 3rd party product integration and cost of 3rd party licenses, if any
- the quantity and extent of project management required
- whether special platforms or other hardware must be acquired by MOST
Contact MOST to obtain a detailed cost estimate for your project.
[Back to Top]
Why does MOST do language conversions only as a service?
Why can’t we buy your conversion tool and use it ourselves?
Natural language conversion programs such as Babel Fish or Google Translate seldom produce usable business output. For similar reasons, an off-the-shelf computer language converter also does not provide usable output. MOST customizes its conversion suite for your organization’s environment. Although a high percentage of our automatically generated code is ready-to-use, some modification of the code before or after conversion is nearly always required.
Because the professional evaluation and modification of the computer-generated translation is essential, MOST only offers language conversion as a service and does not sell its language conversion suite as an off-the-shelf application. The benefits of having an expert who specializes in language conversions customize the conversion tools to produce highly uniform, maintainable code cannot be overstated.
[Back to Top]
Why not just buy a brand new off-the-shelf package?
Installing a new, ready-to-use software package seems like a fast and easy way to modernize. However, comprehensive software packages are usually expensive. The real cost is not the up-front purchase price or the long-term support contract. The real cost is the changes you will have to make in the way your organization operates.
Your legacy software evolved with your organization. Its features and its “business logic” are compatible with the way your organization works. Although off-the-shelf software may seem to provide similar functionality plus new features, it was not designed for your organization. Switching to a one-size-fits-all commercially available application will force your organization to change its operating procedures to be compatible with those required by the software. The basic rule is: software should be designed to be compatible with your organization and not vice-versa.
If the new package needs to be enhanced to perform functions that your legacy application already performs, the time and cost to do this must be included in the total replacement cost.
Another factor to consider is the level of control you can exercise over the application. You will have to rely on the vendor to implement future enhancements. You will probably have very little control over the specifications or timing of these enhancements.
Your organization has spent a lot of time, effort and money designing and maintaining your legacy application so that it remains compatible with your organization’s procedures. Retain your investment by automating the modernization of your legacy application.
Automated conversions are quick, efficient, and cost-effective. They enable you to:
- Retain the look-and-feel of your legacy application
- Reduce the downtime required to implement the change
- Minimize or eliminate the need to retrain users and technical support personnel
- Incorporate new and enhanced functionality if and when desired
Contact MOST for information about modernizing legacy applications without losing your investment in them.
[Back to Top]
How can I modernize my legacy applications?
Can I add new functionality to legacy applications?
There are several ways to modernize and enhance legacy applications. If your application is coded in an out-of-date programming language, conversion to a modern language may increase its capabilities, increase its execution speed, and increase the availability of developers who work with the newer language.
Conversion to a modern 3-tier architecture can enable other applications (including web-based applications) to access your system’s business logic and data.
If your applications are running on an out-of-date platform, re-hosting them can add capabilities and improve performance. Perhaps you are still using “dumb” terminals and need GUI functionality. Contact us to find out how we can help you modernize your legacy applications.
[Back to Top]
How easy is it to migrate a legacy system?
Why shouldn't our in-house staff migrate the legacy system?
The key to a successful migration is migration experience. You must be able to identify all of the changes required for the application to be moved and be able to implement those changes. Consider the following list of typical migration issues:
- Language extensions provided by a legacy compiler are often not available on a new system
- System calls and shell commands in a legacy program may not be available in a new system
- Data format (field types and sizes)
- Access to databases and flat files
- Differences in parameters for system calls and shell commands
- Differences in system configuration
- Printing functionality
- Host hardware requirements
- Operating system requirements
- Environmental differences
- Program execution differences
- Differences in vendor-specific language and database features
Some of these differences may only show up at production runtime, which can have serious implications if the application is not tested adequately.
MOST’s staff includes legacy code and Open Systems experts with a lot of system migration experience. MOST has developed a conversion suite that automates the migration process. This suite increases the efficiency of the migration and enhances the reliability of the final product. MOST can migrate your legacy system quickly and smoothly.
[Back to Top]
Why shouldn't we outsource the entire legacy migration project?
MOST offers benefits that outsource companies cannot match. To meaningfully compare migration options, consider these questions:
- Will the conversion be automated or a manual rewrite? If the code is manually rewritten, don't expect clean, clear, and consistent code. Hand coding and multiple programmers produce a lot of bugs and very little consistency.
- Does the outsourcing company have genuine legacy migration expertise? Can they provide elegant and meaningful solutions? Some companies use programmers who have very little experience with the input or target language.
- What is the reputation of the outsource company? Will your code be secure? Will your data be compromised?
- What is the time frame for the migration? How much involvement will be required from your staff? How much downtime will occur? Is retraining an issue?
MOST is a leader in legacy migration with a reputation for fast, accurate results. MOST’s experts in legacy input and target output technologies can migrate your applications as quickly as possible. MOST’s automated code converters produce high-quality output that is consistent, understandable, and generally easier to maintain and enhance. If you are considering any type of conversion or migration project, contact the experts at MOST.
[Back to Top]
How much involvement is required by our staff during the migration?
Some interaction with your staff is essential to eliminate unnecessary work on code that does not need to be converted and to ensure that the migrated application works exactly the way it should.
MOST will involve your development and testing staff only when needed, allowing them, to the extent possible, to maintain their regular work schedule. At the start, your staff will provide MOST with source code, database and file formats, and auxiliary files. Actual live data will not be required.
After these inputs have been provided, MOST produces reports that clearly delineate the scope of the migration. After the target code, databases, and file structures have been produced, your staff will be involved in the testing process. MOST will correct any conversion-related bugs that are discovered and deliver a ready-to-use migrated system for acceptance testing by your staff.
[Back to Top]
Does modernizing a legacy system cause disruptions?
The migration of a legacy system should be transparent to the end-users of your application. Unless changes to the user interface are made, end-users may not realize a legacy migration has occurred.
OnTarget migration methodology has a refresh mechanism that permits source code to be enhanced, if necessary, during the conversion. This “refresh” process handles all changes made to the original code after the conversion began and limits the time the application is “frozen” to the time required for preliminary testing and QA.
[Back to Top]
Can I move part of my legacy system to Java EE?
Java EE helps developers create portable and scalable enterprise applications that can be integrated with legacy technologies. A Java EE application server can handle transactions, security, scalability, concurrency and management of application components so that developers can concentrate on business logic instead of infrastructure and integration tasks.
MOST can convert your legacy application to a 3-tier architecture (with presentation, business, and data layers) compatible with Java EE. For more information, contact a technical expert at MOST who will provide more information about how this can be done.
[Back to Top]
Why change a network or hierarchical database to a relational database?
Unlike hierarchical and network databases, a user does not need to understand the internal structure of a relational database to perform a query. An SQL optimizer gathers statistics from the database dictionary and selects the most effective path for retrieving the data.
To modify the data structure of a non-relational database, the entire system must be taken offline while a utility restructures every changed record and writes it back to the database. With relational technology, data columns can be added to a table with a simple SQL command.
It is easy to attach a new table to a relational database. The new table instantly becomes part of the system when one or more column names in the new table match one or more column names in previously existing tables.
[Back to Top]
Can you convert my network or hierarchical database to a relational database?
Using the information obtained by analyzing your current database and the programs that access it, OnTarget produces a relational fully normalized high-performance RDBMS data model, including table layouts. The design of each RDBMS table includes its primary and foreign key definitions and the names and attributes for each column of the table.
The RDBMS design is reviewed and fine-tuned to meet the current needs and anticipate the future needs of the customer. The customer-approved design is used for the automatic generation of DDLs and data migration and validation programs.
[Back to Top]
Can you move data from Adabas or VSAM to DB2, Oracle or another RDBMS?
Yes. OnTarget automatically generates:
- DDLs to create RDBMS tables
- Data migration programs that read your current databases and create sequential files containing data and control parameters that are ready to be used with a standard RDBMS LOAD utility.
- Data validation programs that read the source and target databases and ensure the data was validly migrated.
What are the dangers of a manual data migration?
Manual data migrations are time consuming, tedious, error-prone, and may expose unencrypted confidential information to personnel who should not see it. Contact a MOST expert for information about migrating your data automatically and securely.
[Back to Top]
How can we cost effectively move legacy applications to a new platform?
The most cost effective way to migrate a legacy application to a new platform is to automate the migration. Automated migrations are faster and much less error-prone than manual migrations. Even if the programming language is not changed, your application will probably have to be enhanced to utilize new features on the target platform.
Whether you are moving an application to a newer platform and/or converting an application to a newer language, MOST has the expertise required. MOST’s automated conversion suite can migrate your system as quickly as possible. You can trust the migration experts at MOST to provide a smooth and trouble-free move to a new platform.
[Back to Top]


Contact