ADC Migration Studio Helps Developers Port 2E Apps to CA Plex

Article ID: 54295

The CA 2E enterprise application development tool, formerly known as AllFusion 2E and Synon, has been in use more than 20 years and has served the IBM System i platform well in the development of critical applications. 2E models that handle enterprise applications such as insurance, financial services, and enterprise resource planning often contain more than 5,000 database tables and 50,000 functions.

Some aspects of the 2E development platform, though, are starting to show signs of age. 2E generates RPG and COBOL code exclusively, and the user interface is limited to 5250 character-based displays.

To help 2E-based development organizations resolve these limitations, CA Integration Partner ADC Austin has developed a tool called ADC Migration Studio (ADCMS) that enables developers to port their 2E applications to the modern CA Plex environment.

Rationale for 2E Modernization

There are many situations that might call for a 2E-based organization to modernize its 5250 applications.

  • To meet market demand, an application software vendor desires to produce a version of its packaged System i application that will run under Microsoft .NET.
  • Users of a corporate application have requested a browser-based GUI with its accompanying usability and productivity benefits for a line of business systems.
  • The CTO needs to develop and implement an SOA strategy, integrating the company’s 2E-based applications into an SOA framework that will also work with other lines of business applications running .NET and Java.
  • A software application development manager needs to increase productivity by moving to a modern, graphically based IDE with inheritance and patterns.

Given these scenarios, it makes sense for CA 2E developers to explore modern alternatives like CA Plex. Similar in many aspects to 2E, CA Plex is a graphical modeling IDE that integrates with tools such as Microsoft Developer Studio, .NET, and Eclipse. As such, Plex provides a development environment capable of generating complete .NET and Java applications as well as tried and true RPG/5250 versions.

However attractive such a tool might be to a 5250 development organization, the previous inability to effect an automated migration from 2E to Plex has presented a serious obstacle to 2E customers. Many 2E application development organizations have invested a significant number of years into their 2E models and are not willing to rewrite their applications from scratch on a different development platform. This is where ADCMS comes into play. ADCMS provides an automated way to port a 2E application model into CA Plex. Once this is accomplished, the development organization can then take advantage of the wealth of capabilities represented by Microsoft .NET or Java while still generating and maintaining RPG-based 5250 applications for as long as needed.

ADCMS Overview

ADCMS is a set of tools developed by ADC Austin and Hawkbridge Pty. Ltd, in close cooperation with CA. ADCMS is designed to fully automate the process of converting a CA 2E model into CA Plex. As shown in Figure 1, ADCMS works by translating the 2E model into XML and then applying a rules-based translation engine that transforms the XML into a format that can be directly imported into Plex.

The goals of ADCMS are to:

  • Provide complete automated translation of the 2E model into Plex with 99+ percent migration of the database design, code (action diagram), and user interface design.
  • Support all Plex application server deployment targets, including Microsoft .NET, Java, HTML/Websydian, SOAP/XML, and 5250, as well as the common database-management systems such as SQL Server 2005, DB2 UDB, Oracle, and others.
  • Sustain the ability to mix and match RPG/5250, Java, and .NET in the same application portfolio.
  • Ensure a Plex model that is fully understandable and maintainable by the same people responsible for keeping up the 2E application model.
  • Hold up the full lifecycle of application modernization, from design to QA to implementation.

ADCMS Process

Figure 2 shows the ADCMS process for translating a 2E model into Plex. One key point is that application development can continue in 2E while the migration work is taking place. There is no need for an extensive application “freeze” while migration is active. A code freeze only occurs for a brief period at the end of the project before the actual production implementation.

Model Analysis

The first step in a 2E modernization project is to analyze the 2E model and application with ADCMS automated tools to determine migration issues that might be encountered when the application is ported to Plex and regenerated for a different platform such as .NET.

In some cases the 2E application may not be well documented or understood, presenting a risk for modernization. In such a scenario, a second level of analysis may be necessary to study the database and program structure. You can extract database entity relational diagrams and function call graphs to depict them visually in tools like Microsoft Visio. You can also create “Where used” applications object inventories and analyze them for modernization.

After the analysis is complete, you can put a plan in place to deliver the modernization project. Development items would include the creation of customized design patterns in the Plex tool to ensure that the migrated application will be a good fit. These patterns include user interface specializations (i.e., to adopt corporate look and feel standards) and less visible patterns such as security frameworks.

Data Model Translation

The 2E data model, which is often highly complex with thousands of interrelated tables and data relationships, can be imported in its entirety into Plex. The target database DDL and server IO functions can be regenerated into any of the database server platforms that Plex supports, including SQL Server 2005, DB2, Informix, and Oracle. This provides the Plex developer with considerable flexibility in terms of deployment. Figure 3 is a table that shows a migrated 2E model with SQL Server 2005 DDL.

Plex can generate System i RPG-compatible legacy names (with the significant character limitations involved) and can also produce long names that are more usual on modern databases. You can manage and create all database objects such as stored procedures and indices directly from the Plex tool.

Functional Translation

You can translate 2E functions to Plex functions on a one-for-one basis. You can migrate the 2E action diagram code to subroutines of the same name in Plex, preserving comments and code structure. This approach enables the 2E developer to find the exact spot where he or she should make a change in the modernized application. Additionally, all common 2E settings such as function options and implementation names are also preserved.

Once the function is in Plex, any Plex variant can be used to generate it. This provides a straightforward way to turn your RPG into C# or Java, which is quite a trick! Figure 4 shows an example of a 2E business logic migration to Plex and an implemention in C#.

User Interface

The user interface is certainly the most visible part of an application modernization effort. ADCMS offers different options for the user interface.

  • 5250 – 5250 device designs are ported as they are into CA Plex. Although 5250 generation is often overlooked as a modernization topic, it can be a critical component of a successful move to CA Plex for large applications and organizations. The reason is that it can take considerable time and organizational changes to fully implement a modernized application. While the implementation is taking place, you can use Plex to generate the 5250 interface so that business logic does not need to be maintained twice.
  • Rich Client – You can create traditional rich client interfaces for Microsoft Windows/Vista and Java using ADCMS. You can place COM and JavaBean components on the UI.
  • HTML – Browser-based applications are becoming more and more prevalent, and ADCMS provides an automated path to this user interface type as well. First-cut HTML designs are translated from 5250 panels and then modified by HTML developers using standard HTML layout tools like those in Visual Studio.

Figure 5 shows some examples of how a 2E application would look modernized to a .NET or Java-based target platform, both as a browser application and a rich client.

Service-Oriented Architecture

You can automatically produce an SOA-based SOAP/XML interface as part of an ADCMS Plex migration. This feature can help jump-start a company’s move to SOA-based architectures.

Two flavors of SOA implementation are supported:

  • Non-IU Functions. You can directly implement 2E functions such as EXCEXTFUN and RTVOBJ with a SOAP interface. With this type of function, the 2E function parameters simply become the new SOAP XML parameters.
  • UI Functions. You can also automatically implement UI-based functions under SOAP, using parameters that match the input and output fields on the screen. This allows the developer to preserve the business logic that might be tightly embedded into the screen function, such as validation logic.

Native Source Code

In addition to business logic contained in the 2E model, large i5 applications often have native RPG, COBOL, and CL source code. This code also needs to be redeployed as C# or Java in a modernized application.

The ADCMS suite of products includes the capability to include these native source code objects as part of a modernized solution:

  • COBOL — You can directly import COBOL objects can be directly into Plex to regenerate them as C#, Java, or RPG.
  • RPG/CL — You can modernize RPG and CL programs into C# or Java at the component level, callable from the modernized application.

Performance

Performance is a key area of concern for 2E platform modernization. The ADCMS/CA Plex modernization approach uses the following techniques to manage performance:

  • Native code generation of C#, Java, C++, or RPG without translation or machine emulation layers.
  • High performance direct interface/runtime to .NET. Similar interface to J2EE on System i, Unix, or Linux platforms. Figure 6 shows an example of the .NET management interface.
  • Support for platform-specific features within the model (i.e., stored procedures, indices, native OS calls, and patterns to optimize server-server calls).

As a result, you can deploy CA Plex applications in high-performance, high-availability configurations that work well with both online and batch applications in all supported variants from RPG/DB2 to C#/SQL Server.

The Business Logic of ADCMS

ADCMS opens up the business logic that is locked in the 2E model by bringing that logic into CA Plex, a modern, multiplatform, highly integrated development environment. Once the application model is a part of Plex, you can regenerate any business logic that was previously limited to RPG or COBOL implementations in new modern languages like C# and Java and integrate them into other platforms such as Microsoft .NET and J2EE/J2SE. With the new capabilities available with CA Plex, IT organizations can explore new possibilities for developing rich browser-based user interfaces, multi-platform development, and SOA architecture implementation.

For further information contact John Rhodes, principal architect for ADC Austin, at jdrhodes@adcaustin.com.

ProVIP Sponsors

ProVIP Sponsors