X-2E Modernize - Fresche Legacy

Transcription

X-2E Modernize - Fresche Legacy
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
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
X-2E Modernize
X-2E Modernize:
The complete, automated
solution for conversion to
CA 2E (Synon) applications can easily be converted to Java or RPG Free using X-2E Modernize
X-2E
Modernize
Since its introduction, CA 2E (Synon) has become the most suc-
for modernizing any CA 2E application. X-2E Modernize
Some Highlights:
cessful 4GL tool on the IBM i platform. The CA 2E development
automatically re-factors and generates an MVC Web
environment combines a rich and precise model of designs
application using OO methods in Java or RPG Free (Flex &
and specifications with powerful code generation capabilities.
Silverlight UI soon to be added). Fresche’s X-2E Modernize takes
Even with this powerful set of features, many companies now
advantage of CA 2E application architecture to automatically
face real pressure to modernize their business applications
convert applications. Since CA 2E forces users to organize
beyond the scope and capability of what CA 2E can offer. The
code into screen designs, action diagrams, business logic and
challenge is to move forward without discarding decades
database components, X-2E
of investment in design, evolution and fine tuning stored in
2E model to extract design information in a structure that
the CA 2E model. Fresche’s X-2E Modernize is the solution
maps cleanly into a modern MVC/OO/RESTful architecture.
Modernize uses this internal
Modernize
Modernize
DDL Database
Web UI as:
Angular JS
JSF
ASPx
5250/OA
Re-Usable
Modules as Free
Format RPG &
SQLLE
Event Driven,
Business Logic
Modules as Free
Format RPG
Java or RPG Free
ff Creates MVC Design Model from recovered
interactive program legacy designs in CA
2E Model
ff Screens/Functions
ff Data Layer/Internal Routines
ff Business logic/Action Diagrams
ff Generates MVC code from recovered CA
2E designs as RPGLE-Free, Java JSF/Angular
JS, Hibernate, Spring, DAO
ff Works over user-defined application areas
or individual programs
ff Compares Original and Recovered code
ff Transforms RPG batch logic into Java or
RPGLE-Free
Analysis
Data Model
Diagrams
Data Flows
DDL/XML/UML
Screen Designs
& Data Mapping
Screen Actions
Business Rules
Graphical
Documentation &
Impact Analysis
Business Rules
Analysis &
Graphical
Structure Charts
ff Creates Hibernate configuration files and
JPA package from recovered relational
model
ff Fully automates and integrates
documentation with X-Analysis
CA 2E
Entities &
Relationships
Functions
Internal
Routines
Action
Diagrams
ff Creates platform-independent UI/ViewController meta-data (functions) from 2E
Functions
ff Builds Java data migration package from
legacy data model
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
X-2E Modernize
Why start from the CA 2E (Synon)
Model?
Design Recovery: The basis for modernization
It is only possible to convert CA 2E (Synon)
Whatever the approach to modernization, design recovery is the first
applications by working from the CA 2E
step. With this understanding, developers can quickly identify the
model into the target architecture and
business rules and reusable designs embedded in core business
code. Conversion processes that attempt
processes. They can also
to translate the 2E-generated RPG code
restructure code, remove
dead code and create reusable components that
Documentation
X-Analysis
Word/Open Office/Excel
Recovered Design
can be enabled as services
within a service-oriented
architecture (SOA) or any
modern application architecture.
unrecognizable and unmaintainable code.
In automated reengineering projects, the
2E information (and not the RPG) is parsed
Extracted
Functions/UI
by X-2E Modernize to recover knowledge
UML
XML
DDL
Refactored
Action Diagrams
or Business Logic
chunks and reassemble them into a new
system. Several reasons why you should not
attempt to directly convert the 2E-generated
Design Recovery is very
valuable for documen-
will result in volumes of unnecessary,
Current
Potential
Java
RPG Free
LANSA
Oracle ADF
Silverlight
RPG code:
ff You will be converting approximately
Data Model
tation and application
support purposes, but
the real benefits come
10 times more code
ff The new code will not follow a modern
architecture design
when the recovered
ff No one will recognize the new code and
design can be used to
modernize or re-develop a system. Reusing existing designs programmat-
it will be extremely difficult to maintain
ically can provide a dramatic productivity gain in rebuilding an application.
ff You are likely to have difficulty with
scaling and performance
ff Generating from the RPG is not a viable
long term investment
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
X-2E Modernize
Modernization Process
Database
Modernization
DDS to DDL Conversion
Data Quality Analysis
ORM Framework Gen-(Hibernate)
OO VO layer with Web service wrapper
Business
Logic Rebuild
Re-factor into event-driven model OO mapping
Business rules database
Business Logic Model generated as Java, RPG Free
Web Service Layer
UI/Print
Functions
Screen formats/layouts/fields/files/attributes
Screen actions flow
ORM mapped to UI
Conditional field/UI/flow logic
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 summarized at right, and described below.
1. Database Modernization
The 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:
ff 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.
ff Data Integrity: Journaling is available for SQL access just as it has always
ff Portability: Because the database is defined in purely SQL terms rather than in
been for file-based access. Constraints and referential integrity can be
a proprietary file format, it becomes portable — i.e., it is now viable to consider
implemented directly at the database level where they are unavoidable
moving the database to another platform.
rather than at the program level. Database triggers allow code to be run
ff Improved performance: IBM’s data retrieval efforts have been concentrated on SQL
access rather than file-based access for many years.
of enforcing compliance, audits, validations and applying business rules.
ff Ability to use modern Object Relational Mapping (ORM) software such as Hibernate
for rapid application development in Java and other modern languages.
ff Reduced dependency on System i-specific skills such as DDS, which may lead to cost
savings and reduced risk.
Fresche Legacy: X-2E Modernize
before or after records are added, updated or deleted, providing an easy way
ff 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.
Share this information:
IT Can Make You Smile
X-2E Modernize
Modernization Process - Cont’d.
View the business rule
summary at a glance
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
from the business
rule repository, or
use the built-in documentation (including
full cross-referencing
and annotated capabilities) to create new
specs.
generate new code (migrated logic - see at right). At the same time,
the built-in documentation, which cross references where-used objects 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.
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
X-2E Modernize
Modernization 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
View the code at any
time
Design new screens in a
GUI designer
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
X-2E Modernize
Modernization Process - Cont’d.
3. UI/Print Functions - Cont’d.
Screen designs of legacy applications are not just about look and feel; there are
ff Fields/Files/Attributes - What fields are on what screens, and where the data comes
attributes and embedded logic that are relevant no matter what technology is used
from is a requirement in any system development. Attributes of a field can also
to implement them in a modernized system. Among these attributes are:
help determine what type of controls might be used in a modern UI. For example,
ff Formats/Layouts - Some screens may benefit from amalgamation or redesign,
a Boolean type might be implemented with a check box, a date with a date prompt.
but table edits and non-transaction type screens will largely remain the same,
Again, these are simple enough to edit in modern IDEs, but the volume associated
even if not identical in layout.
with any large legacy application modernization can make this work prohibitive.
ff Actions - Whether from sub-file options, command keys, or default enter actions,
ff Data Model Mapping - Validations and prompting mechanisms that ensure
these often represent an important part of the usefulness of an application
referential integrity in legacy applications can also be vital to extract. This is both
design. The mechanisms used to offer or invoke these calls may change, but
to implement referential integrity and to provide design information for building
where they go logically and what parameters they pass will largely remain
modern prompt or selection controls such as drop-downs or lists.
consistent.
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.
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, maintainability and modularization.
Fresche Legacy: X-2E Modernize
Summary
screen laid out
in grid pattern
Share this information:
IT Can Make You Smile
X-2E Modernize
Modernization Process - Cont’d.
APPLICATION GENERATION
Rebuilding the UI - Cont’d.
The modernized Web application based on MVC architecture can be generated after all the components
X-2E Modernize helps you generate screens in the format that
are available. X-2E Modernize generates the sort of application that would have been written by hand
fits your workflow.
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
X-2E
Repository
View
Controller
Function
Action
Diagrams
Extracted
Functions
Extracted
Business Logic
Class
Refactored
Action
Diagrams
ORM
Data Model
Explicit Data
Model
Generic Data
Base I/O
Classes
Modern
Database
Edit pop-up
window
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
X-2E Modernize
Modern 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 application code base using modern coding standards for optimum maintainability.
Characteristics of the converted code
X-2E Modernize lets you easily compare RPG and
converted code side-by-side
ff MVC design pattern – Model-View-Controller, 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.
ff Object Orientation – organization of code
into objects (classes), and those classes containing functions. The functions are either
callable from other classes, or protected
so they can only be called from within their
own class.
ff 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 application server software.
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
At A Glance...
X-2E Modernize
Fresche Legacy:
The complete, automated solution for conver-
US:
9245 Laguna Springs Drive,
Suite 200
Elk Grove, CA, 95758
Canada/Corporate Office:
995 Wellington, Suite 200
Montreal, CAN,
H3C 1V3
Australia:
9/622 Ferntree Gully Road
Wheelers Hill
VIC 3150
Australia
India:
Atrauli, Gaurabagh,
P.O. Gudumba, Kursi Road,
Lucknow 226026
Uttar Pradesh, INDIA
sion to Java or RPG Free.
X-2E
Modernize
X-2E Modernize Summary of Functionality
ff Creates MVC Design Model from recovered interactive program
legacy designs in CA 2E Model
ff Screens/Functions
ff Compares Original and Recovered code
ff Transforms RPG batch logic into Java or RPGLE-Free
ff Data Layer/Internal Routines
ff Creates Hibernate configuration files and JPA package from
recovered relational model
ff Business logic/Action Diagrams
ff Fully automates and integrates documentation with X-Analysis
ff Generates MVC code from recovered CA 2E designs as RPGLE-Free,
Java JSF/AngularJS, Hibernate, Spring, DAO
ff Creates Platform independent UI/View-Controller meta-data
(functions) from 2E Functions
ff Works over user defined application areas or individual programs
ff Builds Java data migration package from legacy data model
Fresche Legacy: X-2E Modernize
Share this information:
IT Can Make You Smile
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 & Transformation. 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:
X-Analysis Professional: The foundation
CA 2E Analysis: Everything required to analyze and
tool, with all of the basic functionality.
document CA 2E applications.
Application Process Mapping: Business
Application Modernization: RPG, COBOL
rule and relational data model extraction and
and CA 2E (Synon) automatically converted to
documentation of application processes and
Java.
flows.
Audit, Quality and Change
Database Modernization: Automated
Management: Auditing of core application
conversion of DDS to DDL, including creation of
functionality - including design, quality and
constraints, long field names and views.
complexity - to identify and change problematic
areas in the application.
Data and Test Management: Analysis of
Open Systems Analysis: Cross-referencing
data quality; data archiving, data subsetting
and documentation of Java, C#, PHP, VB/VB.NET
and data masking. Test data automation and
and PowerBuilder.
management.
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:
Fresche Legacy: X-2E Modernize
www.freschelegacy.com |info@freschelegacy.com |
1.800.361.6782 (US, Can) | 00 800 361 67 82 0 (Belgium, France Germany, UK)
Share this information:
IT Can Make You Smile
FL-DS-XAnalysis-CA_2E_Mod-EN-04042016