JavaBeans 與 Ejb 的區(qū)別
發(fā)表時(shí)間:2024-01-17 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]您現(xiàn)在可能已在使用 Javabeans,但還不了解它。如果有支持 Java 的瀏覽器,那么,在桌面上使用 Javabeans 就沒有限制。使用的 Web 頁面可以將 beans 作為小應(yīng)用程序的一部分。您很快就會(huì)和作為瀏覽器可視部分的 Javabeans 交互,然后,那些 Javabeans 將與...
您現(xiàn)在可能已在使用 Javabeans,但還不了解它。如果有支持 Java 的瀏覽器,那么,在桌面上使用 Javabeans 就沒有限制。使用的 Web 頁面可以將 beans 作為小應(yīng)用程序的一部分。您很快就會(huì)和作為瀏覽器可視部分的 Javabeans 交互,然后,那些 Javabeans 將與服務(wù)器上的 EJB 接口。這種能力也可以擴(kuò)展到因特網(wǎng)和內(nèi)部網(wǎng)。
Javabeans 和 Server beans(通常稱為 Enterprise Javabeans (EJB))有一些基本相同之處。它們都是用一組特性創(chuàng)建,以執(zhí)行其特定任務(wù)的對(duì)象或組件。它們還有從當(dāng)前所駐留服務(wù)器上的容器獲得其它特性的能力。這使得 beans 的行為根據(jù)特定任務(wù)和所在環(huán)境的不同而有所不同。
這開辟了巨大商機(jī)。因?yàn)?Javabeans 是與平臺(tái)無關(guān)的,所以對(duì)于將來的解決方案,供應(yīng)商可以輕易向不同用戶推出其客戶機(jī)方的 Javabeans,而不必創(chuàng)建或維護(hù)不同的版本。這些 Javabeans 可以與執(zhí)行商業(yè)功能(例如訂購(gòu)、信用卡處理、電子匯款、存貨分配、運(yùn)輸?shù)龋┑?EJB 配合使用。這里有巨大潛力,而這正是組件代理(WebSphere Application Server 企業(yè)版)設(shè)計(jì)提供的那種潛力。
Javabeans 是一種組件,它在內(nèi)部有接口或有與其相關(guān)的屬性,以便不同人在不同時(shí)間開發(fā)的 beans 可以詢問和集成?梢詷(gòu)建一個(gè) beans,而在以后構(gòu)造時(shí)將其與其它 beans 綁定。這種過程提供了先構(gòu)建,然后重復(fù)使用的方法,這就是組件的概念?梢詫⑦@種單一應(yīng)用程序部署成獨(dú)立程序、ActiveX 組件或在瀏覽器中。
Javabeans 因其外部接口(即屬性接口)而與純對(duì)象不同。這種接口允許工具讀取組件要執(zhí)行的功能,將其與其它 beans 掛鉤,以及將其插入其它環(huán)境。Javabeans 設(shè)計(jì)成對(duì)單一進(jìn)程而言是本地的,它們?cè)谶\(yùn)行時(shí)通?梢。這種可視組件可能是按鈕、列表框、圖形或圖表 - 但這不是必需的。
ActiveX 對(duì)象可以將 Javabeans 部署成 ActiveX 對(duì)象,雖然 EJB 的代理也可以這樣做,但是,因?yàn)?ActiveX 運(yùn)行在桌面上,所以,EJB 本身不能成為 ActiveX 對(duì)象。要在與平臺(tái)相關(guān)的、僅 Windows 平臺(tái)上做到這一點(diǎn),開發(fā)人員可以將 Javabeans 變換成 ActiveX 組件。
EJB 的主要好處在于:構(gòu)建 beans 時(shí),beans 開發(fā)人員可以規(guī)定需要什么類型的行為,而不必規(guī)定如何去做。開發(fā)分為兩部分:程序員開發(fā) beans,然后驗(yàn)證:它可與構(gòu)建工具一起工作,并包括標(biāo)識(shí)所需服務(wù)質(zhì)量行為種類的部署描述符。下一步,另一個(gè)程序員可以采用這個(gè) beans,并使用讀取 EJB 部署描述符的部署工具,然后將該 beans 安裝到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作,這可能意味著生成如狀態(tài)保存代碼,放入事務(wù)掛鉤,或執(zhí)行安全性檢查這樣的代碼。所有這些操作由部署工具生成,beans 開發(fā)人員和部署人員可以是不同的人。
可以通過使用部署工具,將任何獨(dú)立于平臺(tái)的 Javabeans 改寫成具有可靠服務(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)重要!敖M件代理”功能極其健壯,該功能提供如負(fù)載均衡和支持服務(wù)器組中多臺(tái)機(jī)器的高級(jí)功能。它還有大大超出 Enterprise Java Server (EJS) 規(guī)范所倡導(dǎo)的系統(tǒng)管理功能。因此,按照基本標(biāo)準(zhǔn)編寫的 Javabeans 或 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)建的 Javabeans 和 EJB 部署到全球網(wǎng)絡(luò)。然后,開發(fā)人員可以測(cè)試并熟悉這些 beans,試運(yùn)行,制作樣本等等。
滿意之后,開發(fā)人員可以通過將其移至高性能服務(wù)器,來大幅度擴(kuò)大其規(guī)模。Javabeans 和 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。這就是“代理組件”要做的事。
讓我們舉一個(gè)在 Web 購(gòu)物站點(diǎn)上可以看到的電子購(gòu)物車的例子。用戶的購(gòu)物車是一個(gè) Javabeans。用戶將貨架上的商品放入購(gòu)物車,這些商品本身是 Javabeans。它們?nèi)靠梢,并且面向用戶。結(jié)帳時(shí),將用戶購(gòu)物車中的商品發(fā)送到服務(wù)器上的 EJB,該 EJB 執(zhí)行一些必要的操作,如檢查信用卡授權(quán)和可用額度,生成封條,或生成給發(fā)貨部門的有關(guān)提什么貨和發(fā)貨地點(diǎn)的特殊指示,這就是商業(yè)程序已在進(jìn)行的活動(dòng)。
beans 的全部意義不只是其現(xiàn)有能力,更在于其可以為商業(yè)提供的有競(jìng)爭(zhēng)力的潛在能力。IT 設(shè)計(jì)師和應(yīng)用開發(fā)人員現(xiàn)在可以將精力完全集中在商業(yè)邏輯,而將如事務(wù)、持久性和安全性的底層工作留給服務(wù)器。WebSphere 的“組件代理”功能將提供所有這些(還有后端訪問)和對(duì)象事務(wù)管理器。