Mainframe Migration

Semantic Designs provides tools and services to help migrate Mainframe legacy software systems to new languages such as Java and C# and technologies such as web and SQL. (Here you can see an example of COBOL to Java or COBOL to C#

Migrating Large Software Applications Needs Automation

The need to migrate mainframe software is often motivated by a mixture of motives, including

  • The high cost of operating the mainframe
  • Shrinking pool of IT personnell that understand the mainframe system languages and structure
  • Need for faster application evolution in response to changing requirements by use of more modern software engineering methods
  • The need to integrate the application and its data more effectively with the balance of the organization

Yet most of the legacy software performs an extremely valuable function which must not be disturbed by a migration. Hand-migrating large applications by recoding from scratch causes huge management overheads if the migration team attempts to re-validate the requirements with management. Hand-migrating by translating line for line introduces errors by damaging implicit business rules, and suffers from scope creep. In addition, there is a continual war between the application maintenance staff, which must keep the application running during the migration process, and the migration staff, which does not want to see any change during the lengthy migration process. As a consequence, many manual migrations fail or run significantly over time and cost budgets. Offshore hand-migration suffers the same problems as well as communication and coordination problems.

Automated migration to preserve functionality and control time and costs is a must for most mainframe migrations. An automated migration also allows the application staff to continue upgrading the application during the window in which the migration tool is being configured and tested; the migration tool is simply applied the legacy system at the point when the migration tool is ready.

Languages to Migrate

Mainframe Software is often large, complex, and coded in many legacy languages, including COBOL, JCL, Natural, Ideal, PL/1, HLASM (Assembler), etc. Often there are multiple dialects of each language across the application system. The source code of each component of the application often needs to be migrated to a modern language such as Java with JSP or C# with ASPX. The mapping of source files is often not one to one, and is dependent on a number of target environment properties unique to each customer's desired target configuration

Databases to Migrate

In addition, there are a variety of data bases, including flat files, CODASYL networks, heirarchical files (IBM IMS and VSAM, Unisys DMSII, Computer Associates DataComm,...) and legacy relational databases (Model 204, Unisys DMS 2200 and RDMS, Adabas, ...). Often the legacy data representation must be changed to a modern relational model using Oracle or Microsoft SQL, necessitating translation of the legacy data schemas, and modification of the application source code to access the reshaped data via completely different APIs (SQL statements, ODBC calls, customer-specified data layers). The data itself must be also be moved and reshaped to match the new representation.

Infrastructure to Migrate

Finally, mainframe systems often have considerable other infrastructure that must be translated to equivalent functionality on the target system. Transaction management (IBM CICS or UNISYS TIP), Screen formats, external interfaces, job scheduling, all have to mapped to target system technologies, which are often quite different (J2EE, .NET, ...)

Custom Automated Translation Tools Per Migration

The variety of languages, database and infrastructure technologies going into the migration, and the customer's selection of a combination of languages, databases and infrastructure technologies coming out, virtually ensures that each migration must be custom for that particular customer. The implications are that migration tools must be extremely flexible in accepting source language technologies, and configurable to the desired target technologies on demand.

Semantic Designs provides translation technology and services to achieve mainframe migrations, based on SD's generalized compiler technology, The DMS™ Software Reengineering Toolkit. Using such generalized technology allows SD to amortize the engineering cost of building high quality translators over many applications, and achieve high 90s percentage in conversion. DMS can handle multiple source and target languages, and scales to handle systems with millions of lines of code. It is configured to match the migration details unique to the customer, rather than trying to bend the customer's situation to the abilities of a hardwired-translation tool.

Additional leverage is provided by DMS through SD's library of front and back ends for many of the languages required in mainframe migrations:

  • Legacy Languages: COBOL, JCL, Natural, PL/I, SQL
  • Target Languages: Java, JSP, C#, ASP, C++, HTML, XML, JavaScript, VBScript, PLSQL

Other 4GL languages or preprocessor-driven applications can be defined as a custom language to DMS.

Of special interest in most mainframe modernizations tasks is COBOL Migration.

Many mainframe systems also have HALSM (mainframe assembler) to modernize. See Mainframe Assembler Migration.

There are many providers of semi-automated tools that provide modest conversion percentages. In essence, such tools convert the part of the code that is "easy" to convert, forcing manual intervention for bulk of the difficult part, leading to all the manual migration problems listed above.

Assessment and Planning

Any large migration requires careful planning and support. Semantic Designs can

To discuss mainframe migrations in more detail, contact us. Details about timeframe, the set of legacy programming languages, SLOC for each type, other legacy technologies, and desired modern target system are extremely helpful.

For more information: info@semanticdesigns.com    Follow us at Twitter: @SemanticDesigns

Mainframe
Software Migration