即客户机和服务器结构。它是将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
C/S 的优点 :
是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。
C/S 的缺点 :
(1)客户端比较大,安装有点复杂。
(2)在客户端需要配置连接数据库的信息,客户端软件直接跟数据库相连,有安全隐患。
(3)数据量大时,客户端反应比较慢。因为客户端要把服务器端的数据通过局域网下载到客户端电脑中再分析处理。
(4)远程使用不灵活,如果要远程使用必需向intetnet开放数据库的端口,企业数据不安全。
(3)通俗的讲就是:在客户端是一个简单的exe程序、在服务器端是一个应用服务器、在后台是一个数据库。客户端向应用服务器提出请求-->应用服务器向数据库调用数据并处理-->再把数据返回给客户端。功能在服务器端实现,客户端不直接与数据库相连。
三层C/S结构不存在上述C/S所存在的问题,具有良好的稳定性、垮平台性、可用性,严密的数据安全性。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
B/S的优点 :
(1)分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
(2)最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。采用Internet/Intranet技术,适用于广域网环境支持更多的客户。可根据访问量动态配置WEB服务器、应用服务器,以保证系统性能。
客户端只需标准的浏览器采用面向对象技术,代码可重用性好, 系统扩展维护简单 开发费用较高,开发周期较长
B/S的缺点:
(1)执行速度慢。
B/S结构的软件客户通过IE浏览器来操作,。
(2)安全性比较差。
如果直接放在Internet上更危险,IE和WEB服务器都是病毒和黑客攻击的重点。IE浏览器种病毒是经常的事情,只要你不小心上过一些不正常的网站,IE就莫名其妙的种了病毒。用电脑的人IE基本上都种过病毒的,如果你的IE浏览器种了病毒,那么你的系统就瘫痪不能用了。
(3)数据安全隐患多。
如果你用B/S打开过你的客户资料信息,那么你的客户资料信息就会驻留在这台电脑的临时文件中,下次不用连你的服务器,直接在这台电脑中有脱机浏览方式,直接就可以查看到。还有现在很多公司、酒店、网吧都装有网络监控系统,你用过系统后,你看过的数据全部都会被监控下来。
(4)操作性非常差。
众所周知B/S主要用来做网页的,比较适合看信息。但是如果做数据录入、修改、打印等操作性非常差,不支持鼠标拖拉、右击等常用操作。就像你用outlook或foxmail客户端软件来收发邮件方便,还是直接到163的网站上去收发邮件方便?
(1) 硬件环境
C/S建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定,并且处于相同区域,要求拥有相同的操作系统。B/S建立在广域网的基础上,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。与操作系统平台关系最小。面向不可知的用户群。
(2)结构
C/S软件一般采用两层结构,而B/S采用三层结构:
这两种结构的不同点是两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单地接收用户的请求,显示最后的结果。
由于三层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。虽然B/S采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太网或环形网。
这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路,网络通信量大。而C/S只有两层结构,网络通信量只包括Client与Server之间的通信量,网络通信量低。所以,C/S处理大量信息的能力是B/S无法比拟的。
(3)处理模式
B/S的处理模式与C/S相比,大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,这时的客户机成为瘦客户机,而服务器则集中了所有的应用逻辑。
(4)构件重用
在构件的重用性方面,C/S程序从整体进行考虑,具有较低的重用性。 而BlS对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。
(5)系统维护
系统维护是在软件生存周期中开销最大的一部分。
C/S程序由于其本身的整体性,必须整体考察并处理出现的问题。而B/S结构,客户端不必安装及维护。
B/S结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成本(TCO)大大降低。
(6)对安全的要求
由于C/S采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好的网络协议(例如NT的NetBEUI协议),安全性可得到较好的保证。
C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Intemet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。所以B/S对安全以及访问速度比C/S有更高的要求。而Intemet技术中这些关键的安全问题远未解决。
(7)速度不同
由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快。使得C/S更利于处理大量数据。
(8)交互性与信息流不同
交互性强是C/S固有的一个优点。
在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
B/S虽然由javascript、VBScript提供了一定的交互能力,但与C/S的一整套客户应用相比是太有限了。C/S的信息流单一,而B/S可处理如B-B、B-C、B-G等信息并具有流向的变化。