隨筆-61  評論-13  文章-19  trackbacks-0

          關于AJAX構架的一點構想

          以前搞了一個XPP的編程平臺,應該來說,不是一個成功的東東。XPP本身確實解決了目前編程的諸多問題,例如頁面狀態保持、統一的界面風格、良好的數據效驗器,但并沒有考慮到數據傳輸的問題,雖然采用了壓縮流來傳遞數據,但同樣也增加了服務器的壓力。也許對于中小型的企業應用,XPP可以作為一個被選的平臺,但作為大型的企業應用,XPP表現恐怕很難實用。
          在有了上次失敗的經歷后,考慮是否可以采用AJAX作為一個輕量級的框架(XPP的體系太過龐雜,過多在服務端考慮了前端的UI邏輯,也是這才是失敗的根本),側重于業務邏輯層的調用,不再考慮UI層的邏輯。
          AJAX主要實現的主要技術:
          1、XmlHttpRequest
          主要考慮是否需要支持瀏覽器的差異性,目前至少提供對IE和Mozilla的支持,以后是否考慮對其他瀏覽器進行支持?
          這是是個很easy的問題,暫時不進行深入探索。

          2、XML數據傳輸層的封裝(AJAX的核心)
          AJAX的核心數據傳遞毫無疑問只能是基于XML的,如何有效地對XML數據輸送層進行封裝,來保證構架良好的可用性和擴展性?這里主要是需要考慮兩個方面:良好的封裝性和執行效率。
          我初步的想法是服務端采用類似buffalo的技術實現JAVA POJO與XML的序列化,客戶端采用js實現類封裝實現JAVA對象的映射(考慮采用服務器端自動生成js文件,并動態加載js對象,以提高瀏覽器的處理能力),并在此基礎上實現XML-PRC。

          3、服務端集成
          考慮AJAX與其它架構集成的方案,并保證系統良好的安全性和執行效率。

          暫時處于疑問中的幾個問題:
          1、UI層如何表現?
          采用AJAX的話,是采用js構建頁面還是采用XmlHttp獲取服務端返回的頁面信息?

          2、數據效驗問題?
          對于AJAX作RIA的應用,UI層的數據效驗肯定是必要的,由于采用AJAX,用戶繞過UI效驗是很容易的事情,如果在服務端同樣做數據效驗的話,是否會增加代碼的編寫工作量?是否能夠采用統一的數據效驗?如何可以的話,如何實現?

          目前buffalo主要有如下問題:
          a. JAVA Object的序列化邏輯與RPC的業務邏輯混在一起,不利于系統的擴展
          b. buffalo只支持UTF-8編碼的XML,不支持GBK編碼的XML
          c. buffalo可以調用服務的所有方法,可能會對服務器產生一定的安全隱患

          posted on 2006-03-15 10:15 xnabx 閱讀(200) 評論(0)  編輯  收藏 所屬分類: 4、Ajax

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宁海县| 确山县| 石景山区| 南靖县| 右玉县| 镇平县| 萝北县| 长岛县| 建水县| 洛隆县| 美姑县| 泸水县| 焉耆| 东阿县| 东方市| 博湖县| 平谷区| 万山特区| 顺义区| 航空| 犍为县| 丽水市| 龙海市| 察哈| 宜宾市| 彭泽县| 萨嘎县| 正阳县| 庆城县| 泌阳县| 吐鲁番市| 洪湖市| 永仁县| 舒兰市| 新密市| 琼海市| 区。| 板桥市| 丰宁| 墨脱县| 酉阳|