首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JavaBean 與 EJB 的差異解析

     編輯:Java 程式設計入門

您可能已在使用 JavaBean 但不自知。若有支援 Java 的瀏覽器,桌面使用 JavaBean 無限制。網頁可將 bean 作為小應用程式一部分。很快您會與作為瀏覽器可視部分的 JavaBean 互動,然後這些 JavaBean 將與伺服器上的 EJB 介接。此能力可擴展至 Internet 與 Intranet。

基本相同點

JavaBean 與 Server Bean(通常稱 Enterprise JavaBean/EJB)皆為以特定特性集合建立、執行特定任務的物件或組件。兩者皆能從所駐留伺服器的容器獲得其他特性,使行為隨任務與環境不同而異。

商機

JavaBean 跨平台特性讓供應商輕易向不同用戶推出客戶端 JavaBean,無需維護多版本。這些 JavaBean 可與執行商業功能(訂購、信用卡處理、電子匯款、庫存分配、運輸等)的 EJB 配合。這正是組件代理(WebSphere Application Server 企業版)設計提供的潛力。

JavaBean 特性

  • 具外部介面(屬性介面),讓工具讀取組件功能、串接其他 bean、插入其他環境。
  • 設計為單一進程本地組件,運行時通常可視(按鈕、列表框、圖表等,但非必須)。
  • 可部署為獨立程式、ActiveX 組件或瀏覽器小應用程式。

EJB 特性

  • 部署在伺服器上的可執行組件/商業物件,有協定允許遠程存取、安裝部署。
  • 機制允許將安全性、事務行為、並發性(多客戶端同時存取)、持久性(狀態保存期限)授權給 EJB 伺服器容器。安裝於容器中時獲得各自行為,提供不同服務品質,選擇正確 EJB 伺服器至關重要(IBM WebSphere 企業版優勢所在)。
  • 設計為伺服器端運行、客戶端調用的非可視遠程物件。可由多個非可視 JavaBean 構建。
  • 有部署描述符(目的同 JavaBean 屬性:供工具讀取的 bean 描述)。
  • 跨平台,一次編寫可在任何支援 Java 平台(客戶端/伺服端)使用。
  • 由 IBM VisualAge for Java 等工具集生成,基於伺服器物件,用於遠程調用。安裝於 EJB 伺服器,獲取遠程介面進行調用(類似 CORBA 遠程物件)。

ActiveX 物件

JavaBean 可部署為 ActiveX 物件。EJB 代理也可,但 EJB 本身不能成為 ActiveX 物件(ActiveX 運行於桌面)。若需在 Windows 平台實現,開發人員可將 JavaBean 轉換為 ActiveX 組件。

EJB 主要優勢

開發分兩階段:
1. 程式設計師開發 bean,驗證其與建構工具協作,包含部署描述符(標識所需服務品質行為)。
2. 另一程式設計師採用此 bean,用讀取部署描述符的部署工具安裝至 Enterprise Java Server 容器。部署工具自動生成狀態保存代碼、事務掛鉤、安全性檢查等代碼。Bean 開發人員與部署人員可以是不同人。

透過部署工具,將任何跨平台 JavaBean 改寫為具可靠服務品質、平台特定的 EJB,滿足現有商業系統需求。這就是 EJB 伺服器對整合系統、網路、架構如此重要的原因。

EJB 與 IBM WebSphere 企業版

在 WebSphere 企業版中,可將 EJB 配置為受治理商業物件。容器接受其授權服務。EJB 持久性部分映射至資料/狀態物件。EJB 伺服器提供不同服務品質。「組件代理」功能極健壯:負載平衡、支援伺服器群多機器、超越 EJS 規範的系統治理功能。按基本標準編寫的 JavaBean/EJB 可在 WebSphere 企業版運行並獲得所有附加功能。IBM 組件代理具強大特性如可擴展性,允許將 EJB 部署從小型系統到大型網路不同類型伺服器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved