<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://www.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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    常去的網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产永久免费高清在线| 亚洲国产精品无码观看久久| 国产va免费精品| 免费A级毛片无码A| 日韩在线视精品在亚洲| 午夜一级毛片免费视频| 亚洲熟女综合色一区二区三区| 在线观看视频免费完整版| 亚洲mv国产精品mv日本mv| 一个人看的www在线观看免费| 亚洲1区1区3区4区产品乱码芒果 | 亚洲AV无码乱码麻豆精品国产| 永久在线观看www免费视频| 亚洲精品免费在线视频| 在线a级毛片免费视频| 99亚偷拍自图区亚洲| 国产精品视频免费一区二区三区 | 国产亚洲精品VA片在线播放| 24小时免费直播在线观看| 亚洲日韩AV一区二区三区中文| 国产免费牲交视频| 人妖系列免费网站观看| 久久青草亚洲AV无码麻豆| 2015日韩永久免费视频播放| 亚洲一卡2卡三卡4卡无卡下载| jjzz亚洲亚洲女人| 韩国免费A级毛片久久| 亚洲黄色在线电影| 成年女人18级毛片毛片免费| 日产久久强奸免费的看| 亚洲成av人在线视| 成年男女免费视频网站| 一级做a爱过程免费视频高清| 亚洲男人都懂得羞羞网站| 天天拍拍天天爽免费视频| 久久精品成人免费观看97| 亚洲视频在线观看不卡| 国产又黄又爽又刺激的免费网址 | 亚洲熟妇中文字幕五十中出| 51精品视频免费国产专区| 亚洲精品无码中文久久字幕|