DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> 基於JMX通知框架的AJAX深度開發
基於JMX通知框架的AJAX深度開發
編輯:AJAX詳解     

文章提示 AJAX和JMX分別位於系統管理棧的兩個對立端。然而,如今AJax模型已普遍存在於豐富的浏覽器客戶端。這使得該模型在構架領域為在問題解析管道中提高支持模式所具有的優點變得模糊起來。

  本文將詳細描述一種AJax架構的優點-它可以把管理狀態"廣播"到一個能夠使用浏覽器的用戶基上而不必等待頁面更新。

  這種架構是一個通用模型的擴展-可用於把JMX事件和屬性記載到一個服務器端日志文件中;而且,這種變化進一步把管理信息記錄或"廣播"到(支持AJax的)用戶基。

  在本文中,我們將特別分析AJax請求/響應模型和把管理數據繪制到頁面的過程,還有漂亮的JMX通知框架-所有這些都通過一個裝配的servlet清晰地集成到一起。

  接下來我們還會粗略地看一下通常在標准AJax討論中所不及的內容-安全和容量模型。

  本文中,我們使用BEA WebLogic 8.1用作這些軟件的發布平台,盡管這裡的架構和方法也適用於其它J2EE應用程序服務器。

  一、關鍵需求

  針對於企業Java和J2EE應用程序的系統管理棧形成了問題解析管道的一部分-在此,Java/J2EE應用程序與一個管理層進行交互以監視潛在的問題,例如應用程序服務器線程饑餓,堆溢出或到一個數據庫的陳舊連接等。

  管理層通常包括JMX Mbeans-要裝配並使用哪個應用程序,以及其它一些產品例如讀取這些JMX屬性的Wily Introscope和HP OpenVIEw-如果超過一個事先配置的門檻值,那麼它能夠從Wily中得到警告。

  這個模型存在一個問題-如果系統在後台出現問題的話,針對JMX管理的服務器端模式將無法幫助浏覽器端客戶,因為這種模型全部是以服務器為中心的。例如,如果一新的J2EE Web應用程序要被發布或該應用程序在幾分鐘內將要關閉-因為Wily檢測到一個問題,那麼在浏覽器上的用戶並不知道發生了這麼緊迫的管理事件!

  通過全面地允許用戶進入問題解析管道,系統管理員可以管理終端用戶體驗-通過把管理信息廣播到用戶基並在一定程度上控制用戶的行為來實現。

  為了通過HTTP協議實現把管理信息傳遞給客戶,存在這樣一個問題:如果客戶端用戶不是公開地使用GET或POST更新頁面而是偷偷地更新一隱蔽的框架,那麼管理方面如何把管理信息發送到一個HTTP客戶?



  二、方案描述

  本文要實現一簡單的AJax腳本,它將從MBean服務器取得以XML消息形式的管理信息並經由一個servlet解決這個問題。這些管理信息必須被加以管理並且被反饋到所有的參與其中的能夠接收AJax請求的應用程序服務器。

  在服務器端:

  ·一個J2EE應用程序服務器簇用於服務於來自基於浏覽器的用戶和在線事務處理(OLTP)用戶基(例如有兩個或四個服務器)的請求。通過使用一個第三方Web服務器,用戶請求被跨越該簇(OLTP簇)平衡裝載。

  ·一個標准MBean(UserWeb)用於存儲管理信息,如加上元數據屬性的管理消息。該Mbean宿主在J2EE"管理"服務器和在OLTP簇上的J2EE服務器上。

  ·在管理服務器上,由系統管理員使用針對JMX的HtmlAdaptor來設置警告狀態,重試間隔(在相鄰XMLHttp-Requests之間的間隔)以及警告消息-例如"System Down in 10 Minutes."。然後,管理員把該狀態廣播到管理服務器上的Mbeans-由該管理服務器來把它們的狀態重置到master管理狀態。

  在客戶端:

  ·支持AJax的客戶端使用一個XMLHttpRequest(它調用一個servlet以返回XML消息形式的相關的MBean值)來檢索狀態、重試間隔和消息。

  ·然後由客戶端JavaScript分析這個XML消息,重置重試間隔並且用管理消息重畫屏幕的一部分。

  ·在retry-interval秒之後,該客戶進行另外一個XMLHttpRequest並且客戶周期再次開始。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved