设为首页 加入收藏

TOP

Smart Client初探 (1)
2019-05-11 14:11:42 】 浏览:108
Tags:Smart Client 初探

智能客户端(Smart Client),结合了瘦客户端(B/S模式)和胖客户端(C/S模式)的长处,是下一代的客户端软件技术。

要了解智能客户端,首先要认识瘦客户端技术和胖客户端技术各自的优缺点。

对于前者,典型的应用就是使用浏览器,通过输入URL远程访问服务端,并向服务端发送命令,获取服务端的资源,然后在客户端的浏览器上显示出来。由于这种技术数据库存放在服务端,客户端应用界面的也是由服务端的文件生成,因此在客户端上占用资源少,对客户端的设备要求不高,只需一个浏览器软件和可用的网络便能开始工作,另外,如果系统需要升级修改,只需要在服务端更新文件,当客户再次访问时,就可以使用新的应用系统了,因而部署和升级重点都放在了服务端,实现起来比较简单。但是,这种B/S模式依赖网络,当网络不可用时或出现性能不稳定的情况时就会导致客户端变成“死界面”——既不能将数据发送回服务端进行保存,又不能从服务端获取数据拿到客户端操作,一切的工作将要在网络恢复后才能得以继续。

对于胖客户端技术,用户在使用这种软件时获得的最大的感官体验就是——它首先有自己独特的应用程序界面,而非通过浏览器,用户甚至还可以根据自己的喜好调整软件的布局,进行丰富的界面元素的设置,这些都是B/S模式的瘦客户端技术所不能媲美的。另外,用户还能获得较快的反应速度,程序可以充分利用本地机器的资源,在不使用网络访问远程资源时,本地资源的访问在正常情况下都能得到很快的处理。同样的,胖客户端技术也有着不尽人意的地方——在客户端进行部署时,由于客户端可能出现各种各样的情况,所以需要进行必要的设置,部署起来比较困难,如果对软件的版本进行升级,使用传统的DLL技术的那将更是一个大的挑战,因为在.NET之前,标准Windows DLL或COM组件可能出现“DLL Hell”——注册和更新软件中的DLL时,发现共享的DLL被最新版本改写了,并使该机器上的其他软件也因此不能运行。胖客户端有可能需要在客户端实现数据库支持,数据库放在本地有可能导致一些安全问题,因为相对于更重视安全的服务端,客户端相对而言还是比较脆弱的。

那么智能客户端技术便出现了,除了包括了胖/瘦客户端各自的优点外,它还具有如下四个最大的优点——

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

2) 能够调用 web services,在server端用web服务实现业务逻辑,处理各种请求,需要说明的是,由于业务逻辑实现放在客户端,因此一方面为客户端瘦身,另一方面也加强了软件的隐蔽性和安全性;

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

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

二、 这种技术用途是什么?前景如何?

其实Smart Client的观点在一些传统的软件技术中也可以看到一些影子,随后.NET的出现,才使这种技术的各个环节(客户端显示,数据连接,在线离线的操作和部署)得以无缝的实现。所以,这种技术是一种新型的客户端技术的解决方案,是一种技术方法,它可以在各种终端上去实现。

将桌面级的软件做成智能客户端软件,可以增强其功能,因为网络无限,跳出桌面,就能获得更多的信息。

基于Internet或intranet及浏览器的B/S模式的系统,将其实现成智能客户端软件,可以扩大其工作范围,不用再依赖网络,还能充分利用本地资源,加快工作效率。易于部署的优势在企业级应用中,更有发挥的余地,开发人员只需简单的在服务端发布和部署,就能使客户端同步更新。

举些可以使用这种技术的应用——

“产品售后服务系统”:产品售后服务人员允许以脱机的形式在本地创建送修工单、装箱单等,这样可以加快本地的工作效率,当网络可用时,再将这些数据传上服务器。并可从服务器获得需要的信息。如果本地软件的版本低于服务端的最高版本,将提示用户进行在线无缝地升级,大大减轻了开发人员的部署指导工作。

随着.NET技术的进一步成熟,尤其是Web Service技术的更广泛应用,乃至微软将来的系统全面支持.NET,我相信智能客户端技术将会成为首选的解决方案,应用到各种软件技术中。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇flume读取日志数据写入kafka &nbs.. 下一篇Flume 自定义source   -- S..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目