Automatic migrations #GX2153
After participating in several migration projects, a discovery that takes us to a change in strategy: the automation of 80% of a project's efforts is possible. In this session, we will present the tools developed, as well as the method for use and the results obtained in practice.
Project: Migrations from 6.1 KBs to versions 9 and X.
Context of the project:
Systems in production, undergoing permanent changes due to business needs.
Migration procedure prone to errors, due to the continuous change of code required by migration.
High cost of project, low added value for the end user.
Multiple repetitive tasks of code correction, prone to errors.
Issues regarding non-compatibility are clearly identified and represent a high percentage of typical cases:
Comparison of navigations that show non-significant differences (not to be considered).
Need to make changes in data structures: perfectly identifiable cases.
Solution applied:
We created a set of tools to automate approximately 80% of this migration process. This generates a great impact in two ways:
The migration project is much shorter, less expensive and implies a lower degree of errors.
Freezing a version is not necessary for migration.
We believe this solution might drive many companies into their final exit from previous GeneXus versions.
Description of tools developed:
Analytical Report on Navigations
Cultura IT developed a tool capable of exploiting the navigations comparison report made by BEYOND COMPARE, to focus on the actual differences and not on differences found by the DIFF algorithm. That is to say: the navigations comparison process has been enhanced with an intelligence capable of determining actual differences in the behavior of navigations.
Migration Scripts
To write the migration rules, Cultura IT has developed a set of tools, including an assistant to take the result of the Analytical Report on Differences on navigation and allows detection of the actual differences to specify the rule that must be applied to solve the navigation difference or specification errors. The YAML language is used to define rules. There are rules to execute different types of actions, like Consolidate Objects, Replace Code in objects, or Delete Attributes and Subtypes.
The rules applicable to different migration projects may be seen as an incremental knowledge base that will consider an increasing number of cases.
Post a comment
You must log in order to post comments
#GX2153 Tweets
Diego Villagra - Cultura IT
Starts at:
30 Min
Ballroom C
You must log on and register in order to schedule sessions