When running in-VM the remote interface mechanism also provides for object sharing as a consequence of not performing serialization and transport. So the objects created by your EJB processes are exactly the same in-memory objects that your other client components use (typically your servlets/JSPs). There is still a performance impact on using remote instead of local interfaces. as with everything, YMMV. But you can have a look a the results we obtained while measuring changes in performance under varying conditions. See http://www.amitysolutions.com.au/downloads/JBoss_code.pdf. You need to assess these things for yourself though.