溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么理解JavaBean與EJB的區(qū)別

發(fā)布時(shí)間:2021-11-20 16:24:41 來源:億速云 閱讀:170 作者:柒染 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)怎么理解JavaBean與EJB的區(qū)別,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

您現(xiàn)在可能已在使用 JavaBean,但還不了解它。如果有支持 Java 的瀏覽器,那么,在桌面上使用 JavaBean 就沒有限制。使用的 Web 頁面可以將 bean 作為小應(yīng)用程序的一部分。您很快就會(huì)和作為瀏覽器可視部分的 JavaBean 交互,然后,那些 JavaBean 將與服務(wù)器上的 EJB 接口。這種能力也可以擴(kuò)展到因特網(wǎng)和內(nèi)部網(wǎng)。

JavaBean 和 Server Bean(通常稱為 Enterprise JavaBean (EJB))有一些基本相同之處。它們都是用一組特性創(chuàng)建,以執(zhí)行其特定任務(wù)的對(duì)象或組件。它們還有從當(dāng)前所駐留服務(wù)器上的容器獲得其它特性的能力。這使得 bean 的行為根據(jù)特定任務(wù)和所在環(huán)境的不同而有所不同。

這開辟了巨大商機(jī)。因?yàn)?JavaBean 是與平臺(tái)無關(guān)的,所以對(duì)于將來的解決方案,供應(yīng)商可以輕易向不同用戶推出其客戶機(jī)方的 JavaBean,而不必創(chuàng)建或維護(hù)不同的版本。這些 JavaBean 可以與執(zhí)行商業(yè)功能(例如訂購、信用卡處理、電子匯款、存貨分配、運(yùn)輸?shù)龋┑?EJB 配合使用。這里有巨大潛力,而這正是組件代理(WebSphere Application Server 企業(yè)版)設(shè)計(jì)提供的那種潛力。

JavaBean 是一種組件,它在內(nèi)部有接口或有與其相關(guān)的屬性,以便不同人在不同時(shí)間開發(fā)的 bean 可以詢問和集成??梢詷?gòu)建一個(gè) bean,而在以后構(gòu)造時(shí)將其與其它 bean 綁定。這種過程提供了先構(gòu)建,然后重復(fù)使用的方法,這就是組件的概念??梢詫⑦@種單一應(yīng)用程序部署成獨(dú)立程序、ActiveX 組件或在瀏覽器中。

JavaBean 因其外部接口(即屬性接口)而與純對(duì)象不同。這種接口允許工具讀取組件要執(zhí)行的功能,將其與其它 bean 掛鉤,以及將其插入其它環(huán)境。JavaBean 設(shè)計(jì)成對(duì)單一進(jìn)程而言是本地的,它們?cè)谶\(yùn)行時(shí)通??梢?。這種可視組件可能是按鈕、列表框、圖形或圖表 - 但這不是必需的。

可執(zhí)行組件

Server Bean 或 EJB 是部署在服務(wù)器上的可執(zhí)行組件或商業(yè)對(duì)象。有一個(gè)協(xié)議允許對(duì)其進(jìn)行遠(yuǎn)程訪問或在特定服務(wù)器上安裝或部署它們。有一系列機(jī)制允許它們將服務(wù)安全性、事務(wù)行為、并發(fā)性(由多個(gè)客戶機(jī)同時(shí)訪問的能力)和持久性(其狀態(tài)可以保存多久)的主要方面授權(quán)給 EJB 服務(wù)器上其所在的容器。當(dāng)安裝在容器中時(shí),它們獲得各自的行為,該行為提供不同質(zhì)量的服務(wù),因此,選擇正確的 EJB 服務(wù)器至關(guān)重要。這正是 IBM WebSphere 企業(yè)版的優(yōu)勢所在。

EJB 是設(shè)計(jì)成運(yùn)行在服務(wù)器上,并由客戶機(jī)調(diào)用的非可視遠(yuǎn)程對(duì)象??赏ㄟ^多個(gè)非可視 JavaBean 構(gòu)建 EJB。它們有一個(gè)部署描述符,其目的與 JavaBean 屬性相同:它是以后可由工具讀取的 bean 的描述。EJB 還獨(dú)立于平臺(tái),一旦編寫好,還可以在任何支持 Java 的平臺(tái)(包括客戶機(jī)和服務(wù)器)上使用。

因?yàn)?EJB 由諸如 IBM VisualAge for Java 這樣的工具集生成,所以,它是基于服務(wù)器的對(duì)象,并用于遠(yuǎn)程調(diào)用。它們安裝在 EJB 服務(wù)器上,并象調(diào)用其它 CORBA 遠(yuǎn)程對(duì)象那樣獲得進(jìn)行調(diào)用的遠(yuǎn)程接口。

ActiveX 對(duì)象

可以將 JavaBean 部署成 ActiveX 對(duì)象,雖然 EJB 的代理也可以這樣做,但是,因?yàn)?ActiveX 運(yùn)行在桌面上,所以,EJB 本身不能成為 ActiveX 對(duì)象。要在與平臺(tái)相關(guān)的、僅 Windows 平臺(tái)上做到這一點(diǎn),開發(fā)人員可以將 JavaBean 變換成 ActiveX 組件。

好處

EJB 的主要好處在于:構(gòu)建 bean時(shí),bean開發(fā)人員可以規(guī)定需要什么類型的行為,而不必規(guī)定如何去做。開發(fā)分為兩部分:程序員開發(fā) bean,然后驗(yàn)證:它可與構(gòu)建工具一起工作,并包括標(biāo)識(shí)所需服務(wù)質(zhì)量行為種類的部署描述符。下一步,另一個(gè)程序員可以采用這個(gè) bean,并使用讀取 EJB 部署描述符的部署工具,然后將該 bean 安裝到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作 - 這可能意味著生成如狀態(tài)保存代碼,放入事務(wù)掛鉤,或執(zhí)行安全性檢查這樣的代碼。所有這些操作由部署工具生成,bean 開發(fā)人員和部署人員可以是不同的人。

可以通過使用部署工具,將任何獨(dú)立于平臺(tái)的 JavaBean 改寫成具有可靠服務(wù)質(zhì)量、特定于平臺(tái)的 EJB,以滿足現(xiàn)有商業(yè)系統(tǒng)和應(yīng)用程序的特定需求。這就是 EJB 服務(wù)器對(duì)集成系統(tǒng)、網(wǎng)絡(luò)和體系結(jié)構(gòu)如此重要的原因所在。

EJB 與 IBM WebSphere 企業(yè)版

在 IBM WebSphere 企業(yè)版中使用時(shí),可以將 EJB 配置成被管理的商業(yè)對(duì)象。接受它們授權(quán)服務(wù)的容器是其安裝到的容器。將 EJB 的持久性部分映射在數(shù)據(jù)或狀態(tài)對(duì)象中。EJB 服務(wù)器為 EJB 提供不同的服務(wù)質(zhì)量,選擇正確的 EJB 服務(wù)器可能對(duì)滿足完整的商業(yè)需求至關(guān)重要。“組件代理”功能極其健壯,該功能提供如負(fù)載均衡和支持服務(wù)器組中多臺(tái)機(jī)器的高級(jí)功能。它還有大大超出 Enterprise Java Server (EJS) 規(guī)范所倡導(dǎo)的系統(tǒng)管理功能。因此,按照基本標(biāo)準(zhǔn)編寫的 JavaBean 或 EJB 可以運(yùn)行在使用“組件代理”功能的 WebSphere 企業(yè)版上,并獲得那些所有的附加功能。

EJB 服務(wù)器還提供獨(dú)特的特性和服務(wù)質(zhì)量,而且不完全相同。IBM“組件代理”有一些強(qiáng)大特性 - 例如,可伸縮性,它允許開發(fā)人員將 EJB 部署到從小型系統(tǒng)到大型網(wǎng)絡(luò)的不同類型服務(wù)器。開發(fā)人員可以從小處入手,例如,在一個(gè)部門中,首先在 LAN 的 Java 服務(wù)器上部署,一旦準(zhǔn)備好,就知道可以將在那里創(chuàng)建的 JavaBean 和 EJB 部署到全球網(wǎng)絡(luò)。然后,開發(fā)人員可以測試并熟悉這些 bean,試運(yùn)行,制作樣本等等。滿意之后,開發(fā)人員可以通過將其移至高性能服務(wù)器,來大幅度擴(kuò)大其規(guī)模。JavaBean 和 EJB 不受任何計(jì)算機(jī)體系結(jié)構(gòu)邊界的限制。它們用 Java 編寫,可以運(yùn)行在任何具有 Java 虛擬機(jī)的系統(tǒng)上,并可以使用任何 Enterprise Java Server (EJS) 來部署對(duì)象。因此,開發(fā)人員現(xiàn)在可以在方便的系統(tǒng)上構(gòu)建,以后在方便的系統(tǒng)上部署,而不必是同一臺(tái)或同樣類型的機(jī)器。

IBM WebSphere 企業(yè)版支持將商業(yè)對(duì)象部署到多臺(tái)服務(wù)器。EJB 作為商業(yè)對(duì)象集成到“組件代理”功能,并作為任何其它商業(yè)對(duì)象處理。因此,EJB 可以連接到所選的后端系統(tǒng),并執(zhí)行任何所需操作,以滿足其商業(yè)需求。這就成為“組件代理”為 EJB 提供的基礎(chǔ)設(shè)施。通過將“組件代理”用作 EJB 服務(wù)器,開發(fā)人員將能夠繼續(xù)使用當(dāng)前舊有系統(tǒng),并將其與電子商務(wù)接口一起提供。

為使 EJB 能在 WebSphere“組件代理”環(huán)境中工作,可以使用“組件代理”部署工具將其安裝在一臺(tái)或多臺(tái)服務(wù)器上,然后將其添加到命名服務(wù)器,以便可以全局查找到它。任何可以訪問公共命名服務(wù)器的人都可以找到它,找到其宿主,并可以在宿主上執(zhí)行方法,同時(shí)創(chuàng)建 EJB。這就是“代理組件”要做的事。

上述就是小編為大家分享的怎么理解JavaBean與EJB的區(qū)別了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI