CAN MICROSERVICES BE THE ANSWER TO EVER-CHANGING REQUIREMENTS OF A 10-YEARS OLD LEGACY TRAINING MANAGEMENT SYSTEM?
1 Computer Technology Institute and Press "Diophantus", University of Patras (GREECE)
2 Computer Technology Institute and Press "Diophantus", University of Peloponnese (GREECE)
About this paper:
Conference name: 14th International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2022
Location: Palma, Spain
Abstract:
Introduction:
The "TRAINING VOUCHER" is a pioneer and mature system that provides and manages educational and vocational training services (Training Voucher – https://voucher.gov.gr), helping the Greek Government to implement its policies in order to fight unemployment and help beneficiaries to improve their skills. It was designed, implemented and is operational under the Computer Technology Institute and Press "Diophantus" and has successfully implemented dozens of calls the last 10 years. During all these years, the development team constantly evolves the system’s architecture, in order to support the new requirements of each call, as well as to keep up with the current software development technologies.
In this paper, we’re going to present the requirement analysis of each subsystem and the workflow differences among calls, as well as we will present the new agile architecture of the system (microservices), in order to adapt the "TRAINING VOUCHER" to requirement modifications among calls.
We truly believe that our work could be a milestone in the field of vocation training systems, as it could provide patterns to development teams and help them to create modern and flexible training systems.
Requirement analysis and workflow differences among calls:
The "TRAINING VOUCHER" system adopts a modular architecture and consists of several individual subsystems, which are factored conveniently for each call, thus supporting the workflow and the data management that is expected per call. The main subsystems are: User management, Beneficiary Applications management, Vocational Training Centre Applications management, Beneficiaries management, Educational programs management, Consulting, Traineeship, Certification, Microdata, Payments, Interoperability.
In this section of the paper, we will present which requirements per subsystem have changed and how they have affected the specifications of the system, from 2012 till now.
Agile architecture (DevOps) and Microservices for system adaptation to requirement modifications among calls:
In this section, we will present the architectural patterns used by the development team, in order to adapt the "TRAINING VOUCHER" system to the changing provisions and the specific requirements of each call. It is important to mention that the system was firstly designed as a monolithic application based on the basic requirements of the first 3 calls. Afterwards, the requirement changes were integrated into the application’s code, resulting in more effort from the developers, increasing maintenance costs and reducing efficiency. For all these reasons and having the experience of changes in requirements, we redesigned the architecture of the application by extracting specific functions (eg. Beneficiaries’/ Vocational Training Centers’ applications) as separate (micro) services, for which we used more modern software development technologies. This redesign has started 2 years ago and has supported the last five 5 calls, without compatibility or performance issues and making better use of human resources.Keywords:
Training voucher, vocational training, information system design, agile architecture, microservices.