BirdlyData - Data migration tool for OutSystems - Maria Beatriz Nogueira Ferreira (2021)
Data migration has become one of the most demanding tasks inside organizations due to the rapid growth of data. The process of migrate data between environments always requires at least two environments: a source environment to extract the data and a destination/target environment to load transformed data. The procedure includes data profiling, mapping, cleansing, validation and an ongoing process for data quality assurance. Nowadays, more enterprises are subscribing low code platforms to build powerful applications without being limited by technology. IT leaders are concerned with time-wasting tasks, and prefer to invest the developer time, talent and experience to create software. OutSystems is a a low code/full-stack application development platform, with full IDE integrated where developers can build, deploy and manage their applications faster. It allows developing enterprise applications on a DevOps ready environment that gets everything in production with the click of a button. Despite being a complete platform, OutSystems has some limitations. Current offerings for the OutSystems Platform lack built-in data synchronization functionalities and/or require licenses and additional developments. The OutSystems platform does not give the developers permissions to perform a direct data synchronization because the database is managed solely by the platform. This dissertation addresses these issues by introducing a new data migration tool, developed to mitigate the OutSystems related shortcomings. It starts by giving an overview of all the essential processes, concepts and techniques involved in data migration. The decision-making carried out in the study and, finally, introduces a new data migration tool able to migrate applicational data between different OutSystems environments, using the Server Studio and Integration Studio integrated in the platform. The tool includes User Interface to display and gather the necessary data for the migration process and a C# extension where the migration runs. Furthermore, some code optimizations, able to turn the software as effective as possible and reduce the migration execution time, are listed. At last and to testify the completeness and efficiency of the purposed tool a live test is conducted and a case study is evaluated.