构建高效的企业级Java应用系列(一)架构篇——3

3:区分逻辑层(layer)和物理层(tier)
      不同逻辑层(layer)之间才是企业应用所关心的功能职责,软件代码基(codebase)的不同部分各自承担着一项关键职责。物理层(tier),则是网络拓扑中的物理机器。通常逻辑层都会映射到给定的物理层,比如数据层(layer)和数据库层(tier),直接假设这种映射是一对一的话,可以消除考虑其他架构的可能性。虽然这种架构可能是最好的,但是这种假设应该是我们有意识的决定,而不是靠习惯做出的选择。在有些场合可能需要我们变换这种一对一的映射关系。例如便利连锁店的售货系统,我们会这样设计系统:把表示层、域逻辑层以及部分数据管理层都放置在客层,数据管理层的其它部分从客户层、中间层(通过某种第3类型的JDBC网络驱动程序),一直延伸到服务器层。每个便利店的终端在网络连接断开的时候一样能够运行应用程序,数据被缓存在本地机器,当网络恢复的时候,就能够用其更新中央数据库。当我们把消息中介放置在客户层时,就可以把消息存储在本地,等网络连接恢复的时候在传递出去,这是这种方法尤其有用。
      考虑应用程序架构的时候,为了在集中化管理和通信成本之间找到最好的“平衡点”,要确保描绘出的系统的各个逻辑层次(表示层、域逻辑层、数据管理层)和网络拓扑中的物理层次(客户端、中间层、服务器层)。更重要的是,一定不能认定表示层就在客户端,域逻辑层总在中间层,数据管理层总是在服务器上。

posted on 2007-04-16 20:59 万博 阅读(240) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

留言簿(1)

随笔档案(13)

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜