您現在可能已在使用 JavaBean,但還不了解它。假如有支持 Java 的浏覽器,那麼,在桌面上使用 JavaBean 就沒有限制。使用的 Web 頁面可以將 bean 作為小應用程序的一部分。您很快就會和作為浏覽器可視部分的 JavaBean 交互,然後,那些 JavaBean 將與服務器上的 EJB 接口。這種能力也可以擴展到因特網和內部網。
JavaBean 和 Server Bean(通常稱為 Enterprise JavaBean (EJB))有一些基本相同之處。它們都是用一組特性創建,以執行其特定任務的對象或組件。它們還有從當前所駐留服務器上的容器獲得其它特性的能力。這使得 bean 的行為根據特定任務和所在環境的不同而有所不同。
這開辟了巨大商機。因為 JavaBean 是與平台無關的,所以對於將來的解決方案,供給商可以輕易向不同用戶推出其客戶機方的 JavaBean,而不必創建或維護不同的版本。這些 JavaBean 可以與執行商業功能(例如訂購、信用卡處理、電子匯款、存貨分配、運輸等)的 EJB 配合使用。這裡有巨大潛力,而這正是組件代理(WebSphere Application Server 企業版)設計提供的那種潛力。
JavaBean 是一種組件,它在內部有接口或有與其相關的屬性,以便不同人在不同時間開發的 bean 可以詢問和集成。可以構建一個 bean,而在以後構造時將其與其它 bean 綁定。這種過程提供了先構建,然後重復使用的方法,這就是組件的概念。可以將這種單一應用程序部署成獨立程序、ActiveX 組件或在浏覽器中。
JavaBean 因其外部接口(即屬性接口)而與純對象不同。這種接口答應工具讀取組件要執行的功能,將其與其它 bean 掛鉤,以及將其插入其它環境。JavaBean 設計成對單一進程而言是本地的,它們在運行時通常可視。這種可視組件可能是按鈕、列表框、圖形或圖表 - 但這不是必需的。
可執行組件
Server Bean 或 EJB 是部署在服務器上的可執行組件或商業對象。有一個協議答應對其進行遠程訪問或在特定服務器上安裝或部署它們。有一系列機制答應它們將服務安全性、事務行為、並發性(由多個客戶機同時訪問的能力)和持久性(其狀態可以保存多久)的主要方面授權給 EJB 服務器上其所在的容器。當安裝在容器中時,它們獲得各自的行為,該行為提供不同質量的服務,因此,選擇正確的 EJB 服務器至關重要。這正是 IBM WebSphere 企業版的優勢所在。
EJB 是設計成運行在服務器上,並由客戶機調用的非可視遠程對象。可通過多個非可視 JavaBean 構建 EJB。它們有一個部署描述符,其目的與 JavaBean 屬性相同:它是以後可由工具讀取的 bean 的描述。EJB 還獨立於平台,一旦編寫好,還可以在任何支持 Java 的平台(包括客戶機和服務器)上使用。
因為 EJB 由諸如 IBM VisualAge for Java 這樣的工具集生成,所以,它是基於服務器的對象,並用於遠程調用。它們安裝在 EJB 服務器上,並象調用其它 CORBA 遠程對象那樣獲得進行調用的遠程接口。
ActiveX 對象
可以將 JavaBean 部署成 ActiveX 對象,雖然 EJB 的代理也可以這樣做,但是,因為 ActiveX 運行在桌面上,所以,EJB 本身不能成為 ActiveX 對象。要在與平台相關的、僅 Windows 平台上做到這一點,開發人員可以將 JavaBean 變換成 ActiveX 組件。
好處
EJB 的主要好處在於:構建 bean 時,bean 開發人員可以規定需要什麼類型的行為,而不必規定如何去做。開發分為兩部分:程序員開發 bean,然後驗證:它可與構建工具一起工作,並包括標識所需服務質量行為種類的部署描述符。下一步,另一個程序員可以采用這個 bean,並使用讀取 EJB 部署描述符的部署工具,然後將該 bean 安裝到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作 - 這可能意味著生成如狀態保存代碼,放入事務掛鉤,或執行安全性檢查這樣的代碼。所有這些操作由部署工具生成,bean 開發人員和部署人員可以是不同的人。
可以通過使用部署工具,將任何獨立於平台的 JavaBean 改寫成具有可靠服務質量、特定於平台的 EJB,以滿足現有商業系統和應用程序的特定需求。這就是 EJB 服務器對集成系統、網絡和體系結構如此重要的原因所在。
EJB 與 IBM WebSphere 企業版
在 IBM WebSphere 企業版中使用時,可以將 EJB 配置成被治理的商業對象。接受它們授權服務的容器是其安裝到的容器。將 EJB 的持久性部分映射在數據或狀態對象中。EJB 服務器為 EJB 提供不同的服務質量,選擇正確的 EJB 服務器可能對滿足完整的商業需求至關重要。“組件代理”功能極其健壯,該功能提供如負載均衡和支持服務器組中多台機器的高級功能。它還有大大超出 Enterprise Java Server (EJS) 規范所倡導的系統治理功能。因此,按照基本標准編寫的 JavaBean 或 EJB 可以運行在使用“組件代理”功能的 WebSphere 企業版上,並獲得那些所有的附加功能。
EJB 服務器還提供獨特的特性和服務質量,而且不完全相同。IBM“組件代理”有一些強大特性 - 例如,可伸縮性,它答應開發人員將 EJB 部署到從小型系統到大型網絡的不同類型服務器。