C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:
只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
什么是N层结构?它有什么优点?
A:N层架构的四层是指Presentation Tier(表示层,就是直接呈现在用户面前的界面)、Web Server Tier(Web服务器层)、 Application Server Tier(应用服务器层)和 Data Tier(数据层).
N层结构是相对于两层结构而言的。传统的C/S计算多是基于两级模式,在这种模式中,所有的形式逻辑和业务逻辑均驻留在Client端,而Server则成为数据库服务器,负责各种数据的处理和维护。因此Server变得很“瘦”,被称为“瘦服务器 (Thin Server)”。与之相反,这种模式需要在客户端运行庞大的应用程序,这就是所谓的“胖客户机 (Fat Client)”。
这种结构有如下主要问题:
首先,系统的可靠性有所降低。一个客户机/服务器系统是由各自独立开发、制造和管理的各种硬件和软件的混合体,其内在的可靠性不如单一的、中央管理的大型机或小型机,出现问题时,很难立即获得技术支持和帮助。
其次,维护费用较高。尽管这种应用模式在某种程度上提高了生产效率,由于客户端需要安装庞大而复杂的应用程序,当网络用户的规模达到一定的数量之后,系统的维护量急剧增加,因而维护应用系统变得十分困难。
第三,系统资源的浪费。随着客户端的规模越来越大,对客户机资源的要求也越来越高。尽管硬件不断更新,但新的操作系统和新的应用软件的不断出现,使得用户对硬件的更新仍然跟不上软件更新的速度。客户不得不在本地硬盘上装入大量的软件,但是使用的大都只是其中很少一部分(一般低于10%)。在一个拥有众多的“胖客户机”的环境中,这无疑是一种巨大的浪费。
最后,系统缺乏灵活性。由于逻辑同界面结合在一起,客户机/服务器需要对每一应用独立地开发应用程序,缺少重用性。但胖客户机的计算模式却仍然满足不了日益增长的应用的需要。在向广域网扩充(如Internet)的过程中,由于信息量的迅速增大,专用的客户端已经无法满足多功能的需求。网络计算模式从两层模式扩展到N层模式,并且结合动态计算,解决了这一问题。
N层架构的核心是提供可规模化特性,一方面是从服务负载上可规模化,能同时为极大规模的用户同时提供服务;另一方面是服务功能上的可规模化,可形成极大规模的软件群系统,各分系统可以共享信息、服务,形成企业级的信息高速公路。 N层可以分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。
另外,N层结构从逻辑上相互独立,某一层的变动通常不影响其它层,具有很高的可重用性。除此以外,n层结构还有以下优点:
1、利用单一的访问点,可以在任何地方访问站点的数据库;
2、对于各种信息源,不论是文本还是图形都采用相同的界面;
3、所有的信息,不论其基于的平台,都可以用相同的界面访问;
4、可跨平台操作;
5、减少整个系统的成本;
6、维护升级十分方便;
7、具有良好的开放性;
8、进行严密的安全管理;
9、系统管理简单,可支持异种数据库,有很高的可用性
界面层负责:
收集信息
将信息发送到逻辑层做处理
逻辑层接收处理结果
将结果显示
......
逻辑层负责:
接收界面输入
与数据层交互执行已设计的业务
操作(业务逻辑,系统服务等)
将处理结果发送到界面层。
......
数据层负责:
数据存储
数据获取
数据维护
数据完整性
......