Moving Mainframe Applications To Windows
Moving Mainframe Applications To Windows
Analyst Dr. Mike Gilbert of Legacy Directions Limited wrote this custom research note for Microsoft Corporation. Interested readers should contact the author at [email protected] to arrange further discussion or an interview.
Contents
Introduction.................................................................................................................................................... 2 Mainframe modernization .............................................................................................................................. 3 Application migration ................................................................................................................................. 3 Mainframe programming languages ......................................................................................................... 5 Windows compilers for mainframe languages .............................................................................................. 6 Vendor solutions ....................................................................................................................................... 7 Case study: The Italian Department of Social Security............................................................................. 9 Language conversion tools ......................................................................................................................... 10 Vendor solutions ..................................................................................................................................... 11 Case study: GDC A/S ............................................................................................................................. 12 Services and tools to rewrite mainframe applications ................................................................................. 14 Service providers .................................................................................................................................... 14 Legacy analysis tools .............................................................................................................................. 15 Case study: The Schwan Food Company .............................................................................................. 17 Analysis of language migration options ....................................................................................................... 18 Windows compilers for mainframe languages ........................................................................................ 19 Language conversion tools ..................................................................................................................... 20 Services and tools to rewrite mainframe applications ............................................................................. 20 Conclusions ................................................................................................................................................. 22 Looking forward ...................................................................................................................................... 22 Appendix A: Compiler product profiles ........................................................................................................ 24 Appendix B: Conversion tool profiles .......................................................................................................... 26 Appendix C: Service provider profiles ......................................................................................................... 29 Appendix D: Analysis tool profiles ............................................................................................................... 30 Appendix E: The Object Management Group ............................................................................................. 31
Introduction
According to a 2003 report by the Aberdeen Group , investment in legacy applications, which account for upwards of 70 percent of enterprise business operations, consumes as much as 80 percent of enterprise software budgets as IT organizations struggle to align those systems to current and future business 2 needs. In a September 2006 report , Aberdeen Group claims that The global economy runs on legacy systems that represent hundreds of billions of dollars in investments that enterprises have made over decades. Many of these applications were first built 30 or 40 years ago with a life expectancy of 10 years or so, but IT organizations have a poor track record of refreshing investment in software infrastructure. Instead, we have added to, updated, and integrated these applications with new systems as business needs grew, until they became the foundations of present-day business processes. But these foundations are still locked in a technology time capsule; they become harder to modernize as they are more deeply embedded in their surrounding technology infrastructure. One of the key reasons for this difficulty is that the applications are defined by huge volumes of platform-specific source code written many years ago. It is not unusual to find a major bank or insurance company that maintains an inventory of 80100 million lines of code. This requires a large team of mainframe programmers, but these skills are becoming harder to find. Many organizations are now seeking ways to escape from this technology time capsule. Those who have decided on a move to a new platform must consider how to make best use of their investment in existing applications. This paper presents three options and analyzes the impact that these choices have on the business. Business leaders will benefit from a high-level understanding of the issues and conclusions addressed in this paper, but our intended audience is chief information officers and chief architects who are tasked with critical technical decisions that match IT spending (and hence, systems architecture) with business benefits. The paper aims to raise awareness of the available software solutions that can be used to move mainframe language applications to the Windows operating system, and to indicate additional resources for the reader who wants to delve more deeply into the subject. In the sections that follow, we describe briefly the broader issues concerning modernizing mainframe applications and the options available, and we then explore three solutions to the language problem, ranging from recompiling the application on Windows to a complete rewrite. A further option, to replace the existing custom code with a packaged solution, while entirely viable and commonly adopted for generic business applications, is outside the scope of this paper. In each of the three solutions presented here, we provide a list of vendor offerings, a selection of vendor and product profiles, and a case study to illustrate the solution. In the analysis, we look at the business impact of each of these solutions in terms of cost, risk, skills, agility, and innovation.
1
1 2
IBMs Legacy Application Antiques Road Show. Aberdeen Group. April 2003. The Legacy Application Modernization Benchmark Report. Aberdeen Group. September 2006.
Mainframe modernization
Applications written for the earlier IBM mainframe systems and plug-compatibles from Hitachi and Amdahl continue to give service today on System i and System z mainframes. Unisys continues to support early Burroughs and Sperry applications alongside Windows applications on its latest ClearPath hardware. Fujitsu and Fujitsu Siemens help organizations to maintain operations that use applications written for early ICL and Siemens mainframes. Meanwhile, the few organizations that are still using Wang, Bull, Data General, and older machines run the risk of unrecoverable failures. Many are planning to replace these systems with packages or to migrate them to newer platforms. Companies may extend and integrate mainframe applications to use these applications in new business contexts, but this does not help them to rationalize platform choices. The last decade has seen a huge increase in the number of servers deployed to support new business initiatives, but we now recognize that uncontrolled growth has created a large cost and carbon footprint. Businesses today want the flexibility to support consolidation to strategic platforms. In a 2006 report , Gartner suggests that organizations need a wholesale re-architecting of the application platform, and conclude that CIOs and their IT executives must complete enterprise platform migration by 2009. Ultimately, IT organizations that choose a non-mainframe enterprise platform will want to close down their legacy platforms. But legacy applications do not move easily, because they were built on mainframe-specific and often proprietary operating environments. This leads organizations to consider one, or possibly many, of a number of options to move their legacy. These are: Rehost the application with minimal change on a new platform. Convert the application using tools to automate source changes. Rewrite the application to exploit new languages and platforms. Replace the application with a commercial package.
3
We do not address the use of commercial packages in this paper, but we do address the language issue from the perspective of three complementary technology solutions: Compilers for mainframe languages that can be used to rehost applications on Windows Tools that can be used to convert application code to COBOL, C#, or Java Services and tools to rewrite a mainframe application in C# or Java
This paper will help you make a choice between these language solutions and the broad approaches to legacy modernization that they support. Following a review of language solutions, vendors, and case studies, we will analyze the benefits and disadvantages of each solution and present summary conclusions.
Application migration
There is no universally right or wrong approach to legacy modernization. Organizations should take account of business goals as well as technology goals when making a decision to modernize. It is imperative to balance the cost and risk of each approach against your business need for the different benefits that accompany them. For example, rehosting an application without changing the source code language may involve less cost and risk than rewriting the application, but this will not help you deal with a potential future shortage of developers who are skilled in the legacy language. Regardless of the approach taken, application migration requires specialist skills to deal not only with proprietary languages but also with platform-specific batch processing environments, online transaction
3
The Gartner Scenario 2006: The Current State and Future Direction of IT. Gartner. October 2006.
Moving Mainframe Applications to Windows 3
processing systems, and non-relational database systems. Project management, data migration, testing, and deployment add to the list of skills required for successful migrations. While some organizations choose to do this work themselves, the majority recognize that the one-time skills needed for migration are best provided by a specialist vendor. Systems integrators provide an industrialized process and manpower to scale the delivery of modernization services through a methodology that is likely to include the following activities: Feasibility study and pilot projects Business impact and continuity planning Inventory and migration of source code and data Identification and impact assessment of existing application interfaces Composite platform architecture definition and planning Application analysis and project scope assessment Code conversion, synchronization, and regression testing Data conversion, synchronization, and validation Performance benchmarking and user testing Platform configuration, operational setup, and handover Training in new application development tools and techniques Ongoing mentoring and support
You can find further advice on tools and services for application modernization on the Microsoft mainframe modernization Web site (www.microsoft.com/mainframe). This site is constantly updated to provide up-to-date information from analysts, vendors, and others about the issues surrounding mainframe modernization. For example, earlier papers published by Microsoft have considered Windows4 5 based solutions for batch processing and mainframe-compatible transaction processing . This paper considers only the programming language issues when rehosting, converting, or rewriting mainframe applications for the Windows platform. The Mainframe Migration Alliance (MMA), founded by Microsoft in 2004, brings together companies that offer software and services to migrate workloads from the mainframe to Microsoft software (see (www.mainframemigration.org). The purpose of the alliance is to: Provide a community where members can collaborate. Provide co-marketing, sales, and support to partners and customers. Raise awareness of the viability of the Windows platform. Raise awareness of the viability of workload migration. Provide a central point for publishing relevant information.
On its Web site, the MMA currently lists over 100 member companies that cover a full spectrum of service providers, software vendors, and technology specialists.
4 5
See Job Scheduling on Windows at www.microsoft.com/mainframe. See Mainframe-Compatible Transaction Processing on Windows at www.microsoft.com/mainframe.
Many of the 4GL languages are closely related to proprietary databases such as CA-IDMS (ADSO), CA Datacom (CA Ideal), Supra (Mantis), and Adabas (Natural). Conversion of the language normally involves conversion of the database also. This paper does not provide details of database conversion tools, but these are generally available from the same vendors that specialize in conversion tools for the language. 2GL languages (assembly languages) are tied to the hardware and operating system, and are generally highly proprietary in nature. IBM 370 High-Level Assembler has been used widely to implement mainframe applications, including those running under TPF (Transaction Processing Facility), an operating system geared to high transaction throughput. Many applications written using 3GL and 4GL languages use some Assembler code for platform-specific functions. Job control languages such as IBM JCL (MVS and VSE variants), ICL SCL, and others form another category of platform-specific code that contains business rules embedded in batch processes. Finally, both through and in spite of standardization, many of the languages already mentioned come in a variety of dialects. Tools to analyze, compile, and convert legacy applications support specific subsets of these dialects. For example, COBOL, which has four standards (COBOL 66, 74, 85, and 2002) and one addendum (COBOL 89), has hundreds of platform-specific dialects, vendor releases, and extensions. Many of the vendors discussed in this paper specialize in tools and services for a specific platform. Here you will find the greatest support for platform-specific languages such as 2GLs, JCL, and dialects of the more common languages.
Moving Mainframe Applications to Windows 5
Unmanaged code Unmanaged code compilers generate executable code that is targeted for the processor or other run-time environment outside the CLR. Because unmanaged code executes outside the .NET Framework, it does not benefit from the rich class library and tools that Microsoft provides for .NET-based applications. However, these applications can communicate with .NET-based applications via a special interface. It is also 6 possible to create .NET-based assemblies that communicate with unmanaged code to act on their behalf. Unmanaged code compilers are classified in the tables below as those that generate one of the following: Intel x86/x64/IA64 code that is run directly on Windows Java code that is compiled and run on a Java Virtual Machine (JVM) C code that is subsequently compiled by a C compiler into unmanaged code A proprietary intermediate code that requires an unmanaged interpreter to run
Vendor solutions
Over the years, COBOL has become the most widely adopted programming language for business applications. FORTRAN is almost as popular as COBOL, being the preferred language for scientific applications. PL/I (which stands for Programming Language 1) was introduced by IBM in the early 1960s as a single language for both business and scientific applications. Although PL/I did not gain the same popularity as COBOL, many large IT organizations adopted PL/I and have significant ongoing investment in the language. RPG has become the adopted language of the IBM System i (and its predecessors the iSeries and the AS/400). Compilers for COBOL, FORTRAN, PL/I, and RPG are shown in Tables 2 through 5, along with an indication of the generated code options.
Product
ACUCOBOL-GT ICOBOL
8
Generated code
x86 x86 x86, MSIL (verifiable) x86 C Java Intermediate code x86, MSIL (verifiable) Java
7
NetCOBOL for .NET Universal Rational Developer for System z INFINITEzSeries PERCobol RM/COBOL Net Express isCOBOL
6 7 8
These .NET Framework components would not be verifiable because the CLR could not ensure that they will comply with the current security settings. This is shorthand for x86, x64 and IA64 native code for Intel and AMD processors. Data General COBOL.
Product
Absoft Pro Fortran Visual Fortran Compiler Lahey/Fujitsu Fortran FTN95 PGI Visual Fortran
Generated code
x86 x86 x86 x86, MSIL x86
Product
Rational Developer for System z Open PL/I
Generated code
x86 Intermediate code
Product
ASNA Visual RPG VisualAge RPG INFINITEiSeries
Generated code
MSIL (verifiable) x86 C
In addition to the compilers shown above, there are also open source projects such as COBOL for GCC , 10 11 12 13 TinyCOBOL , OpenCOBOL , pl1gcc (PL/I for GCC) , and G95 (Fortran) . Compilers for many other languages (with the exception of Algol) are freely available on both mainframe and distributed platforms. For example, mainframe C++ applications can be moved to Windows and .NET using the Microsoft Visual C++ development system. Appendix A includes profiles of compilers from four vendors that address application rehosting by providing mainframe-compatible syntax and commonly used IBM platform-dependent services. The following case study shows how a Windows COBOL compiler was used to help move a mainframe application to .NET.
See cobolforgcc.sourceforge.net See tiny-cobol.sourceforge.net See www.opencobol.org See pl1gcc.sourceforge.net See www.g95.org
10 11 12 13
From:
easy easy
Choosing a target language is a complex consideration that will be discussed further in the analysis section of this paper. For some organizations, conversion to standard COBOL meets their current business and technical needs. This has driven the development of tools to convert legacy 4GL languages to COBOL and tools that convert proprietary COBOL dialects to standard COBOL. These tools leave us with the option of compiling the application for Windows using one of the compilers discussed in the previous section. These conversions are relatively easy, which is to say that they are no harder than writing a compilera task that is based on well-established software engineering principles. Converting an application written using a 4GL language to an OO language like C# or Java is also relatively easy. 4GL languages are based on the now-familiar three-tier architecture of user interface (screens), business logic, and data access, which provides a convenient application model from which to build an object model.
14
This table is provided to illustrate that many conversion problems are relatively easy; it does not in any way reflect the sophistication of these tools.
10
The same is not true for applications built using a 3GL language like COBOL. Statement-level analysis is not sufficient to discover a complete object model. Some converters do not attempt to discover an object model, and settle for basic conversion strategies. Others gather high-level design information by user survey, and couple this with source code analysis to build an object model. More sophisticated tools allow the conversion specialist to adapt the model (and its links to the original source code) to refine the architecture of the resulting application. However, there is no guarantee that even sophisticated conversion tools can build a satisfactory object model for all applications. The engineering principles behind automated language conversion are still a work in progress. Development of standards for interoperability between tools is being coordinated by the Object Management Group, as described in Appendix E.
Vendor solutions
As a market has grown for tools that transform applications from those built for one legacy platform to those built for a more contemporary platform, conversion specialists have emerged. Their principal offering is most often service-led, based on a deep knowledge of specific technologies. This knowledge is supplemented by technology that was developed during prior engagements to help automate application and data transformations. Most conversion specialists work with global and regional systems integrators to scale their solutions. Table 7 provides a representative list of conversion specialists and the primary mainframe languages that they can convert.
Technology
SLAM LION DB-Shuttle LanguageMigrator G4-Technology EZ Target Convert/ADSO, Convert/CSP, Redirect/COBOL Code Liberator Rules-Based Transformation Engine, LincXGEN filter ICONS Phoenix Technology Jazillian Keous toolbox
Mainframe Languages
Unisys LINC, COBOL
15
ADSO, Assembler, COBOL, Focus, JCL, Natural ADSO, Assembler, COBOL, COOL:Gen, CA Ideal, Mantis, Natural, PL/I Assembler, COBOL, Mantis, PL/I , RPG COBOL, JCL, Natural ADSO, CSP, COBOL COBOL, Natural, RPG Unisys LINC, COBOL CA Ideal GCOS COBOL & JCL C, C++, COBOL Assembler, COBOL
15
Many of these vendors also convert other mainframe and non-mainframe languages that are not listed here.
11
Legacy Software Downsizing Make MetaWare move2open Micro-Processor Services MigrationWare Millenium Technics MOST Technologies MSS International PBSI PKS Quipoz Relativity Technologies Semantic Designs Software Migrations SoftwareMining Sykora-ML The Software Revolution Transoft (IRIS) Trinity Millenium Group
PowerDrive TLM Refine I2C Various Various Various OnTarget migrate!COBOL, migrate!LINC .NETigration Migration Tools 400 EGL, SmartEGL Transformation Engine Transformation Assistant DMS FermaT COBOL Translation Toolkit ML-iMPACT JANUS
2
Application Master, COBOL, SCL COBOL, JCL, Natural, PL/I, RPG C, COBOL, FORTRAN, PL/I CA Ideal, MetaCOBOL Assembler, COBOL, PL/I CSP, Easytrieve, CA Ideal, Natural, Mantis Algol, COBOL, LINC, RPG Natural COBOL, LINC RPG, CL COBOL, Natural, RPG COBOL, CSP, LINC, Mantis, Natural, PL/I, RPG COBOL Ada, C, C++, COBOL, FORTRAN, JCL, Natural, Pascal Assembler COBOL RPG, CL Ada, Assembler, C, COBOL, FORTRAN, JCL, Magna X, Natural, PL/I COBOL Most mainframe languages
Appendix B shows the most common capabilities that are provided by language conversion tools, and includes profiles of three vendors that offer language conversion solutions. The following case study is an example of an automated conversion from Software AGs Natural to Java and C#.
GDCs needs. A $2.6 million rewrite proposal was ruled out on cost grounds. GDC considered moving the outsourcing contract, but could not locate a supplier with sufficient Adabas/Natural skills. Eventually the company conducted a proof-of-concept project with BluePhoenix Solutions, and decided to migrate the application to a Windows .NET-based platform to be operated and maintained internally. BluePhoenix tools for converting Adabas/Natural to Java were more efficient than those for C#, and time was a critical factor for GDC. As an interim measure, the migration team converted the 540,000 lines of Natural code and screens into Java and JSP, and the Adabas database to SQL Server; JCL and Assembler code was rewritten by hand. The replacement application went into production in May 2007 (less than a year after the project started) on two 8-way application servers and two 8-way database servers that are running the Windows Server 2003 operating system. GDC has reduced its annual costs to $360,000 with this move. This includes the cost of internal staff dedicated to maintaining and operating the application. The company reports that the converted code is not as easy to maintain as custom-coded Java. The next phase, to convert the original Adabas/Natural application to C#, is planned for 2008.
13
Rewriting a large mission-critical application is a complex undertaking that may involve greater costs and a greater risk of failure than other solutions. This does not mean that this is not a viable solution, but it does suggest that such projects should be undertaken with care, and only when lower-risk solutions have been ruled out. One such lower-risk solution is to consider implementing a standard (off-the-shelf) package to replace a custom application. Standard packages are available for a wide range of cross-industry business needs such as HR, payroll, finance, stock control, resource management, and customer relationship management (CRM). Packages are also available for the specific needs of industries such as banking and insurance. Generally, organizations choose to rewrite an application when there are compelling business reasons to upgrade the functional characteristics of the application. Consider, for example, modernizing a single currency application to support business expansion into global markets. This upgrade is likely to involve widespread changes to enable operation in multiple currencies, as well as significant new functionality to handle currency exchange and localized tax and import/export regulations. Rewriting may be the best option; cost and risk can be minimized with judicious selection of a services partner and legacy analysis tools.
Service providers
Most large systems integrators and outsourcing firms offer modernization services. Table 8 shows a representative selection of global service providers that have built modernization practices to focus internal expertise and resources on clients modernization projects. These firms supplement technical implementation services with consulting services to develop a modernization plan based on an initial assessment phase. The level of assessment offered by these companies ranges from a focused technology assessment (for example using application portfolio management software) to a high-level strategic business and technology plan for a phased, multiyear IT modernization initiative.
14
Appendix C includes profiles of two global service providers that offer modernization services. There are also many regional service providerstoo many to list in this paperthat have developed modernization capabilities. Many of the language conversion tool vendors that are listed in Table 7 also provide assessment and implementation services to rehost, convert, or rewrite mainframe applications.
Table 9 presents a representative selection of application analysis tool vendors, and lists the mainframe languages that they support.
15
Product
ASG-Existing Systems Workbench IT Discovery Application Intelligence Platform Legacy Elimination Tool Legacy Rejuvenator EZ Source Portfolio Liberator WebSphere Studio Asset Analyzer Refine Enterprise View 4Sight Raincode Engine Modernization Workbench Application Manager DMS Natural Engineer BRE toolkit evolveIT TMGi-SAT, TMGi-BRH
Mainframe Languages
COBOL COBOL, JCL, PL/I, Natural, Easytrieve, ADSO, Mantis, Telon C, C++, COBOL, JCL (Not applicable) Assembler, COBOL, Natural COBOL, JCL, Natural, PL/1 COBOL, Natural, RPG Assembler, C, C++, COBOL, PL/I C, COBOL, FORTRAN, PL/I COBOL, JCL, PL/I Algol, COBOL, Natural, Mantis, Pacbase, XGEN Ada, APS, C, C++, COBOL, CA Ideal, PL/1 Assembler, C, C++, COBOL, JCL, Natural, PL/I, RPG COBOL, Natural, PL/I Ada, C, C++, COBOL, FORTRAN, JCL, Natural, Pascal Natural, COBOL, JCL COBOL COBOL Most mainframe languages
The most common approach to rewriting an existing application is to use application analysis tools to reverse-engineer the application to a good-enough model. Such a model may include record definitions, data flow analysis, business rules, process flows, and use cases. The model need not be as complete as that needed to build a new application, but it provides a starting point that is then refined from existing and new business requirements. A completed application model then provides the foundation for the development of the new application by using trusted development tools and processes. This approach differs from the early phases of a conversion project by allowing greater freedom to modify application architecture and behavior. In building the model by analysis, it is important to document those facets of the existing application that are to be preserved, and those that are not, providing a basis for selective inclusion. Application analysis tools do a good job of identifying data structures, data flows, and process diagrams from source code. Many of these tools also offer business rule mining and business process identification. These tasks require some level of heuristic analysis of source code patterns. Manual intervention is
Moving Mainframe Applications to Windows 16
needed to identify house coding patterns and to guide the discovery process. Even so, the results may be disappointing if the source code is not well structured. Appendix D includes profiles of two vendors that have contrasting approaches to discovering the model of an existing application. Relativity Technologies adopts the conventional (white-box) source code analysis approach, whereas Erudine offers a black-box approach to cloning a legacy application, by observing inputs and outputs of the operational system. The following case study is an example of collaboration between a service provider and a tool provider to build a model of a legacy application that was then used as the basis for new development.
17
In this paper we report on the skills impact of each approach; businesses must decide the relative importance of language choice according to their own priorities.
16 17
See www.microsoft.com/mainframe. Note that the solutions proposed in this paper do not depend on mainframe infrastructure skills (such as z/OS configuration and administration).
18
Cost (low)
+ + +
+ +
Skills (retain)
+ + +
Agility (low/moderate)
+ -
Innovation (low)
+ -
19
20
COBOL code were replaced with 1 million lines of C# code, which represents a considerable simplification (and thus cost reduction) in ongoing development and maintenance. Table 12 shows the business issues that are involved when rewriting mainframe applications. In this analysis, it is assumed that functional changes will be allowed or encouraged to make use of the new platform, to provide a new user experience and to improve application architecture. This of course will expand the scope and the resulting cost of the project. This analysis does not take into account the additional cost of functional improvements, which vary case by case.
Innovation (high)
Table 13 shows a summary of the business impact of these three approaches to language migration.
Converters
Low Moderate Replace Moderate/High Low
Re-write
High High Replace High High
21
Conclusions
Application modernization has emerged in the post dot-com era as a significant market. In 2003, Giga (now part of Forrester) estimated that there were more than 180 billion lines of COBOL code in production 18 use . If IT organizations spend an annual average of 10 cents per line of code to modernize mainframe systems, we can see that this is indeed a multi-billiondollar market. It is hardly surprising to find that this market is served by a large number of hardware, software, and services vendors across all geographies and industry sectors. A significant part of that market serves the needs of IT organizations that choose to consolidate operations on a new platform. Some organizations adopt a package solution; many choose one (or a combination) of the three migration options discussed in this paper: rehosting mainframe applications, converting them to a new language, or rewriting them. The technology that underpins these solutions is not new: technology for all three solutions has matured and stabilized over a period of 20 years or more, and all three solutions have notched up many hundreds of successful projects. In this context, you should not feel that these solutions present any greater technology risk than other application development tools and techniques. The risk that does arise is the risk that these projects are undertaken without fully analyzing the impact they may have on the business. These projects affect existing, stable, core systems that run the business; project failure often leads to significant negative business impact, such as revenue loss or customer dissatisfaction. Failure with new software development does not carry the same burden. The bottom-line inference from the analysis above is that none of these solutions provides both low cost and low risk and delivers high levels of agility and innovation. Each solution sits at a different point on the line of compromise between these extremes. Rehosting using compilers carries the lowest cost and lowest risk, and at the same time delivers the lowest incremental agility and innovation. Application rewrites deliver the gain, but not without the pain. To help you understand the difference in cost, expect to pay in the region of U.S.$2 per line of code to use conversion tools to turn a COBOL application into C#, and substantially less than that to simply keep the code in COBOL on the new platform. If you want to engage a services firm to rewrite the same application, 19 the cost could be as much as $10 per line of code . You should also take into account the additional cost to retrain users in new processes when application changes are more fundamental.
Looking forward
Using compiler technology to implement mainframe applications on Windows is a well-established technology practice. Improvements in the levels and scope of language and subsystem compatibility will, over time, make these projects easier and less costly. While this solution will be commoditized, rehosting mainframe applications will appeal less in the future as the skills issue looms. Though the service-based approach to application conversion fits the current needs of users who consider modernization to be a specialist activity, IT organizations will come to expect greater levels of automation in their desktop development tools. Many conversion specialists have introduced, or are about to introduce, sophisticated tools that are licensed directly to end users or service providers. This is likely to become a growth market.
18 19
Market Overview: Web-to-host ToolsA Crowded Market, but Compelling Technology. Giga Information Group, March 2002. Source: Legacy Directions Limited, 2008.
22
The high cost of rewriting mainframe applications will certainly add fuel to the conversion tool market. Services companies will be forced to adopt more and more automation into their practices to scale their delivery capability and remain competitive. This will strengthen relationships between service providers and vendors of automation tools in the near term. Over time, service providers will develop or acquire automation tools to hold down project costs. At the same time, as platform providers embed more high-level, reusable functionality into middleware and tools, as software vendors deliver more commercial packages and SOA components, and as software-as-a-service (SaaS) components come online, less custom code is needed to build business applications. This will reduce the barriers to rewriting mainframe applications, and increase the adoption of more contemporary solutions.
23
24
Micro Focus Net Express Micro Focus describes its products as Enterprise Application Modernization software. Its software products fall into three categories: Application Development, Application Portfolio Management, and Application Modernization software. Modernization solutions include hardware platform migration and software platform rationalization. Micro Focus Net Express includes options to compile COBOL to managed, verifiable code for MSIL or to unmanaged code for Windows. The compiler inherits a high degree of compatibility with IBM mainframe COBOL dialects from Micro Focus long tradition with mainframe development tools. OO COBOL syntax based on the COBOL 2002 standard with extensions provides the means to use .NET Framework classes and to create new COBOL classes. Net Express includes an IDE for application development and also integrates COBOL into Visual Studio 2005 Standard Edition, which is included. Although Micro Focus sells tools to run IBM CICS, IMS, and JCL applications on Windows without change, these currently operate only in the unmanaged Windows environment. To compile these as .NETbased applications, the code must first be converted to use equivalent features of the .NET Framework. Alnova Financial Solutions moved a banking application consisting of 11 million lines of CICS COBOL code to the .NET platform to provide a solution for small- to mediumsized banks. The core of this application, over 80 percent of the total code base, was compiled for the .NET platform without change. Micro Focus works with the major global integrators and a large number of regional SIs to help customers modernize applications and development practices. Micro Focus has also formed the Migration and Transformation Consortium (MTC), whose members provide specific platform, language, and database re-engineering solutions. Silverfrost FTN95: Fortran for Windows Silverfrost Limited provides a compiler called FTN95: Fortran for Windows. FTN95 was initially developed by Salford Software, one of the original VSIP partners that integrated FTN95 with the first release of Visual Studio .NET. Silverfrost FTN95 supersedes Salford FTN77, Salford FTN90, and Salford FTN95. The company offers academic and commercial licenses for FTN95 and a free version for non-commercial use. The product provides tools and API support to build console-based native Windows-based and .NETbased applications. The company Web site includes a case study for the University of Manchester School of Biological Sciences; there, Simfit, a package consisting of 1 million lines of FORTRAN code for simulation, curve fitting, statistical analysis and graph plotting, was migrated to FTN95 and uses a GUI package called Salford ClearWin+. FTN95 is a Fortran 95compliant compiler for Windows that generates managed and unmanaged code. Managed code is not verifiable, but run-time code correctness can be checked by using CHECKMATE. Unmanaged executables are built using a linker provided by Silverfrost (dbk_link). FTN95 also handles the Fortran 77 and Fortran 90 standards, and many vendor-specific legacy language features. It includes support for 32-bit, 64-bit, and 80-bit arithmetic. Plug-ins provide complete language integration with Visual Studio 2003, 2005, and very soon 2008. A lightweight IDE consisting of an editor and a debugger can be used as a standalone product.
25
ATERAS DB Shuttle ATERAS, founded in 1983 as Sophisticated Business Systems (SBS), initially provided IDMS consulting services; it later developed expertise to convert IDMS applications to relational applications. These projects led to the development of the DB Shuttle technology, which was used to automate the conversion of IDMS ADSO applications to CICS/COBOL with DB2. Since then, the company has added new capabilities for moving applications to new databases and platforms, as well as to perform language conversions. DB Shuttle converts IDMS, IMS DB, Adabas, and VSAM databases to DB2, Oracle, and SQL Server, and includes parsers for ADSO, Assembler, COBOL, Focus, JCL, and Natural. ATERAS is currently investigating requirements for CA Ideal, CA Datacom, Eztrieve, PL/I, and RPG. After a database has been parsed, application analysis tools provide structure views, impact assessment, and a project workbook to guide the conversion. Templates define specific conversions, and can be customized using the proprietary scripting language PowerSkel. Database conversion tools generate DDL for database definition and JCL to extract, format, and clean the data, producing a form that is ready for loading.
Moving Mainframe Applications to Windows 26
DB Shuttle can generate COBOL, C#, Java, and JavaScript. The C# converter, reviewed and verified by Microsoft, uses the Windows Communication Foundation to separate presentation logic from business logic in a three-tier architecture. ATERAS is often called in to help with modernization projects by IBM Global Services, Accenture, and other regional systems integrators. To meet increasing demand, ATERAS plans to offer a DB Shuttle software-as-a-service (SaaS) model to trained partners. BluePhoenix LanguageMigrator BluePhoenix Solutions, a legacy modernization specialist formed 20 years ago, has recently expanded with the acquisition of ASNA, a provider of developer tools for IBM System i and AS/400 computers. Tools include source code analysis, business rule mining, automated language, database and platform migration technologies, remediation tools for pervasive code changes (such as Euro conversions), and a new capability called BluePhoenix Redevelopment to re-architect COBOL applications. About 70 percent of conversions are to Java, but a growing number of conversions are to C#. The largest conversions have been for mainframe applications in the range of 6 to 10 million lines of code, where complex integration of applications requires special attention using code analysis tools. BluePhoenix supports conversion to COBOL, Java, or C#. Automated conversion to C# using LanguageMigrator is supported for COOL:Gen and Natural. BluePhoenix enlists the help of partners for other conversions. The BluePhoenix Redevelopment solution is a combination of tools, methodology, and services to break down monolithic COBOL applications into service layers for user interface, business logic, and data access. 3270 screens are modernized to use graphical controls, and data can be refactored to use abstract data types instead of memory-based COBOL data. Refactoring is performed on the intermediate (abstracted) representation of the application, and facilitates conversion to a new architecture based on OO principles for Java and C#. BluePhoenixs product team develops the companys core automation tools, and contributes to the Object Management Group (OMG) Architecture Driven Modernization Task Force (ADMTF). (OMG is described in Appendix E.) Delivery teams totaling 400 staff are located in the USA, UK, Italy, Denmark, Romania, and Cyprus. Where BluePhoenix lacks a strong local presence, it partners with a local integrator. In some instances, BluePhoenix is subcontracted by a global SI for its tools and expertise in modernization. The Software Revolution Inc (TSRI) JANUS Established in 1995, The Software Revolution Inc (TSRI) offers legacy modernization services to customers in the government and defense industries. Its JANUS toolset is used to automate the modernization of existing applications, converting them from a variety of 3GL and 4GL languages to object-oriented C#, C++, or Java running in .NET or J2EE. TSRI has completed approximately 50 modernization projects, notably for mission-critical systems such as the Ballistic Missile Early Warning System at the U.S. Strategic Air Command, the U.S. government MILSTAR communications satellite, and the U.S. and European air traffic control systems. In one case study, the National Endowment for the Arts had failed in an attempt to rewrite 656,000 lines of Wang COBOL at a cost of U.S.$1.6 million. The application was converted to C++ and Microsoft SQL Server by TSRI in 24 months at a cost of $450,000. In a current project for Northrop Grumman, TSRI is converting over 1 million lines of Tandem COBOL into a combination of C++ and Java running in the Air Force Global Combat Support System (GCSS).
27
Application conversion is driven by transformation rules to refactor and Web-enable the application; rules developed iteratively refine the resulting OO design. Transformation rules operate on source, intermediate, and target Abstract Syntax Tree (AST) representations of the application. Generators based on source and target AST representations provide hyperlinked as-is and to-be HTML documentation. TSRI is a member of the Mainframe Migration Alliance, the OMG ADMTF, the Enterprise Re-Architecting Consortium, and the Natural Modernization Strategies Information Forum (NAMS-IF).
28
30
Package
Knowledge Discovery Meta-Model (KDM) Abstract Syntax Tree Meta-Model (ASTM) Analysis Package Software Metrics Meta-Model (SMM) Visualization Package Refactoring Package Transformation Package
Status
Adopted April 2006 (now working on next revision) Proposal under review (adoption planned March 2008) RFP issued December 2007 Proposal under review (adoption planned March 2008) To be addressed To be addressed To be addressed
The ADMTF consists of about 50 member organizations, including major industry players and a balance of modernization software vendors and service vendors. Four separate subgroups of the ADMTF are working on the first four proposals. It is producing a white paper on the subject of Levels of Abstraction, which may result in changes to the roadmap proposals on visualization, refactoring, and transformation. The KDM package provides an XML Metadata Interchange (XMI) schema that can be used to import and export application information between tools. This specification includes software artifacts such as systems, programs, screens, databases, and selected program-level representations, coupled with business domain knowledge. IBM, KDM Analytics, Relativity, and Unisys are among the vendors currently working toward implementing this specification in their application analysis tools. The ADMTF is also collaborating with the OMG Business Modeling and Integration Task Force to help link existing artifacts with new requirements.
20
31
The ASTM package will provide the statement-level information that is necessary for a detailed data analysis and flow analysis of existing code. ASTM will not define language conversion rules, but will provide the level of detail necessary to generate source code. One of the goals of the ADMTF is to build models from existing applications that are sufficient to forward-engineer new applications using modeldriven architecture (MDA) tools. The acronym reversal from ADM, a form of reverse-engineering, to MDA (which came first) is no accident!
32
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. This research note is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2008 Microsoft Corporation. All rights reserved. Microsoft, SQL Server, Visual Basic, Visual C++, Visual Studio, Windows, and Windows Server are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.
33