構建高效的企業級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)

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 柘城县| 博客| 新兴县| 富民县| 莫力| 兴城市| 稷山县| 平山县| 博野县| 乐都县| 和平县| 德兴市| 武清区| 长武县| 乐清市| 安宁市| 象山县| 马山县| 娱乐| 闽清县| 苗栗市| 无为县| 乐昌市| 静海县| 林甸县| 武穴市| 桑植县| 凭祥市| 日土县| 河曲县| 张北县| 兴安盟| 山东| 天气| 灵台县| 洛扎县| 平乐县| 奉新县| 中西区| 尼勒克县| 施甸县|