B/S架构和C/S架构

 

 

首先,什么是B/S、C/S?前端

它们之间的优缺点各是什么?这是一个学习软件的人都应该掌握的知识。数据库

关于这个问题,google一下可以获得不少具体而有效的答案。设计模式

(一)、什么是C/S和B/S:浏览器

C/S又称Client/Server或客户/服务器模式。安全

在C/S模式中服务器一般采用高性能的PC、工做站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端须要安装专用的客户端软件。服务器

B/S又称Brower/Server模式。网络

客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器经过Web Server 同数据库进行数据交互。架构

(二)、C/S,B/S各有什么优缺点:分布式

一、 C/S结构性能

C/S(Client/Server)结构,即你们熟知的客户机和服务器结构。经过C/S能够充分利用两端硬件环境的优点,将任务合理分配到Client端和Server端来实现,下降了系统的通信开销。

目前大多数应用软件系统都是C/S形式的两层结构。

因为如今的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用均可以进行一样的业务处理,应用不一样的模块共享逻辑组件,所以,内部的和外部的用户均可以访问新的和现有的应用系统。

经过现有应用系统中的逻辑能够扩展出新的应用系统,这也就是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中不管是Client端仍是Server端都还须要特定的软件支持。

因为没能提供用户真正指望的开放环境,C/S结构的软件须要针对不一样的操做系统开发不一样版本的软件,加之产品的更新换代快,已经很难适应百台电脑以上局域网用户同时使用,并且代价高,效率低。

二、B/S结构

B/S(Browser/Server)结构即浏览器和服务器结构。

它是随着Internet技术的兴起而对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工做界面经过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,造成所谓三层3-tier结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工做量,下降了用户的整体成本(TCO)。

以目前的技术看,局域网创建B/S结构的网络应用,并经过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。

B/S结构是一次到位开发,能实现不一样人员,从不一样地点,以不一样的接入方式(好比LAN、 WAN、 Internet/Intranet等)访问和操做共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

B/S结构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来须要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术,成为当今应用软件的首选体系结构。

以上是比较精炼的一个B/S、C/S介绍。

用几个关键点能够总结以下:

C/S模式:

①、充分利用如今PC机的硬件优点和网络的稳定性,将逻辑处理合理分担到客户机和服务器,减轻服务器负担,也使软件产品能实现更加好的功能(尤为在视觉效果、3D处理等)

②、更新维护过程须要同时对服务器、客户端进行升级处理,成本高、效率低。(这也是这种设计模式的最大硬伤)

B/S模式:

①、将大量的事务逻辑工做放在服务器端,而在Browser端只有不多的事务逻辑。这样对前端计算机的硬件要求下降了。

②、因为相关标准的完善,B/S模式更符合工业化大规模生产的要求。用户只要在本身的电脑上安装一个浏览器,即可以浏览任何一个网站。这是C/S模式没法作到的。

③、过于标准化的B/S前端,一样能够理解成为过于呆板,这直接致使了B/S模式下的功能实现没有C/S灵活、方便、美观。现在的一些script技术和AJAX技术等已经很大程度上缓解了这个问题。但和一些3D网络游戏等等在美观角度仍是没法比拟的。

那么是否能在二者之间寻找一个平衡点呢,仁者见仁吧;

那么在上述两种模式中再引入一个如今比较流行的术语——“云计算”,那么又会是怎么样的一番博弈呢。

看看咱们如今的互联网:

一、愈来愈快、愈来愈稳定的网络传输速度

二、智能手机愈来愈像我的电脑

在这样的网络大环境下,软件产品的架构模式将来十年又会往哪一个方向发展呢。其实每一个人清闲的时候均可以去思考一下。