隨筆-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 閱讀(194) 評論(0)  編輯  收藏 所屬分類: 4、Ajax

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


          網站導航:
           
          主站蜘蛛池模板: 澜沧| 海伦市| 叙永县| 灵川县| 山东| 曲阳县| 桦南县| 锦州市| 沙河市| 东光县| 合阳县| 大竹县| 牡丹江市| 教育| 通城县| 商河县| 拉萨市| 遂平县| 社会| 合川市| 五家渠市| 闽侯县| 广平县| 衡南县| 巧家县| 宜兰市| 论坛| 二手房| 固阳县| 乌兰察布市| 巴南区| 平利县| 临高县| 玉溪市| 广州市| 肥东县| 巢湖市| 西乌珠穆沁旗| 城口县| 肥城市| 根河市|