B/S三层架构模式的使用分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B/S三层架构模式的使用分析
摘要:三层架构—user interface、business logical 、data access,即表示层、业务逻辑层和数据访问层,在小型项目中是体现的优势并不明显,但在大型或中型项目中,三层架构能带来的绝不仅是效率的提高,清晰的层次划分会让杂乱的代码流露出艺术的美感,程序员的工作变得更具艺术创作性,文章对其使用进行分析。
关键词:三层架构;B/S;程序
1三层架构的解释
1.1B/S(Browser/Server)三层架构的概念
B/S模式的三层结构是一种严格的分层定义,它首先将应用系统复杂的开发工作进行划分相对简单的小分块,然后在每一层中只实现系统相应层的功能设计,层间的交互由相邻层对应的功能模块进行调用,信息传递只由接口进行传送。系统功能实现构架的设计是为系统提供一个可行的实现方案,并方便程序设计人员将此方案转换为实现应用系统功能的具体Browser/Server模式,是从传统的C/S 发展起来的计算方式。
C/S是松散耦合系统,通过消息传递机制进行对话,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端;B/S模式则把C/S模式的服务器端进一步深化,分解成应用服务器(Web服务器)和多个数据库服务器,同时简化C/S中的客户端,将客户端的计算功能移至Web服务器,仅保留其表示功能,从而成为一种由表示层(Browser)、功能层(Web Server)与数据库服务层(DATABASE Server)构成的三层分布式结构。
1.2三层架构的具体划分
所谓三层架构,是在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换. 数据访问层(DAL)执行从数据库获取数据或向数据库发送数据的功能。在分布式应用程序结构中,相应功能使用数据适配器和SQL服务器存储过程来完成。本层从业务逻辑层接收请求,从数据访问层获取数据或向其发送数据。可以使用存储过程获取数据,并可选用向数据库发送数据,最后将数据库查询结果返回到业务逻辑层,作为数据集。业务逻辑层(BLL)包含业务对象本身以及应用于它们的规则。这也是主要业务对象所在的位置。它们实现业务实体或系统对象。系统的业务规
则将在这些对象中编码。它从web表现层接受请求,根据编码的业务规则处理请求,从数据访问层获取数据或将数据发送到数据访问层,将处理结果传递回web表现层。Web表现层(Veb layer)是指在应用程序中实现的客户端。在分布式应用程序结构中,用户服务可以是Web客户端或Windows客户端,这具体取决于特定的应用程序。例如,在开发Web应用程序时,可能需要提供具有标准Windows用户界面或Web用户界面。通常,这种一般类型的应用程序包含以下功能:管理Web页的呈现和行为,向业务逻辑层发送用户输入,从业务逻辑层接收结果等。
2三层架构的优势分析
从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
3使用三层架构的注意事项
不要尝试在表示层直接与数据层交互。这是个常见的错误,它是通往复杂、难以维护、低灵活性系统的捷径。在许多与数据访问相关的教材和介绍性材料中,经常会看到使用一个简单的UI应用系统执行一些简单数据库操作的例子。在这类程序中,所有的业务逻辑可能是写在一个简短的、单一的文件中,而非放在单独的层中。尽管这些材料都很好,但一定要记住,这些材料的写作目的大多是为了教你如何完成不同的独立任务,而非告诉你如何正确地构建一个灵活的、可伸缩的应用系统。
应该注意的是,B/S模式的三层结构是一种严格的分层定义,它首先将应用系统复杂的开发工作进行划分相对简单的小分块,然后在每一层中只实现系统相应层的功能设计,层间的交互由相邻层对应的功能模块进行调用,信息传递只由接口进行传送。系统功能实现构架的设计是为系统提供一个可行的实现方案,并方便程序设计人员将此方案转换为实现应用系统功能的具体。
参考文献:
[1] Cristian 2.0电子商务开发实战[M].北京: 人民邮电出版社,2007.