很多人不知道什么是B/S结构、C/S结构及二者的区别联系,在这里介绍一下。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,建立在广域网的基础上的对C/S结构改进的一种结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
C/S结构,即Client/Server(客户机/服务器)结构,是建立在局域网基础上的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
二者的区别:
1.硬件环境不同:C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2.对安全要求不同:C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。B/S建立在广域网之上,面向是不可知的用户群,对安全的控制能力相对弱。
3.对程序架构不同:C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上,比C/S有更高的要求。B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统。 SUN 和IBM推的JavaBean 构件技术等,使B/S更加成熟。
4.软件重用不同:C/S 程序不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。B/S 的多重结构,要求构件相对独立的功能,能够相对较好的重用。
5.系统维护不同:系统维护是软件生存周期中,开销大,相当重要,C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。B/S 构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
6.处理问题不同:C/S 程序可以处理用户面固定,并且在相同区域, 安全要求高的需求,与操作系统相关, 应该都是相同的系统。B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的,与操作系统平台关系最小。
7.用户接口不同:C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流, 并且大部分难度减低,降低开发成本。
8.信息流不同:C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。B/S信息流向可变化,B-B、B-C、B-G等信息流向的变化,更象交易中心。