構建高效的企業級Java應用系列(一)架構篇——3

          3:區分邏輯層(layer)和物理層(tier)
                不同邏輯層(layer)之間才是企業應用所關心的功能職責,軟件代碼基(codebase)的不同部分各自承擔著一項關鍵職責。物理層(tier),則是網絡拓撲中的物理機器。通常邏輯層都會映射到給定的物理層,比如數據層(layer)和數據庫層(tier),直接假設這種映射是一對一的話,可以消除考慮其他架構的可能性。雖然這種架構可能是最好的,但是這種假設應該是我們有意識的決定,而不是靠習慣做出的選擇。在有些場合可能需要我們變換這種一對一的映射關系。例如便利連鎖店的售貨系統,我們會這樣設計系統:把表示層、域邏輯層以及部分數據管理層都放置在客層,數據管理層的其它部分從客戶層、中間層(通過某種第3類型的JDBC網絡驅動程序),一直延伸到服務器層。每個便利店的終端在網絡連接斷開的時候一樣能夠運行應用程序,數據被緩存在本地機器,當網絡恢復的時候,就能夠用其更新中央數據庫。當我們把消息中介放置在客戶層時,就可以把消息存儲在本地,等網絡連接恢復的時候在傳遞出去,這是這種方法尤其有用。
                考慮應用程序架構的時候,為了在集中化管理和通信成本之間找到最好的“平衡點”,要確保描繪出的系統的各個邏輯層次(表示層、域邏輯層、數據管理層)和網絡拓撲中的物理層次(客戶端、中間層、服務器層)。更重要的是,一定不能認定表示層就在客戶端,域邏輯層總在中間層,數據管理層總是在服務器上。

          posted on 2007-04-16 20:59 萬博 閱讀(244) 評論(0)  編輯  收藏


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


          網站導航:
           
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿(1)

          隨筆檔案(13)

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 方城县| 麦盖提县| 灵武市| 蓬溪县| 阳朔县| 红河县| 延边| 刚察县| 拉萨市| 宣武区| 电白县| 胶州市| 同心县| 贞丰县| 丰都县| 延安市| 闻喜县| 张家界市| 肇源县| 永顺县| 土默特左旗| 宿州市| 成都市| 靖江市| 安阳市| 宿州市| 西畴县| 自贡市| 西城区| 南投县| 西畴县| 双峰县| 寻乌县| 襄汾县| 遵义市| 黑河市| 南郑县| 河南省| 蒙山县| 贵溪市| 彝良县|