<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 193,  comments - 520,  trackbacks - 0
    正在翻譯《Enterprise AJAX》,附錄里介紹到OPENAJAX HUB,google相應的中文資料很少,所以就把譯文貼出來:)

    OpenAjax Hub(“Hub”)主要用來處理Web應用開發者需要在同一個應用中同時使用多個AJAX運行庫的情況。它提供標準的JavaScript,當被包含在AJAX驅動的Web應用里時,它使得多個AJAX工具包能夠在同一個頁面里一起協同工作。

    AJAX應用開發者在開發中的需求往往存在著巨大的差異,這導致了如今市場上存在超過200個各種各樣的AJAX產品,同時這些產品的架構和特性也存在巨大的差異。對一些開發者來說,他們認為開發中最重要的因素是找到一個能提供與后端服務器強大集成能力的AJAX工具包。

    而對其他一些開發者來說,最重要的因素則是能否應用特殊的客戶端組件(例如,富數據網格組件或交互式的圖表組件)。結果,AJAX生態系統發展到現在,開發者在大部分時間里都能找到滿足他們每個特殊需求的AJAX工具包,但是也存在問題,他們往往必須在同一個Web應用里混合和匹配使用多個AJAX工具包才能滿足所有的需求。 

    Hub應用的一個重要場合是門戶和內容糅合,這里,應用開發者創建一個頁面,頁面里松散組裝預先包裝好的應用組件。Hub實際上是保證這些AJAX驅動的應用組件能夠使用多個不同的AJAX工具包創建。

    主要特性:Hub 的發布/訂閱管理器

    Hub的主要特性是它的發布/訂閱管理器(“pub/sub管理器”)。 pub/sub管理器允許內容糅合的一個部分能夠傳播其他應用組件所訂閱的事件。例如,假設存在一個日歷組件,該組件允許用戶能夠選取一個特定的日期。內容糅合里可能存在多個UI組件,這些組件都需要根據新選擇的日歷日期而更新它們的視覺外觀。在這種情況下,日歷組件將發布一個“新日歷日期”的事件,而其他可視化組件將訂閱這個事件。因此,pub/sub管理器的通用消息的優點是給由不同AJAX工具包所構建的組件之間提供了一個關鍵的集成機制。

    Hubpub/sub管理器提供各種各樣的先進特性,例如對事件名稱通配符的強大支持,在下面的例子里并沒有展示這個特性。

    范例

    讓我們假設現在有這樣一個商務智能應用,該應用使用下面的AJAX運行庫:

    UTILS.js, 對瀏覽器的JavaScript環境提供非常有用的擴展,例如XMLHttpRequestAPIs。

    CALENDAR.js,提供一個日歷組件

    CHARTS.js, 提供一個圖表組件

         DATAGRID.js,提供一個交互式的數據網格組件

    該應用有一個唯一的日歷組件,用戶可以以圖表組件的形式(例如,每日情形、每周情形、每月情形和每年情形的柱狀圖)和數據網格組件的形式(例如,地方數據與全國數據,兩種數據都以用戶選擇的感興趣的列展示)選擇其中的一些數據視圖當一個新的日期在日歷組件里被選擇時,各個用戶指定的可視化組件(例如,圖表和/或數據網格組件)都需要被更新。

    實現該應用的一個方法是在加載其他AJAX庫之前加載OpenAjax HubJavaScript。例如:

    <html>

    <head>



    <script type=”text/javascript” src=”OpenAjax.js”/>

    <script type=”text/javascript” src=”UTILS.js”/>

    <script type=”text/javascript” src=”CALENDAR.js”/>

    <script type=”text/javascript” src=”CHARTS.js”/>

    <script type=”text/javascript” src=”DATAGRID.js”/>



    </head>


     

    一些AJAX運行庫包含OpenAjax Hub,將Hub作為它們標準發布的一部分,在這種情況下,只要特定的AJAX運行期的JavaScript(譯注:這里特定的JavaScript指的就是包含OpenAjax HubAJAX運行庫的代碼)在其他兼容OpenAjax的運行庫之前被加載,那么則沒有必要為OpenAjax.js使用一個單獨的<script>元素。

    要使應用工作,開發者需要注冊一個回調函數,當用戶在日歷組件里選擇一個新的日期時調用該函數。這個回調函數接著使用OpenAjax Hubpublish()函數傳播這個新日期事件:

    <script type=”text/javascript”>



    function MyCalendarCallback() {

    OpenAjax.hub.publish(“myapp.newdate”, newdate);

    }



    </script>
     

    接著開發者需要開發這樣一些代碼:所有的圖表組件和數據網格組件都要訂閱這個新日期事件,并要提供一個回調函數。各個回調函數將相應地更新特定的可視化組件:


    <script type=”text/javascript”>



    function NewDateCallback(eventname, publisherData,

    subscriberData) {

    更新特定的可視化組件

    }

    OpenAjax.hub.subscribe(“myapp.newdate”, NewDateCallback);



    </script>

    未來支持OpenAjax Hub的工具包

    OpenAjax聯盟正與工業界一起合作,達到對OpenAjax Hub的廣泛支持。一個特殊的AJAX工具包可以像下面這樣支持OpenAjax Hub

    AJAX工具包可以包含Hub(最好的方式)。Hub可以被小于3KJavaScript實現,所以一些AJAX工具包簡單地捆綁Hub,將它作為它們工具包的一個標準組件。

    如果Hub在運行環境里可用則使用它。其他一些AJAX工具包可能決定在它們的發布中并不包含Hub,它們會檢查Hub是否早先已經被加載了,如果已經加載,它們則直接使用Hub的服務。 

    第三方的開發者可以開發適配器。對大多數工具包來說,它們可能允許第三方的開發者編寫少量的JavaScript使得自己能夠支持Hub。

    AJAX工具包包含內置對Hub的支持時,應用開發者的工作將更加容易,但是通過查找或編寫適配器的方式,Hub依然可以被那些并未實現支持Hub的工具包所使用。





    http://m.tkk7.com/ronghao 榮浩原創,轉載請注明出處:)
    posted on 2008-01-01 12:57 ronghao 閱讀(2467) 評論(4)  編輯  收藏 所屬分類: ajax相關

    FeedBack:
    # re: OPENAJAX HUB介紹
    2008-09-01 08:38 | cn-cuckoo
    祝賀你的書出版了。我在翻譯《Advanced Ajax》附錄時,把Hub的subscribe翻譯成“預訂”了。  回復  更多評論
      
    # re: OPENAJAX HUB介紹[未登錄]
    2008-09-01 09:24 | ronghao
    呵呵,謝謝:)  回復  更多評論
      
    # re: OPENAJAX HUB介紹
    2009-03-31 10:16 | shuttle
    tks,不錯,有機會多向你請教。  回復  更多評論
      
    # re: OPENAJAX HUB介紹
    2012-05-17 14:15 | 歐昭平
    @shuttle
    麻煩能不能給我個open ajax的實例 謝謝  回復  更多評論
      
    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    關注工作流和企業業務流程改進。現就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

    常用鏈接

    留言簿(38)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    常去的網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品无码第一区二区三区 | 国产日韩精品无码区免费专区国产| 日日夜夜精品免费视频| 亚洲国产成人99精品激情在线| 亚洲国产精品免费观看| 亚洲综合伊人制服丝袜美腿| 美女视频黄是免费的网址| 自拍日韩亚洲一区在线| 永久在线毛片免费观看| 美女被免费视频网站| 亚洲Av无码乱码在线znlu| caoporm超免费公开视频| 国产日韩亚洲大尺度高清| 免费人成在线观看网站| 亚洲精品中文字幕乱码影院| 免费A级毛片无码无遮挡内射| 日本亚洲免费无线码 | 亚洲精品乱码久久久久久蜜桃不卡| 国产又黄又爽胸又大免费视频| 婷婷久久久亚洲欧洲日产国码AV| 亚洲最大免费视频网| 亚洲欧美日韩综合久久久| 亚洲精品国产福利一二区| 日本在线免费观看| 国产色在线|亚洲| 亚洲美女在线国产| 91香蕉在线观看免费高清| 亚洲性无码AV中文字幕| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 成年私人影院免费视频网站| 未满十八私人高清免费影院| 亚洲精品无码MV在线观看| 国产一卡二卡四卡免费| 四虎一区二区成人免费影院网址 | 亚洲中文字幕AV在天堂| 亚洲乱亚洲乱少妇无码| 精品免费久久久久久久| 成人精品综合免费视频| 亚洲日本国产精华液| 亚洲欧洲久久av| 野花高清在线观看免费3中文 |