百科定義EJB:
被稱為java企業bean,伺服器端組件,核心應用是部署分布式應用程式。用它部署的系統不限定平台。實際上ejb是一種產品,描述了應用組件要解決的標準
標準:
- 可擴充 (Scalable)
- 分布式 (Distributed)
- 交易處理(Transactional)
- 資料存放區(Persistent)
- 安全性 (Secure)
J2EE的體繫結構
其中EJB屬於J2EE體繫結構中的商務邏輯部分
EJB構成
EJB容器中有三種類也稱為組件,分別是
Session bean(邏輯)
EntityBean(資料)
messageDrivenbean(訊息)
中可以看到
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的唯一途徑。