最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

EJB(Enterprise JavaBean)

2022-06-27 11:17 作者:CAE虛擬與現(xiàn)實  | 我要投稿

EJB到底是什么?


我們不禁要問,什么是"服務(wù)集群"?什么是"企業(yè)級開發(fā)"?

既然說了EJB 是為了"服務(wù)集群"和"企業(yè)級開發(fā)",那么,總得說說什么是所謂的"服務(wù)集群"和"企業(yè)級開發(fā)"吧!這個問題其實挺關(guān)鍵的,因為J2EE 中并沒有說明白,也沒有具體的指標或者事例告訴廣大程序員什么時候用EJB 什么時候不用。于是大家都產(chǎn)生一些聯(lián)想,認為EJB"分布式運算"指得是"負載均衡"提高系統(tǒng)的運行效率。然而,估計很多人都搞錯了,這個"服務(wù)群集"和"分布式運算"并沒有根本解決運行負載的問題,尤其是針對數(shù)據(jù)庫的應(yīng)用系統(tǒng)。

為什么?


我們先把EJB 打回原形給大家來慢慢分析。


把EJB 掰開了揉碎了

我們把EJB 的概念好好的分析一下,看看能發(fā)現(xiàn)些什么蛛絲馬跡。


3.1 EJB 概念的剖析


我們先看一下,EJB 的官方解釋:

商務(wù)軟件的核心部分是它的業(yè)務(wù)邏輯。業(yè)務(wù)邏輯抽象了整個商務(wù)過程的流程,并使用計算機語言將他們實現(xiàn)。

……

J2EE 對于這個問題的處理方法是將業(yè)務(wù)邏輯從客戶端軟件中抽取出來,封裝在一個組件中。這個組件運行在一個獨立的服務(wù)器上,客戶端軟件通過網(wǎng)絡(luò)調(diào)用組件提供的服務(wù)以實現(xiàn)業(yè)務(wù)邏輯,而客戶端軟件的功能單純到只負責發(fā)送調(diào)用請求和顯示處理結(jié)果。在J2EE 中,這個運行在一個獨立的服務(wù)器上,并封裝了業(yè)務(wù)邏輯的組件就是EJB(Enterprise JavaBean)組件這其中我們主要關(guān)注這么幾點,我們來逐條剖析:

剖析1:所謂:“業(yè)務(wù)邏輯”

我們注意到在EJB 的概念中主要提到的就是"業(yè)務(wù)邏輯"的封裝,而這個業(yè)務(wù)邏輯到底是什么?說的那么懸乎,其實這個所謂的"業(yè)務(wù)邏輯"我們完全可以理解成執(zhí)行特定任務(wù)的"類"。

剖析2:所謂:“將業(yè)務(wù)邏輯從客戶端軟件中抽取出來,封裝在組件中……運行在一個服務(wù)器上”

既然我們知道了"業(yè)務(wù)邏輯"的概念就是執(zhí)行特定任務(wù)的"類",那么,什么叫"從客戶端軟件中抽取出來"?其實,這個就是把原來放到客戶端的"類",拿出來不放到客戶端了,放到一個組件中,并將這個組件放到一個服務(wù)器上去運行。

3.2 把EJB 這個概念變成大白話

變成大白話就是,“把你編寫的軟件中那些需要執(zhí)行制定的任務(wù)的類,不放到客戶端軟件上了,而是給他打成包放到一個服務(wù)器上了”。

3.3 發(fā)現(xiàn)問題了

不管是用"八股文"說,還是用大白話說這個EJB 概念都提到了一個詞–“客戶端軟件”。

“客戶端軟件”?難道EJB 的概念中說的是C/S 軟件?

是的,沒錯!

EJB 就是將那些"類"放到一個服務(wù)器上,用C/S 形式的軟件客戶端對服務(wù)器上的"類"進行調(diào)用。

快崩潰了吧!

EJB 和JSP 有什么關(guān)系?EJB 和JSP 有關(guān)系,但是關(guān)系還真不怎么大,至多是在JSP 的服務(wù)器端調(diào)用遠端服務(wù)上的EJB 類,僅此而已。

4 .1 EJB 的最底層究竟是什么

我們揭開了EJB"八股"概念的真諦,那么,再來分析EJB 的底層實現(xiàn)技術(shù),通過底層實

現(xiàn)技術(shù)來分析EJB 的工作方式。

4.2 EJB 的實現(xiàn)技術(shù)

EJB 是運行在獨立服務(wù)器上的組件,客戶端是通過網(wǎng)絡(luò)對EJB 對象進行調(diào)用的。在Java中,能夠?qū)崿F(xiàn)遠程對象調(diào)用的技術(shù)是RMI,而EJB 技術(shù)基礎(chǔ)正是RMI。通過RMI 技術(shù),J2EE將EJB 組件創(chuàng)建為遠程對象,客戶端就可以通過網(wǎng)絡(luò)調(diào)用EJB 對象了。

4.4 優(yōu)點

這種機制給分布計算的系統(tǒng)設(shè)計、編程都帶來了極大的方便。只要按照RMI 規(guī)則設(shè)計程序,可以不必再過問在RMI 之下的網(wǎng)絡(luò)細節(jié)了,如:TCP 和Socket 等等。任意兩臺計算機之間的通訊完全由RMI 負責。調(diào)用遠程計算機上的對象就像本地對象一樣方便。RMI 可將完整的對象作為參數(shù)和返回值進行傳遞,而不僅僅是預定義的數(shù)據(jù)類型。也就是說,可以將類似Java 哈希表這樣的復雜類型作為一個參數(shù)進行傳遞。

4.5 缺點

如果是較為簡單的方法調(diào)用,其執(zhí)行效率也許會比本地執(zhí)行慢很多,即使和遠程Socket機制的簡單數(shù)據(jù)返回的應(yīng)用相比,也會慢一些,原因是,其在網(wǎng)絡(luò)間需要傳遞的信息不僅僅包含該函數(shù)的返回值信息,還會包含該對象序列化后的字節(jié)內(nèi)容。

4.6 EJB 是以RMI 為基礎(chǔ)的

通過RMI 技術(shù),J2EE 將EJB 組件創(chuàng)建為遠程對象,EJB 雖然用了RMI 技術(shù),但是卻只需要定義遠程接口而無需生成他們的實現(xiàn)類,這樣就將RMI 技術(shù)中的一些細節(jié)問題屏蔽了。但不管怎么說,EJB 的基礎(chǔ)仍然是RMI,所以,如果你想了解EJB 的原理,只要把RMI的原理搞清楚就行了。你也就弄清楚了什么時候用EJB 什么時候不需要用EJB 了。

總結(jié):

a.EJB實現(xiàn)原理: 就是把原來放到客戶端實現(xiàn)的代碼放到服務(wù)器端,并依靠RMI進行通信。

b.RMI實現(xiàn)原理 :就是通過Java對象可序列化機制實現(xiàn)分布計算。

c.服務(wù)器集群: 就是通過RMI的通信,連接不同功能模塊的服務(wù)器,以實現(xiàn)一個完整的功能。


原文鏈接:https://blog.csdn.net/soulofball/article/details/110206188


EJB(Enterprise JavaBean)的評論 (共 條)

分享到微博請遵守國家法律
格尔木市| 柳林县| 江孜县| 本溪市| 奉化市| 平乐县| 东港市| 赤峰市| 南涧| 台湾省| 岳普湖县| 商南县| 红河县| 新津县| 贵溪市| 景泰县| 泽州县| 郑州市| 昌乐县| 延安市| 天柱县| 苗栗市| 南通市| 蒙山县| 会理县| 弥渡县| 赤水市| 涿州市| 兴城市| 敖汉旗| 静宁县| 贵州省| 汽车| 铜梁县| 都兰县| 吉林市| 遵化市| 华安县| 大余县| 淳化县| 长武县|