Modernizing by adding value to past investments. No Rip and Replace
One of the mainstays of this type of modernisation process is service orientation. Organisations need to redefine their services starting with the user, with a vocation to display self-contained logic, reuse real code, and improve maintainability of applications and other aspects, such as accessibility, usability, simplicity and security. If, after analysing different alternatives, we choose to take advantage of past investments, then we are faced with a modernisation strategy that seeks to obtain significant organisational value in the form of agility, and new capabilities reducing cost and risks, and must therefore address software refactoring.
+2000 Natural Refactored objects
Process Automation by BPM
+95% reduction in the technical debt of the systems
Software engineering techniques at the service of the end user
The Spanish administration must offer digital services to its managers, companies and citizens as the first channel of interaction of the administrative procedures for which they are responsible. To this end, the end user must take centre stage in the design of public services and structural improvements must be made to systems, making efficient use of public resources. We often encounter clients who consider the core of their management to be extremely successful, and that only require one layer to expose their services. The reality is that most legacy systems are like this, not only because of the passing of time or the technology in which they are developed, but because for many years there has been no investment in software engineering techniques that improve the quality and structure of programming, and that instead of an activity based on application maintenance it must become a project in itself, prior to the exposure of the services.
No documentation and generational change
The study of functions and the relationship between the different subsystems is a challenge, and there is usually no functional documentation and those in the know might not always be present.
Mixed approach to refactoring, generating self-contained logic
In legacy applications, we can find little or relatively outdated technical documentation and generational changes that might even include a lack of functional knowledge. Therefore, successful application modernisation requires a mixed approach, i.e., actively collaborating with those responsible for the application and thorough analysis of the source code of the applications using tools. At BABEL, we can use this mixed approach to obtain the flow of the different subsystems involved in the process, generating clear and complete documentation of the function for our clients and identifying all the necessary components. Based on this, our refactoring team begins an iterative service-oriented transformation process, the tangible result of which is proper exposure of business logic to make digital services a reality.
Expert refactoring allows for the generation of self-contained logic, optimising code and removing whatever is unusable, which also results in a drop in costs associated to maintenance and a drastic reduction in technical debt.
As part of the refactoring initiatives, BABEL worked with the system responsible for the regularisation of information in the databases of the Social Security Treasury (TGSS), undertaking an initial phase in which the services were identified and the layers decoupled, and a second phase in which the services were already exposed, automating the processes and incorporating new functions.
Another noteworthy initiative took place in the automation process for calculation of retirement benefit in Institute of the Society Security (INSS) applications. The automatic calculation process was first surveyed, allowing for the design of the calculation engine with the different catalogued components, both integrable and autonomous, with perfectly defined functions following the guidelines of methodologies and agile practices (DevOps) provided by the new development environment NaturalONE.
Find out about the result
Recover knowledge, automate the process, present the core of our applications as services. We also obtain maintainability, agility in times of change, and decoupling between the different technological layers of an application.