三层C/S模式体系结构研究

2022-10-18

随着计算机技术的发展和应用不断深入, 软件系统的规模和复杂度日益增加, 在软件设计过程中人们所面临的问题不仅是考虑软件系统的功能问题, 还要面临要解决更难处理的可修改性、性能、可靠性等非功能性问题。近年来, 由于W e b迅猛发展, 对软件系统适应变更的要求越来越高, 传统的二层C/S结构不能更好地满足用户的需要, 为了更好地适应软件的发展趋势, 软件设计人员提出了三层C/S模式体系结构。

1 传统的二层C/S结构的局限性

C/S软件体系结构即Client/Server (客户端/服务器) 结构, 是20世纪90年代成熟起来的技术, 是基于资源不对等、实现共享而提出的。C/S软件体系结构将应用一分为二, 服务器 (后台) 负责数据管理, 客户端 (前台) 完成与用户的交互任务。C/S体系结构具有强大的数据操作和事务处理能力, 模型思想简单, 易于人们理解和接受。随着企业规模的日益扩大, 软件复杂程度不断提高, 传统的二层C/S结构存在一定的局限性。

(1) 扩展困难。它是单一服务器且以局域网为中心, 要想扩大至大型企业广域网或Internet会比较困难;而且二层C/S结构的扩展受限于供应商, 程序的升级维护必须由供应商重新开发。

(2) 客户端负荷重。难以管理大量的客户端, 系统的性能容易下降。

(3) 软、硬件的组合及集成能力有限。在软件上呈现出“胖客户端”, 用户必须安装特定的客户端程序, 企业的业务逻辑都写在客户端应用程序中, 造成程序维护困难, 而且当程序需要升级时, 每个客户端都要安装新的客户端应用程序。同时, 对于程序开发商来说, 程序模块的相对独立, 重用性差。

(4) 数据安全性差。客户端程序可以直接访问数据库服务器, 因此客户端上的其他程序也可以通过非法途径访问数据库服务器, 从而使数据库的安全性受到威胁。

因此, 随着W e b技术的普及和用户需求的进一步提高, 传统的二层C/S结构已不能满足这些需要, 三层C/S模式应运而生。

2 三层C/S模式研究

2.1 三层C/S模式的基本结构

三层C/S模式是在二层模式的基础上, 增加了新的一级。这种模式在逻辑上将应用功能分为:表示层、功能层和数据层三部分。

2.1.1 表示层

表示层是应用的用户接口部分, 是用户与应用间的对话桥梁。它用于检查用户从键盘等输入的数据, 显示应用输出的数据。为使用户能直观地进行操作, 一般要使用图形用户接口 (G U I) , G U I操作简单、易学易用。在变更用户接口时, 只需改写显示控制和数据检查程序, 而不影响其他两层。检查的内容也只限于数据的形式和值的范围, 不包括有关业务本身的处理逻辑。图形界面的结构是不固定的, 这便于以后能灵活地进行变更。例如, 在一个窗口中不是放入几个功能, 而是按功能分割窗口, 以便使每个窗口的功能简洁。

2.1.2 功能层

功能层相当于应用的本体, 是将具体的业务处理以逻辑形式编入程序中。例如, 在制作订购合同时要计算合同金额, 按照定好的格式配置数据、打印订购合同, 而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。在应用设计中, 一定要避免“进行一次业务处理, 在表示层和功能层间进行多几次数据交换”的笨拙设计。通常, 在功能层中包含有:确认用户对应用和数据库存取权限的功能以及记录系统处理日志的功能。

2.1.3 数据层

数据层就是D B M S, 负责管理对数据库数据的读写。D B M S必须能迅速执行大量数据的更新和检索。目前, 主流的关系数据库管理系统是R D B M S。因此, 一般从功能层传送到数据层的要求大都使用S Q L语言。

2.2 三层C/S模式的优点

(1) 良好的灵活性和可扩展性。应用的各层可以并行开发, 各层也可以选择各自最适合的开发语言。当环境和应用条件变动的时候, 只要对应用层实施相应的改变, 就可以适应变动。

(2) 可共享性。应用服务器可以为处于不同平台提供服务, 在很大程度上节省了开发时间和资金投入。

(3) 较好的安全性。在三层C/S结构中, 识别用户的机构是按层来构筑的, 对应用和数据的存取权限也可以按层进行设定。在这种结构中, 客户应用程序不能直接访问数据, 应用服务器不仅可以控制改变和访问哪些数据, 而且还可以控制数据的改变和访问方式。

(4) 增强了企业对象的可重用性。“企业对象”是指封装了企业逻辑程序代码, 能够执行特定功能的对象。随着组件技术的发展, 这种可重用性的组件模式越来越为软件开发所接受。

(5) 三层C/S模型成为真正意义上的“瘦客户端”, 具备了很高的稳定性、延展性和执行效率。

(6) 三层C/S模型可以将服务集中在一起管理, 统一客户端服务, 从而具备了良好的容错能力和负载平衡能力。

2.3 三层C/S模式的应用

基于W e b的三层C/S模式能够很好地解决上面的问题。基于三层C/S模式体系结构的软件数量也正在逐年增加。基于W e b的三层C/S模式是将W e b浏览器作为客户层, 提供图形用户界面, 负责与用户进行交互。它通过H T T P协议从应用层的H T T P服务器下载超文本页面, 同时下载并执行内嵌在页面中的客户方程序代码或中间代码 (如Java字节码) 。客户方程序能够通过内部通信机制向应用服务器中有关服务对象发出请求。服务对象封装了相关的应用逻辑, 它们之间可以通过内部协议彼此通信, 并能够访问资源层的数据库对象或其他的应用程序, 以协同完成客户请求。

这种三层的体系结构, 由于以分布对象技术为基础架构, 降低了W e b服务器的负载, 避免W e b服务器的性能缺陷对整体性能的影响。并且具有连接缓冲、负载均衡、安全管理等功能, 从而提高W e b应用整体的灵活性、可伸缩性和可扩展性。

3 结语

实践证明, 采用三层C/S模式体系结构实现的应用, 便于分布, 易于扩充, 维护简单, 可以促进业务对象的分布和重用, 为企业信息系统节省巨额投资与时间。三层C/S模式体系结构是建立企业级ERP的最佳选择。相信随着W e b及电子商务等技术的不断完善和发展, 基于W e b的应用也会不断地深入和扩展, 形成一种良性发展循环, 相互推动, 彼此促进。随着这种循环的持续, 人们从中得到的社会效益和经济效益也将不断地提高。

摘要:随着企业规模的扩大, 软件复杂程度提高, 传统的二层C/S结构的不足越发明显。软件体系结构是试图用类似建筑学的观点去构造软件, 以更精确的方式刻画软件的结构。针对传统的二层C/S结构的不足, 产生了三层C/S结构, 文中以二层C/S为基础, 介绍了三层C/S的基本体系结构, 以及在Web上的应用。

关键词:C/S,三层模式,软件体系结构,Web

参考文献

[1] 陈豪, 孙正义, 张德富.三层客户/服务器体系结构的一个应用实例[J].计算机工程与应用, 2000.

[2] 梅宏, 申峻嵘.软件体系结构研究进展[J].软件学报, 2006.

[3] 左爱群, 黄水松.软件体系结构的发展与研究[J].计算机工程与应用, 1999.

[4] 陈孝威, 陈凌云.三层体系结构的客户机/服务器[J].计算机应用, 2000.

上一篇:《党政机关公文格式》实际应用缺憾浅析下一篇:浅谈课堂上如何培养学生的创新意识