Experiences from a Brazilian Bank Reengineering Project Kellyton dos Santos Brito Exact Sciences Department Feira de Santana State University Feira de Santana, Brazil kellyton.brito@gmail.com Vinicius Cardoso Garcia FACITEC - Pernambuco State University, and Informatics Center – Pernambuco Federal University Recife, Brazil vcg@cin.ufpe.br Silvio Romero de Lemos Meira Informatics Center - Pernambuco Federal University, and Recife Center for Advanced Studies and Systems (C.E.S.A.R) Recife, Brazil silvio@cesar.org.br Abstract - The migration of legacy mainframe applications to new web technologies is a challenge faced by several organizations. Since 2005, the Pitang and C.E.S.A.R companies are involved in a large migration project for a bank institution, aiming to migrate NATURAL/ADABAS legacy mainframe source code to a web-based platform. In this paper, we briefly describe the project’s evolution and lessons learned. Reverse Engineering, Legacy Systems, Software Migration, Software Understanding. I. INTRODUCTION Due to the emerging of new technologies, the constant changes in business requirements and the well-known software aging problems [1], organizations are migrating their mainframe-based legacy systems to new modern environments, aiming to reduce costs and to increase the quality and time to market of new features. In this scenario, since 2005 the Pitang Software Factory and the Recife Center for Advanced Studies and Systems (C.E.S.A.R) are working together with academic institutions in a five-year project to migrate NATURAL/ADABAS legacy systems of a Brazilian bank to new web-based technologies. In this paper we briefly describe the lessons learned in this project as follows. In Section 2 we present the project. Section 3 describes the experience acquired in the three project phases, and in Section 4 we summarize the lessons learned and future directions. II. THE PROJECT The main requirements of this project concern to understanding and re-documenting the legacy NATURAL/ADABAS source code, and then re- implementing it as web applications. The client of this project is a Brazilian bank institution. In order to maintain the consistency with the client’s other development projects, the new web applications must be compliant with the architectural model defined by the bank. To perform this project, we set up two teams: (a) a senior group of NATURAL/ADABAS developers with previous experience in bank/financial systems to perform the reverse engineering activities (RE team), and (b) a group of JAVA developers with previous experience on web development, to perform the forward engineering activities (FE team). III. PROJECT PHASES The project can be divided in three phases, each one with a different approach. In the first phase, the used approach was based on the COGNOS Business Intelligence (BI) tool [2]. The tool was chosen because its allows the analysis of huge amounts of source code with extreme efficiency, which is similar to the work of Meinen[3]. In this phase, we internally developed a parser to read all source code statements and load it into the tool’s structure, which allowed us to perform several analysis, metrics and reports on the source code. In addition, built-in tools of the NATURAL/ADABAS environment, such as XREF, LIST and SCAN commands, were naturally used, since that the staff is familiar with these commands. Then, with the metrics and reports, the reverse engineering group performed the system re-documentation, which was then transferred to the forward engineering group to help in the re-implementation. Despite the incontestable assistance of the BI tool, code metrics and reports alone did not lead to a full understanding of the source code, since we noticed that several times the reading of source code was necessary. Therefore, an environment which facilitates this visualization, with previous analysis of the code and suggestions for the user, is essential.