this is not exactly spring specific question, but I am kind of spring fun, so I put this question in the air..and hopefully you will give me the right answer!
If there is a requirement from bank for implementation let's say e.g. web banking system whereas the security, reliability are paramount, which technical architecture do you think the most effective/suitable for the given scenario.
1) Spring 3.1 and Tomcat 7.0 can be a reasonable alternative
2) Spring 3.1 + Application Server (Webshpere/Weblogic??)
3) EJB + Application Server
My quesion is, is there any reason why we I should really go for Nr2, because the so called technical background (transaction, security, messaging) is/can be completly handled by the Spring Framework.
Because of the comprehensive technology (transaction, jms, etc) support of the spring I can't see the reason to for application framework. but if yes, which one and why :-)
Nr3. is not very much relevant here, but maybe there could be also some arguments...
thank you guys, I really waiting for your pros/contras!
The question that needs to be asked is: Am I getting any additional features/capabilities from a J2EE server that a web container does not provide ? Also the additional features/capabilities should be used by your project.
In case you are using Spring security & transaction features will be available with Tomcat. In case you have requirements around distributed transactions, then these will not be available out of the box in Tomcat. However there are workarounds for this, you can use "best effort strategy" or could use a third party JTA provider with Tomcat. My suggestion is that you should use # 1, unless you have a specific requirement that # 1 is not able to handle.