X-2E Modernize - IBM

11
A description of X-2E Modernize, the heart of the X-Analysis CA 2E Modernization Module. X-2E Modernize works directly from the Synon model to automatically convert your application to Java or RPG Free. X-2E Modernize Automated Conversion of CA 2E (SYNON) Applications to Java or RPG Free using Fresche Legacy’s X-2E Modernize What’s Inside X-2E Modernize

Transcript of X-2E Modernize - IBM

Page 1: X-2E Modernize - IBM

A description of X-2E Modernize, the heart of the X-Analysis CA 2E Modernization Module. X-2E Modernize works directly from the Synon model to automatically convert your application to Java or RPG Free.

X-2E Modernize Automated Conversion of CA 2E (SYNON) Applications to Java or RPG Free using Fresche Legacy’s X-2E Modernize

What’s Inside

X-2E Modernize

Page 2: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E Modernize

Some Highlights:

f Creates MVC Design Model from recovered interactive program legacy designs in CA 2E Model

f Screens/Functions

f Data Layer/Internal Routines

f Business logic/Action Diagrams

f Generates MVC code from recovered CA 2E designs as RPGLE-Free, Java JSF/Angular JS, Hibernate, Spring, DAO

f Works over user-defined application areas or individual programs

f Compares Original and Recovered code

f Transforms RPG batch logic into Java or RPGLE-Free

f Creates Hibernate configuration files and JPA package from recovered relational model

f Fully automates and integrates documentation with X-Analysis

f Creates platform-independent UI/View-Controller meta-data (functions) from 2E Functions

f Builds Java data migration package from legacy data model

Since its introduction, CA 2E (Synon) has become the most suc-

cessful 4GL tool on the IBM i platform. The CA 2E development

environment combines a rich and precise model of designs

and specifications with powerful code generation capabilities.

Even with this powerful set of features, many companies now

face real pressure to modernize their business applications

beyond the scope and capability of what CA 2E can offer. The

challenge is to move forward without discarding decades

of investment in design, evolution and fine tuning stored in

the CA 2E model. Fresche’s X-2E Modernize is the solution

for modernizing any CA 2E application. X-2E Modernize

automatically re-factors and generates an MVC Web

application using OO methods in Java or RPG Free (Flex &

Silverlight UI soon to be added). Fresche’s X-2E Modernize takes

advantage of CA 2E application architecture to automatically

convert applications. Since CA 2E forces users to organize

code into screen designs, action diagrams, business logic and

database components, X-2E Modernize uses this internal

2E model to extract design information in a structure that

maps cleanly into a modern MVC/OO/RESTful architecture.

X-2E Modernize

X-2E Modernize: The complete, automated solution for conversion to Java or RPG FreeCA 2E (Synon) applications can easily be converted to Java or RPG Free using X-2E Modernize

Entities &Relationships FunctionsCA 2E Internal

RoutinesAction

Diagrams

AnalysisData ModelDiagrams

Data FlowsDDL/XML/UML

Screen Designs& Data MappingScreen ActionsBusiness Rules

GraphicalDocumentation &Impact Analysis

Business RulesAnalysis &Graphical

Structure Charts

DDL Database

Web UI as:Angular JS

JSFASPx

5250/OA

Re-UsableModules as FreeFormat RPG &

SQLLE

Event Driven,Business Logic

Modules as FreeFormat RPG

Modernize

Modernize

Page 3: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E Modernize

Whatever the approach to modernization, design recovery is the first

step. With this understanding, developers can quickly identify the

business rules and reusable designs embedded in core business

Design Recovery: The basis for modernization

DocumentationX-Analysis

Word/Open Office/Excel

UMLXMLDDL

JavaRPG Free

Current Potential

LANSAOracle ADFSilverlight

ExtractedFunctions/UI

Recovered Design

RefactoredAction Diagrams

or Business Logic

Data Model

modernize or re-develop a system. Reusing existing designs programmat-

ically can provide a dramatic productivity gain in rebuilding an application.

Why start from the CA 2E (Synon) Model?It is only possible to convert CA 2E (Synon)

applications by working from the CA 2E

model into the target architecture and

code. Conversion processes that attempt

to translate the 2E-generated RPG code

will result in volumes of unnecessary,

unrecognizable and unmaintainable code.

In automated reengineering projects, the

2E information (and not the RPG) is parsed

by X-2E Modernize to recover knowledge

chunks and reassemble them into a new

system. Several reasons why you should not

attempt to directly convert the 2E-generated

RPG code:

f You will be converting approximately

10 times more code

f The new code will not follow a modern

architecture design

f No one will recognize the new code and

it will be extremely difficult to maintain

f You are likely to have difficulty with

scaling and performance

f Generating from the RPG is not a viable

long term investment

processes. They can also

restructure code, remove

dead code and create re-

usable components that

can be enabled as services

within a service-oriented

architecture (SOA) or any

modern application archi-

tecture.

Design Recovery is very

valuable for documen-

tation and application

support purposes, but

the real benefits come

when the recovered

design can be used to

Page 4: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E Modernize

The X-2E modernization process includes two stages: Component

Generation and Application Generation.

COMPONENT GENERATION

The Component Generation stage includes: 1. Database Modernization;

2. Business Logic Rebuild; 3. UI/Print Functions. Components are sum-

marized at right, and described below.

Modernization Process

1. Database ModernizationThe data model for a legacy application as deduced by X-2E can be used to modernize

the database and database access as well as provide valuable information for analysis

and documentation. Once you have a modernized database, you gain a number of

advantages:

f Openness/Standards compliance: Using industry-standard SQL means that many

different tools and applications on multiple platforms can easily access and use your

modernized database.

f Portability: Because the database is defined in purely SQL terms rather than in

a proprietary file format, it becomes portable — i.e., it is now viable to consider

moving the database to another platform.

f Improved performance: IBM’s data retrieval efforts have been concentrated on SQL

access rather than file-based access for many years.

f Ability to use modern Object Relational Mapping (ORM) software such as Hibernate

for rapid application development in Java and other modern languages.

f Reduced dependency on System i-specific skills such as DDS, which may lead to cost

savings and reduced risk.

f Data Integrity: Journaling is available for SQL access just as it has always

been for file-based access. Constraints and referential integrity can be

implemented directly at the database level where they are unavoidable

rather than at the program level. Database triggers allow code to be run

before or after records are added, updated or deleted, providing an easy way

of enforcing compliance, audits, validations and applying business rules.

f Database modernization also uses the advanced design extraction directly

from the CA 2E model, making use of long field names, constraint logic and

all relevant database abstractions, either kept on IBM i or migrated onto

other DBMS systems.

DatabaseModernization

DDS to DDL ConversionData Quality AnalysisORM Framework Gen-(Hibernate)OO VO layer with Web service wrapper

Re-factor into event-driven model OO mappingBusiness rules databaseBusiness Logic Model generated as Java, RPG FreeWeb Service Layer

Screen formats/layouts/fields/files/attributesScreen actions flowORM mapped to UIConditional field/UI/flow logic

BusinessLogic Rebuild

UI/PrintFunctions

Page 5: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E ModernizeModernization Process - Cont’d.

2. Business Logic Rebuild

After recovering the Data Model, the next step is to extract the logic

that gives the application its particular characteristics. The generic

term for such logic is Business Rules. The challenge is to extract or

“harvest” these rules from the legacy code.

Once harvested, these rules need to be narrated and indexed, thus

providing critical information for any analyst, architect or developer

charged with rebuilding a legacy application. The task of harvesting

business rules manually is a highly skilled, labor-intensive, and costly

exercise for any organization.

X-2E Modernize accomplishes this task by automatically scanning

the RPG and COBOL programs and the 2E model programmatically.

It then separates out rule code from the body of the application and

identifies, indexes, narrates, and stores business rule logic code into

a structured, usable repository. In the final part of the process, it

supplies appropriate textual narratives to describe these harvested

rules.

Once the rules are derived, they can be viewed in summary form, as

shown above at right.

The business rule repository can then be used programmatically to

generate new code (migrated logic - see at right). At the same time,

the built-in documentation, which cross references where-used ob-

jects and annotates capabilities, may be used by new developers as

the necessary input for re-specification exercises, whether for new

applications or for modifications to the current system.

View the business rule summary at a glance

Generate new code from the business rule repository, or use the built-in docu-mentation (including full cross-referencing and annotated capa-bilities) to create new specs.

Page 6: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E ModernizeModernization Process - Cont’d.

3. UI/Print Functions

The screens of a legacy application are a classic example where the design is useful in

a modernization context, and the code is not. The sheer number of screens in a legacy

application presents a logistical problem in recreating them manually. X-2E Modernize lets

you see what the legacy screen looked like without having to run the application, which is a

great time saver for people not involved with the original application.

View individual screens without running the application

Design new screens in a GUI designer

View the code at any time

Page 7: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

Rebuilding the UI

X-2E Modernize extracts User Interface design information as

described above and stores it as metadata in the X-2E repository.

This is used as reference documentation for rebuilding UIs

manually or for programmatically regenerating new View and

Controller artifacts in the new technology. X-Analysis currently

generates a JSF / Facelets UI version or a newer AngularJS UI with

RESTful Web Services. The design metadata can also be used to

generate new interfaces.

X-2E ModernizeModernization Process - Cont’d.

3. UI/Print Functions - Cont’d.

Screen designs of legacy applications are not just about look and feel; there are

attributes and embedded logic that are relevant no matter what technology is used

to implement them in a modernized system. Among these attributes are:

f Formats/Layouts - Some screens may benefit from amalgamation or redesign,

but table edits and non-transaction type screens will largely remain the same,

even if not identical in layout.

f Actions - Whether from sub-file options, command keys, or default enter actions,

these often represent an important part of the usefulness of an application

design. The mechanisms used to offer or invoke these calls may change, but

where they go logically and what parameters they pass will largely remain

consistent.

f Fields/Files/Attributes - What fields are on what screens, and where the data comes

from is a requirement in any system development. Attributes of a field can also

help determine what type of controls might be used in a modern UI. For example,

a Boolean type might be implemented with a check box, a date with a date prompt.

Again, these are simple enough to edit in modern IDEs, but the volume associated

with any large legacy application modernization can make this work prohibitive.

f Data Model Mapping - Validations and prompting mechanisms that ensure

referential integrity in legacy applications can also be vital to extract. This is both

to implement referential integrity and to provide design information for building

modern prompt or selection controls such as drop-downs or lists.

Summary screen laid out in grid pattern

Why AngularJS?The oldest and most mature of all JS MVC frameworks, AngularJS is managed by Google and is best suited for thick client business Web applications. It is built around best design principles and supports scalability, main-tainability and modularization.

Page 8: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E ModernizeModernization Process - Cont’d.

APPLICATION GENERATION

The modernized Web application based on MVC architecture can be generated after all the components

are available. X-2E Modernize generates the sort of application that would have been written by hand

by a professional application architect and team of coders without losing the essence of the original

design or functional value. This is all done automatically into the IDEs of the language chosen by the

user during generation. The new application is easier to enhance and maintain, and as such naturally

attracts a wider, more-readily available resource pool for future development and maintenance.

2E Model

Function

Action Diagrams

Data Model

Extracted Functions

RefactoredAction

Diagrams

Explicit DataModel

View

Controller

ExtractedBusiness Logic

Class

ORM

Generic Data Base I/OClasses

ModernDatabase

X-2ERepository

Rebuilding the UI - Cont’d.

X-2E Modernize helps you generate screens in the format that

fits your workflow.

Edit pop-up window

Page 9: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

X-2E ModernizeModern and Maintainable Code Base

Because X-2E Modernize converts code by first converting the 2E model to RPG in an MVC/OO/RESTful pattern, this intermediate code can also be viewed and compared

to aid in understanding how the conversion took place. The Java code is then generated from the intermediate code as MVC JEE JSF / AngularJS, Spring/Hibernate applica-

tion code base using modern coding standards for optimum maintainability.

Characteristics of the converted code

f MVC design pattern – Model-View-Control-

ler, as in a Model layer of components that

contains business logic, a View layer that

contains the outward presentation, and a

Controller layer that handles events in the

other layers and directs process flow.

f Object Orientation – organization of code

into objects (classes), and those classes con-

taining functions. The functions are either

callable from other classes, or protected

so they can only be called from within their

own class.

f RESTful interaction – the most important

point about REST is that server components

have no inherent knowledge of session

state. Session information that needs to

be preserved between work flow activities

(screens) is preserved and represented

from client-side memory, or via session

management functions within the applica-

tion server software.

X-2E Modernize lets you easily compare RPG and converted code side-by-side

Page 10: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

At A Glance...

X-2E Modernize Summary of Functionality

f Creates MVC Design Model from recovered interactive program legacy designs in CA 2E Model

f Screens/Functions

f Data Layer/Internal Routines

f Business logic/Action Diagrams

f Generates MVC code from recovered CA 2E designs as RPGLE-Free, Java JSF/AngularJS, Hibernate, Spring, DAO

f Works over user defined application areas or individual programs

X-2E Modernize

X-2E Modernize The complete, automated solution for conver-

sion to Java or RPG Free.

Fresche Legacy:

f Compares Original and Recovered code

f Transforms RPG batch logic into Java or RPGLE-Free

f Creates Hibernate configuration files and JPA package from recovered relational model

f Fully automates and integrates documentation with X-Analysis

f Creates Platform independent UI/View-Controller meta-data (functions) from 2E Functions

f Builds Java data migration package from legacy data model

US: 9245 Laguna Springs Drive, Suite 200Elk Grove, CA, 95758

Canada/Corporate Office: 995 Wellington, Suite 200Montreal, CAN, H3C 1V3

India: Atrauli, Gaurabagh,P.O. Gudumba, Kursi Road, Lucknow 226026Uttar Pradesh, INDIA

Australia: 9/622 Ferntree Gully RoadWheelers HillVIC 3150Australia

Page 11: X-2E Modernize - IBM

IT Can Make You SmileShare this information: Fresche Legacy: X-2E Modernize

About Fresche Legacy As a leading expert in legacy management and modernization, Fresche Legacy helps enterprise organizations transform their business to improve financial performance, increase market competitiveness, remove risk and add business value. Our team of experts has successfully completed hundreds of transformation projects within the most complex enterprise environments, helping organizations future-proof their business by modernizing their business processes, technologies, infrastructure, and methodologies. Committed to 100 percent customer satisfaction, Fresche Legacy’s services and solutions span the complete legacy modernization spectrum from concept to maintenance, and include Discovery Services, Modernization Solutions, and Application Management Services & Transfor-mation. For more information about our company, visit us on the Web at www.freschelegacy.com

X-Analysis Professional is the foundation of the full X-Analysis toolset, a suite of productivity tools for your IBM i applications. Following is a brief description of the other modules in the suite:

How to get on board: X-Analysis products are available as a complete package or as individual

modules. At Fresche Legacy, we work closely with you to assess your needs and recommend the best

solutions. To get started, contact us using the information below:

www.freschelegacy.com |[email protected] | 1.800.361.6782 (US, Can) | 00 800 361 67 82 0 (Belgium, France Germany, UK)

FL-DS-XAnalysis-CA_2E_Mod-EN-04042016

Application Process Mapping: Business

rule and relational data model extraction and

documentation of application processes and

flows.

Audit, Quality and Change Management: Auditing of core application

functionality - including design, quality and

complexity - to identify and change problematic

areas in the application.

Data and Test Management: Analysis of

data quality; data archiving, data subsetting

and data masking. Test data automation and

management.

X-Analysis Professional: The foundation

tool, with all of the basic functionality.

Application Modernization: RPG, COBOL

and CA 2E (Synon) automatically converted to

Java.

Database Modernization: Automated

conversion of DDS to DDL, including creation of

constraints, long field names and views.

Open Systems Analysis: Cross-referencing

and documentation of Java, C#, PHP, VB/VB.NET

and PowerBuilder.

CA 2E Analysis: Everything required to analyze and

document CA 2E applications.