萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> JavaBeans 與 Ejb 的區別

JavaBeans 與 Ejb 的區別

   您現在可能已在使用 Javabeans,但還不了解它。如果有支持 Java 的浏覽器,那麼,在桌面上使用 Javabeans 就沒有限制。使用的 Web 頁面可以將 beans 作為小應用程序的一部分。您很快就會和作為浏覽器可視部分的 Javabeans 交互,然後,那些 Javabeans 將與服務器上的 EJB 接口。這種能力也可以擴展到因特網和內部網。

  Javabeans 和 Server beans(通常稱為 Enterprise Javabeans (EJB))有一些基本相同之處。它們都是用一組特性創建,以執行其特定任務的對象或組件。它們還有從當前所駐留服務器上的容器獲得其它特性的能力。這使得 beans 的行為根據特定任務和所在環境的不同而有所不同。

  這開辟了巨大商機。因為 Javabeans 是與平台無關的,所以對於將來的解決方案,供應商可以輕易向不同用戶推出其客戶機方的 Javabeans,而不必創建或維護不同的版本。這些 Javabeans 可以與執行商業功能(例如訂購、信用卡處理、電子匯款、存貨分配、運輸等)的 EJB 配合使用。這裡有巨大潛力,而這正是組件代理(WebSphere Application Server 企業版)設計提供的那種潛力。

  Javabeans 是一種組件,它在內部有接口或有與其相關的屬性,以便不同人在不同時間開發的 beans 可以詢問和集成。可以構建一個 beans,而在以後構造時將其與其它 beans 綁定。這種過程提供了先構建,然後重復使用的方法,這就是組件的概念。可以將這種單一應用程序部署成獨立程序、ActiveX 組件或在浏覽器中。

  Javabeans 因其外部接口(即屬性接口)而與純對象不同。這種接口允許工具讀取組件要執行的功能,將其與其它 beans 掛鉤,以及將其插入其它環境。Javabeans 設計成對單一進程而言是本地的,它們在運行時通常可視。這種可視組件可能是按鈕、列表框、圖形或圖表 - 但這不是必需的。

  ActiveX 對象可以將 Javabeans 部署成 ActiveX 對象,雖然 EJB 的代理也可以這樣做,但是,因為 ActiveX 運行在桌面上,所以,EJB 本身不能成為 ActiveX 對象。要在與平台相關的、僅 Windows 平台上做到這一點,開發人員可以將 Javabeans 變換成 ActiveX 組件。

  EJB 的主要好處在於:構建 beans 時,beans 開發人員可以規定需要什麼類型的行為,而不必規定如何去做。開發分為兩部分:程序員開發 beans,然後驗證:它可與構建工具一起工作,並包括標識所需服務質量行為種類的部署描述符。下一步,另一個程序員可以采用這個 beans,並使用讀取 EJB 部署描述符的部署工具,然後將該 beans 安裝到 Enterprise Java Server 上的容器中。在第二步中,部署工具采取一些操作,這可能意味著生成如狀態保存代碼,放入事務掛鉤,或執行安全性檢查這樣的代碼。所有這些操作由部署工具生成,beans 開發人員和部署人員可以是不同的人。

  可以通過使用部署工具,將任何獨立於平台的 Javabeans 改寫成具有可靠服務質量、特定於平台的 EJB,以滿足現有商業系統和應用程序的特定需求。這就是 EJB 服務器對集成系統、網絡和體系結構如此重要的原因所在。

  EJB 與 IBM WebSphere 企業版:

  在 IBM WebSphere 企業版中使用時,可以將 EJB 配置成被管理的商業對象。接受它們授權服務的容器是其安裝到的容器。將 EJB 的持久性部分映射在數據或狀態對象中。EJB 服務器為 EJB 提供不同的服務質量,選擇正確的 EJB 服務器可能對滿足完整的商業需求至關重要。“組件代理”功能極其健壯,該功能提供如負載均衡和支持服務器組中多台機器的高級功能。它還有大大超出 Enterprise Java Server (EJS) 規范所倡導的系統管理功能。因此,按照基本標准編寫的 Javabeans 或 EJB 可以運行在使用“組件代理”功能的 WebSphere 企業版上,並獲得那些所有的附加功能。

  EJB 服務器還提供獨特的特性和服務質量,而且不完全相同。IBM“組件代理”有一些強大特性 - 例如,可伸縮性,它允許開發人員將 EJB 部署到從小型系統到大型網絡的不同類型服務器。開發人員可以從小處入手,例如,在一個部門中,首先在 LAN 的 Java 服務器上部署,一旦准備好,就知道可以將在那裡創建的 Javabeans 和 EJB 部署到全球網絡。然後,開發人員可以測試並熟悉這些 beans,試運行,制作樣本等等。

  滿意之後,開發人員可以通過將其移至高性能服務器,來大幅度擴大其規模。Javabeans 和 EJB 不受任何計算機體系結構邊界的限制。它們用 Java 編寫,可以運行在任何具有 Java 虛擬機的系統上,並可以使用任何 Enterprise Java Server (EJS) 來部署對象。因此,開發人員現在可以在方便的系統上構建,以後在方便的系統上部署,而不必是同一台或同樣類型的機器。

  IBM WebSphere 企業版支持將商業對象部署到多台服務器。EJB 作為商業對象集成到“組件代理”功能,並作為任何其它商業對象處理。因此,EJB 可以連接到所選的後端系統,並執行任何所需操作,以滿足其商業需求。這就成為“組件代理”為 EJB 提供的基礎設施。通過將“組件代理”用作 EJB 服務器,開發人員將能夠繼續使用當前舊有系統,並將其與電子商務接口一起提供。

  為使 EJB 能在 WebSphere“組件代理”環境中工作,可以使用“組件代理”部署工具將其安裝在一台或多台服務器上,然後將其添加到命名服務器,以便可以全局查找到它。任何可以訪問公共命名服務器的人都可以找到它,找到其宿主,並可以在宿主上執行方法,同時創建 EJB。這就是“代理組件”要做的事。

  讓我們舉一個在 Web 購物站點上可以看到的電子購物車的例子。用戶的購物車是一個 Javabeans。用戶將貨架上的商品放入購物車,這些商品本身是 Javabeans。它們全部可視,並且面向用戶。結帳時,將用戶購物車中的商品發送到服務器上的 EJB,該 EJB 執行一些必要的操作,如檢查信用卡授權和可用額度,生成封條,或生成給發貨部門的有關提什麼貨和發貨地點的特殊指示,這就是商業程序已在進行的活動。

  beans 的全部意義不只是其現有能力,更在於其可以為商業提供的有競爭力的潛在能力。IT 設計師和應用開發人員現在可以將精力完全集中在商業邏輯,而將如事務、持久性和安全性的底層工作留給服務器。WebSphere 的“組件代理”功能將提供所有這些(還有後端訪問)和對象事務管理器。

copyright © 萬盛學電腦網 all rights reserved