I'm writing some application that will work in a background (windows service? maybe some application server?) Application receives some data, then it transforms/packs/optimizes in another thread and then in another thread it sends data to next server (using WebServices). There will be thick client (probably Swing) for monitoring whole process thru WebServices. All application will be written by my team (so there is no need to use complicated integration services). Application will be composed from loosely coupled classes (simple DI pattern), maybe JMS will be helpful ?
I'm wondering what technologies should I use. Tomcat? Glassfish? or maybe something lighter ? Spring server?