General refactoring and code optimizations (server-side)

In this work package, the development team will carry out a general refactoring of the FORSbase application, modernizing code fragments and improving the isolation of the components (micro services) to improve modularity and make the application easier to maintain, further develop and test. RESTful interfaces will be implemented to improve the performance, scalability and reliability of the tool. This process is absolutely crucial for the success of SWISSUbase and the resources that have been allocated are justified for several reasons. First, FORSbase was designed and built for the swiss social science community whereas SWISSUbase is aimed at a massively larger user base than FORSbase. The amount of data that the application must be able to ingest and manage will increase exponentially (from 50GB to 600TB). Second, such refactoring would not be needed to further develop FORSbase, and any refactoring would be planned in much smaller pieces alongside with the implementation of new functionality during the years to come. Third, a modern web client with responsive design (work package 6) and the use of JavaScript frameworks like Angular has a bigger than expected impact on the internal structure of all server modules. Finally, the modular metadata approach (work package 5) has an impact on the majority of FORSbase’s business logic and its backend layers (data persistence).