前言
在进行软件开发时,通常会在两种基本结构中进行选择,即C/S架构和B/S架构。C/S架构是Client/Server的简写,也就是客户/服务器的交互;B/S架构是Browser/Server的简写,也就是浏览器/服务器端的交互。下面分别针对这两种架构进行详细的讲解。
C/S架构
C/S架构是早期出现的一种分布式架构,在C/S架构中,多个客户端程序可以同时访问一个数据库服务器,接下来通过一个图例来描述客户端与数据库服务器的交互过程,如图所示:
从图中可以看出,在C/S架构中,客户端程序与数据库直接建立连接,客户端程序需要利用客户机的数据处理能力,完成应用程序中绝大多数的业务逻辑和界面展示。但是,在长期的实践过程中,大家发现C/S架构存在一些致命的缺点,具体如下:
(1)C/S架构的客户端程序安装在客户机上,如果有很多人使用,则安装的工作量非常巨大。
(2)C/S架构的客户端程序负责整个业务逻辑和界面显示,一旦对其进行修改,则必须对整个客户端程序进行修改,不利于软件的升级和维护。
(3)C/S架构的客户端程序直接与数据库服务器建立连接,而数据库服务器支持的并发连接数量有限,这就限制了客户端程序可以同时运行的数量。
B/S架构
正是由于C/S架构的这些缺点,因此随着Internet技术的兴起,诞生了一种新的软件架构——B/S架构。B/S架构是对C/S架构的一种改进,是Web兴起后的一种网络结构模式。B/S架构的最大优点是客户机上无须安装专门的客户端程序,程序中的业务逻辑处理都集中到了Web服务器上,客户机只要安装一个浏览器就能通过Web服务器与数据库进行交互,并将交互的结果以网页的形式展现在Web浏览器中。接下来通过一个图来描述浏览器通过Web服务器与数据库交互的过程,如图:
从图中可以看出,浏览器并不是直接与数据库建立连接,而是只有Web服务器与数据库需要建立连接。由此可见,B/S架构可以有效地解决数据库并发数量有限的问题。
与C/S架构相比,B/S架构中用户操作的界面是由Web服务器创建的,当要修改系统提供的用户操作界面时,只需要在Web服务器端修改相应的网页文档即可。由于B/S架构相对于C/S架构有诸多优点,因此,B/S架构是目前各类信息管理系统的首选体系架构,它基本上全面取代了C/S架构。
思考
既然B/S弥补了C/S的缺点,为什么没有完全取代C/S架构呢?后面有待了解。