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

          搜索

          積分與排名

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁德市| 河西区| 洞头县| 满城县| 杭州市| 肇东市| 阳原县| 龙岩市| 新竹市| 三河市| 衢州市| 肇东市| 饶平县| 罗山县| 荆门市| 四子王旗| 微山县| 万安县| 萝北县| 体育| 吉首市| 岳普湖县| 庆阳市| 敖汉旗| 宣恩县| 晋宁县| 漳浦县| 柳州市| 军事| 通榆县| 惠州市| 盐边县| 固阳县| 大石桥市| 平舆县| 罗源县| 阆中市| 华坪县| 简阳市| 潢川县| 马鞍山市|