Today we have a challenge to address:
Currently, system updates at client environments are carried out through a proprietary application, where the client decides when to perform the update. This process includes both database objects (tables, procedures, packages, etc.) as well as the release of precompiled executables.
Once the database structure and business rules are updated, the precompiled WinForms executable is made available for immediate use.
In the new scenario, the logic remains similar; however, instead of releasing an executable, it becomes necessary to update the application in Oracle APEX. The challenge is that, due to multiple applications with several pages, the update time is significantly longer: approximately 50 minutes to update 15 applications, each around 200 MB.
The critical point is as follows:
The database update, including all programming logic, is completed in about 5 minutes, during which the environment remains locked.
The APEX applications update, however, takes around 50 minutes.
During this period, the system cannot be released because the front-end (APEX) would be out of sync with the back-end (database).
Discussion points:
Has anyone faced a similar situation?
Is there any recommended architectural solution to mitigate this issue?