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.
There are many situations that might call for a 2E-based organization to modernize its 5250 applications.
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 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:
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.
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.
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.
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#.
The user interface is certainly the most visible part of an application modernization effort. ADCMS offers different options for the user interface.
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.
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:
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:
Performance is a key area of concern for 2E platform modernization. The ADCMS/CA Plex modernization approach uses the following techniques to manage performance:
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.
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.