Inventory Application built in four-layered model consisting of: applet-based graphical user interface; proprietary middle layer (Tomcat web application); Business logic in Oracle 10g stored procedures.; Data stored in Oracle 10g.
The Problem: The middle layer is designed for transactional communication, and not for moving large data sets (10,000+ rows) to the user interface or to reports. The application does not delimit the size of search results, which means that users are able to perform searches that return very large data sets to the front-end. Such requests cause the middle layer to respond slowly to this request as well as to other concurrent request, reaching the upper JVM heap memory limits and, in worst cases, causing the middle layer to crash.
Any suggestions/ help/ insight about the best solution would be much appreciated. Thank you very much.