1 C/S结构
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。通过C/S可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是C/S形式的两层结构。由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件,因此,内部的和外部的用户都可以访问新的和现有的应用系统。通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高,效率低。
2 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网络游戏等等在美观角度还是无法比拟的。
那么是否能在两者之间寻找一个平衡点呢,仁者见仁吧;
那么在上述两种模式中再引入一个现在比较流行的术语——“云计算”,那么又会是怎么样的一番博弈呢。
看看我们现在的世界:
1、越来越快、越来越稳定的网络传输速度
2、智能手机越来越像个人电脑
3、网络使用者数量的急剧膨胀