server


server

文章插图
Server是什么意思?:
server

文章插图
服务器
智能客户端(n)定义:智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和到分布式数据资源的智能连接,从而为您提供适应的、快速响应的和丰富的交互式体验 。

这是MS的定义 。从上面我们读到
1、智能客户端,它是一个客户端应用程序
2、它可以访问客户机本地资源
3、他的交互性很强 。

那么我们可以看出,它可和普通的IE客户端的区别,它是一个客户端的应用程序,IE客户端不是,这是最关键的一个区别 。

本地资源和用户体验
MS的解释,摘录最关键的句子
智能客户端解决方案通过充分利用MicrosoftWindows平台提供的所有功能,为最终用户提供高保真体验 。例如,Word、Excel、MSMoney、甚至PC游戏都是广为人知的智能客户端应用程序 。与诸如Amazon.Com或eBay.com等基于浏览器的应用程序不同,智能客户端应用程序依赖于PC、便携式电脑、TabletPC或智能设备 。

很显然所谓的智能客户端就是一个应用程序罢了 。例如,word,这是一个应用程序 。

那么,智能客户端和普通应用程序的差别是什么?

请看微软的定义
连接
在企业或Internet范围内,智能客户端应用程序能够轻松地与系统连接并与之进行数据交换 。Web服务使智能客户端解决方案能够利用行业标准协议来与任何类型的远程系统交换信息 。较之于以前的任何技术,VisualStudio、.NETFramework和.NETCompactFramework让Web服务的使用更为容易 。Microsoft?SQLServer、MicrosoftMessageQueuing(MSMQ)和BizTalkServer等技术还提供了在系统之间同步和交换信息的易于使用的方式 。

也就是说,智能客户端是一个网络应用程序的一部分 。不过它可以使用网际通讯协议和服务器通讯或者和其他智能客户端交换数据 。

那么,为什么是智能的?
看微软的定义
具备离线的能力
也就是说,这个客户端可以在没有网络的情况下工作,并且可以在连接网络后批量的刷新数据 。说简单一点,就是,能够自动的保持客户端数据和服务器数据的一致性 。同时,注意,智能客户端是拥有本地数据的,或者是本地的,或者是服务器数据的副本 。

此外
智能部署和更新
智能客户端可以自动更新,如果你玩过网络游戏我就不多说了,但是,微软为实现自动更新提供了一些解决方案和实现工具,当然如果你要从头开始做,也不是什么难事 。

那么总结一下:智能客户端是
一个应用程序,它必须是网络应用的一部分,它必须能够自动的保持分布数据的一致性,它必须能够自动更新 。

我们可以说一下,为什么需要智能客户端 。
主要原因是,HTML的交互性问题,虽然可以使用脚本进行用户交互编程,但是,总所周知,因为安全性的限制,本地资源是IE客户端所不能任意使用的,此外,因为,服务器端程序和客户端程序的纠缠让设计web应用程序很怪异 。

那么,我们用了很久的三层结构的客户端为什么不行?非要智能客户端?不是不行,而是,微软把我们以往设计三层结构客户端好的经验都规范了,并且提供了更加快速实现的方案 。比如,Delphi的midas三层结构,Delphi的ClientDataSet组件是具有很强的智能的,用它就能保持客户端本地缓存以及分布式数据的一致性 。但是,Borland没有能力更进一步,这个任务当然交给了微软了 。
微软方案
1、智能客户端是一个.net上的托管应用程序
2、智能客户端是通过IIS发布的,IIS5以上版本以及最新的apache可以实现一个HTTP的子协议,以提供EXE文件的下载 。
3、IE5以上的浏览器可以识别这样的exe并且自动创建一个独立的权限受限的进程来运行这个托管代码集 。
4、客户端可以进行配置,以便获得合理的权限 。
5、IE可以通过exe文件的版本、更新日期等等自动下载更新最新版本 。如果是多个文件构成的,我的理解是客户端自己负责其他文件的最新副本,我想客户端仍然可以通过IE下载其他部分,由IE决定利用缓存还是下载 。
6、客户端的权限受到严格限制,通常只能访问特定的文件夹,当然操作打印机是没有问题的 。客户端也可以进行适当的配置,当然首先必须是得到信任的网站才能下载运行智能客户端 。
7、智能客户端的代码的安全性和.net中程序集一致,代码是可以签名防止篡改和附带其他代码的 。

推荐阅读