Data export is performed by Back-end mod-data-export module.
Drawbacks of the approach:
- This approach is customized to export data from SRS and Inventory modules only. There are no extension points, which allow to easily add export from other modules.
- Bad separation of concerns in the source code. As result, it is hard to extend it.
Each export job is executed within the scope of a single HTTP request, which makes the job unreliable. The job may fail in case of HTTP request timeout.
- There is no job retry logic, which also makes jobs unreliable.
The codebase is more complex than the Spring way one due to the usage of Vert.x and reactive programming.
The reactive programming doesn't bring benefits in this case due to blocking operations.