OK, I'm making progress here, thanks for the help so far.
Help me understand
EJB by describing what I have have to do to emulate a session bean with
Java RMI (please).
I'm using Tim Halloway's list of merits for EJB. Tim: I hope you are out there.
I would have to implement an RMI server that
(1) implements remote invocation (but this is already done by RMI, CORBA or the web server),
(2) creates a
thread for each client to simulate a single threaded interface?
What does a simplistic RMI application do if there are a gazillion clients all trying to access the same object -- does it serialize the clients for you so they all run on the same server thread? (I'm not sure). Do EJB implementations create a thread for each client so they all don't have to wait on each other?
What if you have a web application instead of an RMI application: then the only EJB client is the web server. Is this now a non-issue?
(2) Cache my stateless functions (how would I do that -- is not this the job of the JVM?)
(3) Implement transaction support? Would this be a non-issue for session beans? If I wanted transactions, would not I use entity beans?
(4) Implement role based security.
(5) Implement clustering.