Switching from session beans to Spring remoting: what do I lose?
Our company used to build its software projects on a 3-tiered architecture with a Swing client, an EJB server running session and entity beans and a database.
Last year we switched to a more POJO-based approach by replacing entity beans with a DAO layer using Hibernate. However, we chose to keep a layer of session beans delegating to Spring-managed POJOs. Thus we had to keep an EJB container in the architecture. This project was successful and I'm very satisfied with this replacement and Spring in general (kudos to its creators!)
Now is the time to start another project and I wonder if we should get rid of the appserver and use Spring RMI remoting instead. I understand the basics of Spring remoting in simple cases, but I can't figure out if this solution is robust and scalable enough when the number of clients grows up. With session beans, an EJB container uses pools and other behind-your-back tricks to optimize things. I'm afraid using raw RMI won't give us the same degree of performance in highly multiuser environments.
We also use other J2EE protocols (JMS, JCA...) but I think Spring (or third-party tools) offer valuable implementations or replacements for them.
What do you think? Thanks for your answers