Data Management Tools

Automatically extract and manage test data using derived data model. Data scrambling, compares, data quality analysis and date warping are a few capabilities which the data management tools provide.

Description:

X-Redo reuses the business rules, data model and user interface design models extracted by X-Analysis to provide a dramatic productivity gain in rebuilding a legacy application in Java or EGL. True system i modernization demands application transformation if the full benefits are to be attained.

Legacy RPG, COBOL or 2E application designs in their entirety might not suit a modern application implementation, but design elements such as business rules, data models and object relational maps are often do, as long they can be re-used without introducing unneeded complexity to the new system. Being able to select and enhance, or ignore these at a granular level, removes the inheritance of irrelevant or legacy-specific code constructs, but allows reuse of their proven designs.

The recovered designs provided by X-Analysis Design Recovery, are used as the primary input to X-Redo. The components of the new application are then programmatically generated in the architecture, language, and IDE of choice, currently Java or EGL. The transaction design model is used to generate a fully functional user interface. This includes controller bean/handler, database I/O or ORM logic, plus relational data model mapping functionality such as prompt, validation and drop downs for foreign key values and descriptions. The recovered Business Rule Model is then used to create and populate new beans, functions or classes of distilled business rule logic in the new language. This business rule logic includes validation, calculation, or stored procedure invocation of existing batch programs. All code is generated into mainstream IDE's as development projects with all the relevant, well structured code, and zero proprietary or runtime components required. The generic DDL, UML and XML outputs are also used to programmatically seed BI and 4GL tools such as IBM’s DB2 Web Query.

Transaction Model

The transaction model is an explicit description of a system’s, suite of programs’ or individual program’s screen designs, attributes, actions, and database I/O. These transactions are stored as a set of human and program-readable function definitions in XML format. They contain the designs recovered from the legacy application including, UI Formats/Layouts, Actions and User Options, Fields/Files/Attributes, and data model mapping. This rich set of information is then used by X-Redo to generate editable code components for the new application.

For example in an MVC implementation using the JSF standard, industry-standard, fully functional JSF’s and Java Beans (or JSF with IBM’s EGL equivalents) with CCS-based layouts are created for the UI and Database CRUD operations. Additional drop-down and validation logic and controls based upon the relation data model are included in the JSF/Bean combination, thus reducing as much recoding as possible.

The new components are generated by X-Redo as development projects into mainstream IDE’s such as IBM’s RAD or WDSC Advanced, RDi/RBD or MyEclipseBlue from Genuitec. The objective is not to use X-Redo as a 4GL but rather to accelerate the initial stages of development, allowing developers to finish the application rebuild using a mainstream IDE and tooling. None of the generated code is proprietary and it follows industry standards strictly. PHP and VB implementations of the MVC standard will be available in 2009, followed by Rich Client Architecture.

Business Rule Model

The Business Rule Logic extracted by the design recovery is further converted into a platform agnostic description for each rule or block of code, and stored as XML in the repository. These XML rule abstractions are then used to generate code in the appropriate language and inserted in the appropriate object as defined by the architecture chosen. In the example above, Java or EGL logic would be added to the Business Rule beans associated with each JSF.

Modern Database I/O & Persistence

Modern OO type development does not mean that relational databases need be abandoned. Indeed it would be a fairly unwise strategy for a company to throw away its database and the information stored in it, for the sake of OO development. The most widely used ORM framework for Java is Hibernate. Hibernate is a free, open source Java package, Object Relational Mapping (ORM) framework that makes it easier for Java developers to work with relational databases.

As a framework Hibernate naturally requires configuration, and the more information that can be supplied in the configuration, the more effectively it can be utilized in development and production. Though DDL Schemas can be imported directly into Hibernate, DDL that describes only the tables and fields of the physical database is only part of the ORM requirement. Relational or foreign key information is obviously the next critical requirement for the Hibernate ORM to work effectively. The entire legacy relational model derived by X-Analysis Design Recovery can be ported directly into Hibernate, thus producing an instant Object relational Map or ORM of the entire legacy application database. X-Redo allows users the option to generate JSF/Java beans that use direct SQL-Type I/O or use the configured Hibernate ORM.

X-Redo also converts DDS databases to SQL databases automatically, including copying data. There is no need to recompile the RPG or COBOL programs after the conversion.

X-Analysis customer list includes:
IBM Professional Services,
JD Edwards, Fiserv, Mapics, and thousands more.
See more

Rethinking Legacy Systems
Learn how companies are extending the lifetimes of legacy systems and reusing extracted designs for redevelopment.

On-Demand webinar:
A Visual Guide To Business Rules Recovery
Click here to view

A Customer Speaks

view more
We saved over a million dollars in
the first year using X-Analysis
Chris Nickchen,
Project Manager New Penn