系统结构浅析(C/S ,B/S,SmartClient)

C/S 结构

 

C/S结构即CLIENT/SERVER结构。传统的C/S结构一般分为两层:客户端和服务器端。该结构的基本工作原理是,客户程序向数据服务器发送SQL请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装了部分应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也通过触发器和存储过程提供部分应用逻辑。除了两层结构,我们还可以根据实际需要分成多个逻辑层结构来组织整个系统如三层的结构C/S/S:即客户/应用服务器/数据库服务器三层结构,中间增加了应用服务器,通常实现应用逻辑,是连接客户与数据库服务器的桥梁。它响应用户发来的请求执行某种业务任务,并与数据库服务器打交道,技术实现上通常可选用成熟的中间件产品,也可以自已实现这一层.

  三层或多层C/S结构与两层C/S结构相比,它的优势主要表现在:安全性加强、效率提高、易于维护、可伸缩性、可共享性、开放性好等。

C/S 结构的优缺点

优点:
1.C/S结构的表现丰富。
2.安全与性能容易得到保证。
3.响应速度较快。

缺点:
1.适用面窄,通常用于局域网中。
2.程序需要安装才可使用。
3.维护成本高,发生一次升级,则所有客户端的程序都需要改变。

B/S结构

B/S架构的全称为Browser/Server,即浏览器/服务器结构。Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。
B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。因为客户端包含的逻辑很少,因此也被成为瘦客户端。

B/S架构的优缺点

优点:
1)客户端无需安装,有Web浏览器即可。
2)BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3)易于部署与维护,无需升级多个客户端,升级服务器即可。

缺点:
1)在跨浏览器上,BS架构不尽如人意。
2)表现不及CS丰富。
3)必须在线工作,工作效率和网络是否延迟有关。
4)在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
5)无状态,与它取用协议有关。客户端服务器端的交互是请求-响应模式,网络传输量大,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)

SmartClient结构

集成前两种结构优点,采它们长处放弃短处.此结构拥有以下特点:

1)        充分利用终端设备的优势 (full PC, PDA, phone都可以满足),因为核心部分在服务端(可能Web Service),所以终端只需实现表示层和一些简单逻辑;

2)       更松散的耦合,如:可采用调用 web services(或其方式如:Enterprise Services.NET remotingMessage Queuing-消息队列,COM+等,由于作者只是要从事微软技术研究,所以只提到微软技术,不过也可以使用其他公司技术.),在server端用web服务实现业务逻辑,处理各种请求,需要说明的是,由于业务逻辑实现放在客户端,因此一方面为客户端瘦身,另一方面也加强了软件的隐蔽性和安全性;

3)        支持在线和离线两种状态,用户可以在网络不可用时继续工作,并将数据临时存放在本地,当网络再次可用,数据便可传上服务器;

4)        能够实现所谓接触部署,如同Web应用程序一般简单方便的部署,.NET使用程序集技术,同一软件的不同版本可以共存于统一客户端。版本的升级也非常简单,软件访问服务端,能自动检测版本号,从而更新关键组件,实现升级。

 

智能客户端技术是可能会成下一代客户端技术,它能够在有网络连接和网络断开的情况下灵活地工作。对用户而言,这将是新的一种软件使用体验,能同时拥有C/S模式软件快速的反应、丰富的用户界面体验和瘦客户端模式那样简单的部署,升级。对开发者而言,开发的难度变大了,考虑的方面多了,但还是有灵活的方案可供选择,还可以结合.NET技术,使用面向服务或面向数据的解决方案,在开发中,要着重解决“连接的管理”,“WEB服务的交互”,“本地数据缓存”和“数据冲突处理”的技术点。

 

 


注:其实第三种结构还不算是一个正规系统结构命名,国家出版教科书中并没有这个结构,此技术在于2003年左右推出,05年微软强推了一阵,后来出现Click Once技术.

你可能感兴趣的:(client)