EJB的理解
百科定義EJB:
被稱為Java企業(yè)bean,服務(wù)器端組件,核心應(yīng)用是部署分布式應(yīng)用程序。用它部署的系統(tǒng)不限定平臺。實(shí)際上ejb是一種產(chǎn)品,描述了應(yīng)用組件要解決的標(biāo)準(zhǔn)
?
標(biāo)準(zhǔn):
- 可擴(kuò)展 (Scalable)
- 分布式 (Distributed)
- 事務(wù)處理(Transactional)
- 數(shù)據(jù)存儲(Persistent)
- 安全性 (Secure)
?
?
J2EE的體系結(jié)構(gòu)
?
?
其中EJB屬于J2EE體系結(jié)構(gòu)中的業(yè)務(wù)邏輯部分
?
EJB構(gòu)成
?
?
EJB容器中有三種類也稱為組件,分別是
Session bean(邏輯)
EntityBean(數(shù)據(jù))
messageDrivenbean(消息)
?
上圖中可以看到
? ?1 組件是在容器中的。容器提供了組件的環(huán)境并對其進(jìn)行管理。
? ?2 ?調(diào)用組件的被稱為ejb客戶端。客戶端可以運(yùn)行在web容器中。如jsp,servlet,jndi,web service等
?
實(shí)現(xiàn)邏輯
實(shí)現(xiàn)邏輯組件中有各種抽象的方式。這樣通過客戶端的調(diào)用實(shí)現(xiàn)了業(yè)務(wù)的封裝
?
實(shí)現(xiàn)分布式
?
首先要認(rèn)識到RMI技術(shù)(遠(yuǎn)程調(diào)用),EJB的基礎(chǔ)是RMI,通過RMI,J2EE將EJB組件創(chuàng)建為遠(yuǎn)程對象,EJB雖然用到了RMI,但是只需要定義遠(yuǎn)程接口無需實(shí)現(xiàn),這樣就將RMI技術(shù)細(xì)節(jié)屏蔽了。
這種將需要特定執(zhí)行的類,放在Ejb中并打包發(fā)送到服務(wù)器上,,客戶端通過RMI技術(shù)到服務(wù)器上進(jìn)行調(diào)用,這樣就實(shí)現(xiàn)了分布式調(diào)用。
?
所謂的服務(wù)器群
?
既然已經(jīng)知道了,RMI是將各種任務(wù)與功能的類放到不同的服務(wù)器上,然后通過各個服務(wù)器間建立的調(diào)用規(guī)則實(shí)現(xiàn)分布式的運(yùn)算,也就明白EJB所謂的"服務(wù)群集"的概念。就是將原來在一個計算機(jī)上運(yùn)算的幾個類,分別放到其他計算機(jī)上去運(yùn)行,以便分擔(dān)運(yùn)行這幾個類所需要占用的CPU和內(nèi)存資源。同時,也可以將不同的軟件功能模塊放到不同的服務(wù)器上,當(dāng)需要修改某些功能的時候直接修改這些服務(wù)器上的類就行了,修改以后所有客戶端的軟件都被修改了
?
一個簡單的分布式群圖
?
?
?
小結(jié):
變成大白話就是,"把你編寫的軟件中那些需要執(zhí)行制定的任務(wù)的類,不放到客戶端軟件上了,而是給他打成包放到一個服務(wù)器上了"。
EJB實(shí)現(xiàn)原理:就是把原來放到客戶端實(shí)現(xiàn)的代碼放到服務(wù)器端,并依靠RMI進(jìn)行通信。
服務(wù)器集群:就是通過RMI的通信,連接不同功能模塊的服務(wù)器,以實(shí)現(xiàn)一個完整的功能。?
EJB規(guī)范定義了EJB組件在何時如何與它們的容器進(jìn)行交互作用。容器負(fù)責(zé)提供公用的服務(wù),例如目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,EJB并不是實(shí)現(xiàn)J2EE的唯一途徑。
原作:http://blog.csdn.net/han_yankun2009/article/details/22784559
總結(jié)
- 上一篇: 木马的常见欺骗方式
- 下一篇: meta分析森林图解读,实例讲解教你快速