B/S结构的多层系统设计

原创 2005年05月19日 19:49:00

按我的想法,从物理视图来看,b/s结构分为客户端browse,web服务器,数据库三个层次。由于b/s系统的物理视图通常都是这样,所以分层一般指的是UI层、业务规则层、数据访问层、数据存储层,而现在像.net与j2ee这样的架构中对每一层都提供了大量的框架与类库,像.net中的asp.net,ado.net就分别了UI层与数据访问层提供了框架,而j2ee中,struts/spring等为UI层提供了框架,jdo/ejb为数据访问层提供了框架。

虽然在j2ee与.net都提供了相关的构架参考的示例,用j2ee与.net中的人都知道这个构架是怎么样的,但是这些构架的实际应用情况是什么呢,我有以下疑问:

1. 像asp这样,或是在asp.net或是jsp直接通过ado.net或是jdbc在UI层访问数据库的,也是感觉最混乱的一种方式,就是简单的二层结构,现在到底有多少人现在有这个结构,你们觉得有什么好处与问题,你的系统的规模大吗?

2.如果你使用UI层、业务规则层、数据访问层这样的多层构架,你在数据访问层使用专业的数据映射构架(如jdo,EntityBean,Hibernate)吗,你觉得带来的效果好吗?如果没有使用这些构架,你们公司有没有专门的API或是架构来解决这个问题?
3.你在UI层、业务规则层、数据访问层是使用什么来传数据的,dataset还是ResultSet,或是根据数据库结构自动生成的数据对象?
4.事务处理是数据库、业务规则层、或是直接在UI层来完成?
5.你觉得这样的参考构架有实际意义吗?你们公司有没有按这个参考构架来做项目?如果对参考构架进行了修改、裁减、完善、细划,请谈谈是怎么做的,带来了什么好处?
6.按一个架构来实现的系统能不能很好的支持分布式布置与负栽均衡?
7.你使用了数据缓存了吗?数据缓存一般放在哪一层?数据缓存一般缓存什么样的数据,更新策略是什么?它带来了性能上显著的提升吗?
8.关于像报表、工作流这样的中间件,你使用的是第三方提供的还是自己写的,你是如何把根据这样的中间件提供的构架来扩展你的系统,还是把中间件融合到你的系统中?
9.你的系统在开发过程中注重复用吗?像UI层控件、特殊的业务处理的API这样的比较容易实现复用,但是像组织机构、权限管理,审批工作流这样关系到多层的功能上的复用,你保留的只是设计思想,还是把代码设计得比较通用呢?
10.你的项目注重软件工程吗?都使用了什么开发过程,使用了什么case工具,项目管理、配置与变量管理工具,BUG追踪工具?这样的工具与过程带来了显著的效果吗,还是把你的团队带入了文档与工具使用的泥潭?
11.你的项目是按功能还是接层来进行模块划分?有没有针对模块进行专门的单元测试?如果进行单元测试,你们使用什么样的单元测试架构(如xUnit),如果单元测试时本模块要调用的模块还没有完成,你一般是怎么做?
12.你的项目在客户端使用了activeX控件了吗?一般用来实现什么功能?

在这里我并不是想讨论什么要的构架是最合理的。事实上,根据项目的规模、应用领域、商业环境、技术优势的不同,有各种不同的构架供大家选,而有关如何先这些构架的资料,在msdn,dotnet社区等地方都有很多文章供参考,而每一个版本的vs.net发布时都会带几个多层构架的应用例子。所以我在这里提出的这个问题,是希望大家能够根据你的项目的实际应用情况,把你在应用中得到的经验与遇到的问题与大家一起分享。

架构的选择没有定式,应该结合实现情况来进行选择。但是具体该怎么选择,事实上大家都在摸索,所以我希望大家能够把你的经验分享出来。

http://community.csdn.net/Expert/topic/3880/3880135.xml?temp=.3406793

http://community.csdn.net/Expert/topic/3909/3909315.xml?temp=.6522333

相关文章推荐

基于B/S模式的视频监控系统设计 [转

http://hi.baidu.com/huqing7002/item/3f89f7109f22bee45f53b110 随着计算机和网络技术的迅猛发展,闭路电视监控系统已经被计算机网络所替...

【系统设计】B/S 简单商业系统License控制解决方案之一

B/S系统简单License控制 背景:            目前主流商用的系统软件都存在License控制的功能,最主要的目的是为了满足开发商的盈利,作为一种试用、销售的策略。其二 就是为了...

什么是基于B/S、c/s架构的系统设计

第一、什么是C/S结构。 C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Ser...
  • youthon
  • youthon
  • 2012年06月21日 11:03
  • 17200

Microsoft NLayerApp案例理论与实践【多层架构与应用系统设计原则】

在对NLayerApp实际项目进行讨论之前,让我们首先学习一下(或者应该说重温一下)分层/多层架构与应用系统设计原则。很多朋友会认为这些都是老掉牙的内容,只要是软件从业人员,都会对这些内容非常熟悉。然...

FPGA综合系统设计(一):1.2/50μs冲击电压测量与显示

FPGA数据采集-传输-显示系统(一)我将会以(1)基于FPGA的1.2/50μs冲击电压测量与显示;(2)基于FPGA的温度采集和以太网传输;这两个课题为基础详细介绍在系统...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:B/S结构的多层系统设计
举报原因:
原因补充:

(最多只允许输入30个字)