Home interface is responsible for the creating, removing and finding the EJB instances. Whereas Component interface (remote and local) provide access to bean's business methods. Can someone tell me, why the remove() method is present in EJBObject and EJBLocalObject interfaces which should ideally present only in Home interface?
Because if you found the bean you want to remove, you can remove it right away! If you use the form of home method that uses handles, don't forget that obtaining handle might be processor intense (handle might be complex serializable object etc.) The second form of home method will do database search again, so it's also not very fast.