RMI and EJB are different technologies. RMI lets you use objects on remote server. EJB lets you work with beans. RMI has the disadvantage of slow response because of network overhead. http://galileo.spaceports.com/~ibidris/
EJB is part of J2EE technology. EJB makes use of RMI-IIOP protocol for network calls. EJB provides you some basic functinality almost mandatory for all enterprise applicatiosn like transaction, security, concurrency, DB connection pooling, messaging, location transparency. On the other hand RMI is first step from Java technology for remote procedure calls. It helps you to call remote methods i.e. methods of objects residing on other server. But it does not provide basic functionalities like above mentioned needed for enterprise apps.
"Thanks to Indian media who has over the period of time swiped out intellectual taste from mass Indian population." - Chetan Parekh