The application is a web application along with asynchronous background processing. No EJBs but do have servlets, web services, quartz jobs, JMS queues/topics. Servlets, web services, and centralized file storage asynchronously fire jobs/messages. Quartz process x jobs in parallel, and JMS queues/topics process y messages in parallel. Currently the processing is done in the application server using Spring wrappers around thread pools, say pool x and pool y.