I need some feedback on our implementation of a particular concept in our application.
What we have is a fairly complex system (1500+
java classes) that performs some heavy calculations. The front end for the system is a
servlet, and once the request to calculate is submitted from the servlet, it may take up to 10 minutes to calculate it. We would like to provide some feedback to the user during the calc time on the calc status/progress. However, since the servlet is by definition a request/response type of animal, the only way to implement this would be to do a servlet push (which Netscape can do and IE can't). An additional problem is that our front end is housed on the light (presentation) cluster, and the calc engine is on the heavy (business) cluster. Normally, the components from different would talk to each other using an
EJB (that is, a servlet will make a "calculate" request to the EJB, and the EJB will spend some time to process the request and return the results). To get a calc status, I would have to re-enter an EJB, which I don't think is possible.
What we eneded up with was a separate status window that would pop up as soon as calculations start and reload itself every N number of seconds. As it reloads itself, it makes a call to JNDI to read the status object from there, and the calc engine itself writes to that object in JNDI as it calculates. JNDI essentially is a medium of communications betweeen the status servlet on the light cluster and the calc engine on the heavy cluster.
What I'd like to know is how sound this scheme is in an enterprise environment. We run under Weblogic 5.1 SP10.
Thanks,
Eugene Kononov.