您現(xiàn)在可能已在使用 JavaBean,但還不了解它。如果有支持 Java 的瀏覽器,那么,在桌面上使用 JavaBean 就沒有限制。使用的 Web 頁(yè)面可以將 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)無(wú)關(guān)的,所以對(duì)于將來(lái)的解決方案,供應(yīng)商可以輕易向不同用戶推出其客戶機(jī)方的 JavaBean,而不必創(chuàng)建或維護(hù)不同的版本。
這些 JavaBean 可以與執(zhí)行商業(yè)功能(例如訂購(gòu)、信用卡處理、電子匯款、存貨分配、運(yùn)輸?shù)?的 EJB 配合使用。這里有巨大潛力,而這正是組件代理(WebSphereApplication 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)勢(shì)所在。
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)重要!敖M件代理”功能極其健壯,該功能提供如負(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ā)人員可以測(cè)試并熟悉這些bean,試運(yùn)行,制作樣本等等。滿意之后,開發(fā)人員可以通過將其移至高性能服務(wù)器,來(lái)大幅度擴(kuò)大其規(guī)模。JavaBean 和 EJB 不受任何計(jì)算機(jī)體系結(jié)構(gòu)邊界的限制。
它們用 Java 編寫,可以運(yùn)行在任何具有 Java 虛擬機(jī)的系統(tǒng)上,并可以使用任何 Enterprise Java Server (EJS) 來(lái)部署對(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。這就是“代理組件”要做的事。
結(jié)束語(yǔ)
Bean 的全部意義不只是其現(xiàn)有能力,更在于其可以為商業(yè)提供的有競(jìng)爭(zhēng)力的潛在能力。IT 設(shè)計(jì)師和應(yīng)用開發(fā)人員現(xiàn)在可以將精力完全集中在商業(yè)邏輯,而將如事務(wù)、持久性和安全性的底層工作留給服務(wù)器。WebSphere 的“組件代理”功能將提供所有這些(還有后端訪問)和對(duì)象事務(wù)管理器。
出處:賽迪網(wǎng)
責(zé)任編輯:moby
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|