EJB相當於DCOM,即分布式組件。它是基於java的遠程調用(RMI)技術實現的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被部署在諸如WebSpere、WebLogic這樣的容器中,EJB容器從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。
EJB的類型分為:會話(Session)Bean ,實體(Entity)Bean 消息驅動的(Message Driven)Bean ;會話Bean又可分為有狀態(Stateful)和無狀態(Stateless)兩種;實體Bean可分為Bean管理的持續性(BMP)和容器管理的持續性(CMP)兩種。EJB是基於Session Bean、Entity Bean、Message Driven Bean,基於JNDI、RMI、JAT等技術實現的。
壹個完整的基於EJB的分布式計算結構由六個角色組成,這六個角色可以由不同的開發商提供,每個角色所作的工作必須遵循Sun公司提供的EJB規範,以保證彼此之間的兼容性。這六個角色分別是EJB組件開發者(Enterprise Bean Provider) 、應用組合者(Application Assembler)、部署者(Deployer)、EJB 服務器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系統管理員(System Administrator)三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類。
EJB容器提供的服務主要提供聲明周期管理、代碼產生、持續性管理、安全、事務管理、鎖和並發行管理等服務。