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

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

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

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    AJAX方案選擇

    Posted on 2006-04-02 14:43 canonical 閱讀(1270) 評論(0)  編輯  收藏 所屬分類: 設計理論
    ? 在采用AJAX技術的應用中, 常見的是兩種架構設計, 一種是采用RPC(Remote Procedure Call)方案, 后臺應用直接將java對象包裝為service接口, 在js對外暴露(java對象完全不知道web層), 在js中通過類似函數調用的方式訪問后臺服務.而另外一種方案是在后臺維持一個前臺DOM節點的映象,觸發前臺事件之后, 前臺引擎自動截獲該事件, 并翻譯為對后臺事件監聽器的調用, 將請求提交到后臺, 后臺程序處理請求之后更新后臺DOM節點, 然后將頁面變更部分傳回前臺頁面. 這兩種方案一種是傾向于在js中提供自我封閉的程序模型(對遠程服務的調用體現為對一個js函數的調用), 一種是傾向于在后臺提供封閉的程序模型(對前臺頁面的更新體現為對一個后臺java對象的屬性和結構的改變). 這兩種方案的共同之處在于它們都試圖在一定程度上屏蔽前后臺程序的交互細節, 而提供一種統一的程序模型.
    ? 但是我們需要記住軟件設計的第一要義在于系統的分解, 而Browser和Server之間客觀存在的http信道是天然存在的一種分界線. 任何強迫我們忘記B/S之間的界限的技術都是需要謹慎對待的. 例如控制后臺對象的權限問題, 很多RPC方案限制了應用程序對于web接入層的直接接觸, 而只能通過AOP(Aspect Oriented Programming)技術來動態織入權限控制代碼. 在實際使用中, 這種方式往往因為service接口函數的多樣化而造成配置上的繁瑣.? 而在我們的體系架構中, 系統邊界劃分在web訪問層上(而不是java service層), 借助于web訪問協議自身的一致性和透明性, 我們只需要如下實現
    ?? Object invokeWebEvent(){??? ???
    ???? return new ActionMethodInvocation(getWebObject(), getObjectEvent(), getInterceptors()).proceed();
    ?? }
    就為所有WebObject加入interceptor堆棧, 完全不需要AOP的動態織入技術.
    ? 在witrix平臺的設計中, 因為大量采用pull方案, 我們對于前后臺交互方式采取的是完全開放的態度, 前后臺的交互接口完全定義在web訪問層上(即前臺程序直接訪問一個url獲取數據), 盡量避免將系統架構的限制引入到應用程序設計中來. 確實, Browser和Server之間的原始交互方式是受限制的, 狹窄的, 但是從系統設計的角度上說, 這正是異構系統集成和進行系統核心控制的最好場所, 任何試圖獨占該連接信道并在層層封裝之后提供更加豐富的訪問語義的努力在我看來都是可疑的.
    ?
    主站蜘蛛池模板: 黄页网站在线视频免费| 亚洲Av无码乱码在线znlu| 国产亚洲综合一区柠檬导航| 一日本道a高清免费播放| 亚洲一级Av无码毛片久久精品| 曰批免费视频播放免费| 亚洲熟妇少妇任你躁在线观看无码| 黄色免费网址在线观看| 亚洲AV无码乱码精品国产| 国产精品永久免费视频| 亚洲av无码乱码国产精品fc2 | 亚洲成a人片在线观看精品| 99久久人妻精品免费二区| 亚洲成人福利网站| 成年女人毛片免费视频| 国产亚洲视频在线| 国产成人A亚洲精V品无码| 秋霞人成在线观看免费视频| 亚洲成在人线中文字幕| 狠狠久久永久免费观看| 亚洲一级片免费看| 亚洲黄网在线观看| 免费看大美女大黄大色| 国产美女视频免费观看的网站| 精品亚洲成a人片在线观看| 免费a级毛片高清视频不卡| 高潮毛片无遮挡高清免费| 亚洲精品无码久久久影院相关影片| 精品一区二区三区无码免费视频 | 亚洲av无码专区青青草原| 亚洲人成人网站在线观看| 精品视频在线免费观看| 亚洲砖码砖专无区2023| 亚洲一级特黄无码片| 99ee6热久久免费精品6| 国产成人亚洲午夜电影| 亚洲爆乳精品无码一区二区三区| 国国内清清草原免费视频99| 新最免费影视大全在线播放| 亚洲精品国产肉丝袜久久| 亚洲国产精品一区二区第一页免 |