软件系统的体系结构经历了主机终端模式、客户机/服务器(C/S)模式、浏览器/服务器(B/S)和多层分布式结构。
主机/终端结构:
早期计算机系统多是单机系统,多个用户是通过联网终端来访问的,没有网络的概念。即所谓的主机分时系统。连接的终端完成没有事务处理的能力,只是输入和显示信息。所有的事务处理功能完全放在主机上进行。因此主机的负载很重,整个系统的事务处理能力全部取决于主机。目前主机/终端模式逐渐被淘汰。
两层结构——客户/服务器体系结构:
早期的C/S结构是一种典型的两层结构,按照各自实现功能的不同,将应用程序分为两大部分:一部分是用于处理数据库,称其为服务器部分;另一部分用于处理应用程序、请求服务,被称为客户部分。客户部分负责执行前台功能,如管理用户接口、数据处理和报告请求等,而服务器部分执行后台服务,如管理外设、控制对共享数据库的操纵、接受并应答客户机的请求等。
C/S结构的工作原理是:用户通过应用程序向客户机提出数据请求,客户机通过网络将用户数据提交给服务器,服务器的数据库管理系统执行数据处理任务,然后把经过处理后的用户需要的那部分数据,传输到客户机上,最后由客户机完成对其数据的加工,并将加工结果提交的服务器。
浏览器/服务器结构(B/S结构):
B/S本质上也是一种C/S结构,它是传统的两层C/S结构在Web上的发展。相对于C/S结构而言,B/S结构是把原来在客户机一侧的应用程序模块与显示功能分开,将应用程序模块放在Web服务器上,客户端只需要安装浏览器就可以了,这样将系统业务处理部分统一放在Web服务器上,客户端只起到与用户交互的作用。
B/S结构的工作原理是:Web服务器接受浏览器的Web请求,并处理Web页面请求,同时将数据请求通过数据库接口转换成数据库服务器能接受的形式(如SQL),只会送到数据库服务器,数据库服务器根据数据请求执行相应的数据库操作(如查询、统计、修改)