El hecho de estar basado en componentes permite que éstos sean flexibles y sobre todo reutilizables.
Las interfaces Java son utilizadas por el código cliente del EJB.
Los métodos remotos se dividen en dos grupos: Dado que se trata simplemente de interfaces Java y no de clases concretas, el contenedor EJB genera clases para esas interfaces que actuarán como un proxy en el cliente.
La interfaz "Home" permite al código cliente manipular métodos de clase del EJB que no están asociados a ninguna instancia particular.
La interfaz remota es para clientes fuera del contenedor EJB.
El stub conoce cómo pasar llamadas a procedimientos remotos (RPCs) al servidor.
Las llamadas a métodos en la interfaz remota se remiten al método de implementación correspondiente del mismo nombre y argumentos en la clase del bean.