您可能已在用 JavaBeans 但不了解它。有支援 Java 的瀏覽器,桌面使用 JavaBeans 無限制。Web 頁面可將 Beans 作為 Applet 一部分。用戶很快會與作為瀏覽器可視部分的 JavaBeans 交互,進而與服務器端 EJB 接口。這能力可延伸至互聯網和內部網。
共同點
- 皆為用一組特性創建、執行特定任務的對象/組件
- 皆能從容器獲得額外特性,行為隨任務與環境不同而異
巨大商機
JavaBeans 平台無關,供應商可輕易向不同用戶推出客戶端 Beans,無需創建維護不同版本。這些 Beans 可與執行商業功能(訂購、信用卡處理、電子匯款、庫存分配、運輸等)的 EJB 配合。這正是組件代理(WebSphere Application Server Enterprise)設計提供的潛力。
JavaBeans 特徵
- 內部有接口或屬性,便於不同時期開發的 Beans 詢問集成
- 可先構建,後與其他 Beans 綁定——構建一次、重用多次
- 可部署為獨立程序、ActiveX 組件或瀏覽器中
- 外部接口(屬性接口)區別於純對象:允許工具讀取功能、掛鉤其他 Beans、插入其他環境
- 設計為單進程本地,運行時通常可視(按鈕、列表框、圖表等,但非必須)
- 可變換為 ActiveX 組件(ActiveX 運行在桌面,EJB 本身不能成 ActiveX)
EJB 核心優勢:聲明式服務質量
Beans 開發者規定需要什麼行為,而非如何實現。開發分兩階段:
- 程式員開發 Bean,驗證其與構建工具協作,包含標識所需服務質量行為的部署描述符
- 另一程式員用部署工具讀取描述符,將 Bean 安裝到 Enterprise Java Server 容器。部署工具自動生成:狀態保存代碼、事務掛鉤、安全檢查代碼。開發者與部署者可分離
通過部署工具,將平台無關 JavaBeans 改寫為具備可靠服務質量、平台特定的 EJB,滿足現有商業系統需求。這就是 EJB Server 對集成系統、網絡、架構至關重要的原因。
EJB 與 WebSphere Enterprise
- EJB 可配置為受管商業對象,容器提供授權服務
- 持久性部分映射到數據/狀態對象
- EJB Server 提供不同服務質量,選擇正確 Server 至關重要
- 「組件代理」功能健壯:負載均衡、服務器群多機支援、超越 EJS 規范的系統管理
- 按基本標準編寫的 Beans/EJB 可在 WebSphere Enterprise 運行並獲得附加功能
- 可伸縮性強:從部門級 LAN 部署擴展到全球網絡,Beans 不受計算機架構邊界限制
- 支援多服務器部署商業對象,EJB 集成到組件代理,連接後端系統
- 部署工具安裝到一/多台服務器,添加到命名服務器全局查找
電子購物車實例
- 用戶購物車 = JavaBean(可視、面向用戶)
- 商品 = JavaBean(可視)
- 結帳時:購物車商品發送到服務器 EJB,執行信用卡授權、生成封條、發貨指示等商業邏輯
Beans 價值不僅在現有能力,更在於為商業提供的競爭潛力。IT 設計師可專注商業邏輯,將事務、持久化、安全等底層工作交給服務器。WebSphere 組件代理提供所有這些(含後端訪問)和對象事務管理器。