JMS is the
Java API for queuing systems like MQ-Series. You can also use the MQ APIs from IBM, but they're not as simple and they're bound to one queuing product. Either way, it's a pretty simple matter to put a message on a queue in a "fire and forget" mode. Your app can put a message on queue and return a page to the user immediately that says "I put the work on a queue and application B will do it whenever it gets around to it."
The other application on another server can pull messages from the queue and process them at its own pace. Depending on what container the other application is running in (
EJB? POJO?) you can probably tell it how many queue listeners (threads) to devote to incoming messages.
See if this
Sun Tutorial gives you a good start on JMS.
BTW: It sounds as though your user isn't real interested in waiting around for the results. Do you need a mechanism to notify somebody when the task is done or to report errors?
[ December 27, 2005: Message edited by: Stan James ]