學習EJB能夠加深對J2EE平臺的認識。java
Session bean(邏輯)jsp
EntityBean(數據)分佈式
messageDrivenbean(消息)學習
上圖中能夠看到spa
1 組件是在容器中的。容器提供了組件的環境並對其進行管理。對象
2 調用組件的被稱爲ejb客戶端。客戶端能夠運行在web容器中。如jsp,servlet,jndi,web service等接口
實現邏輯組件中有各類抽象的方式。這樣經過客戶端的調用實現了業務的封裝
首先要認識到RMI技術(遠程調用),EJB的基礎是RMI,經過RMI,J2EE將EJB組件建立爲遠程對象,EJB雖然用到了RMI,可是隻須要定義遠程接口無需實現,這樣就將RMI技術細節屏蔽了。
這種將須要特定執行的類,放在Ejb中並打包發送到服務器上,,客戶端經過RMI技術到服務器上進行調用,這樣就實現了分佈式調用。
既然已經知道了,RMI是將各類任務與功能的類放到不一樣的服務器上,而後經過各個服務器間創建的調用規則實現分佈式的運算,也就明白EJB所謂的"服務羣集"的概念。就是將原來在一個計算機上運算的幾個類,分別放到其餘計算機上去運行,以便分擔運行這幾個類所須要佔用的CPU和內存資源。同時,也能夠將不一樣的軟件功能模塊放到不一樣的服務器上,當須要修改某些功能的時候直接修改這些服務器上的類就好了,修改之後全部客戶端的軟件都被修改了
一個簡單的分佈式羣圖
EJB實現原理:就是把原來放到客戶端實現的代碼放到服務器端,並依靠RMI進行通訊。
服務器集羣:就是經過RMI的通訊,鏈接不一樣功能模塊的服務器,以實現一個完整的功能。
EJB規範定義了EJB組件在什麼時候如何與它們的容器進行交互做用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩衝池以及容錯性。但這裏值得注意的是,EJB並非實現J2EE的惟一途徑。