APP下载

基于智能客户端技术的系统升级及应用✳

2010-10-09冀庆斌

中北大学学报(自然科学版) 2010年1期
关键词:应用程序客户端部署

冀庆斌,靳 祯

(中北大学 理学院,山西 太原 030051)

我国的信息化已经历了数字化和局域应用两个主要阶段.数字化带来了信息技术的初步普及和推广,使信息资源的概念深入人心;局域应用引入了网络的概念,开发并应用了大量的网络信息系统[1].这两个阶段开发的信息系统一般基于 C/S或 B/S模式,都有各自的优缺点.随着对信息化要求的提高,人们希望将两种模式的优点进行结合.

自微软推出 .NET战略以来,智能客户端 (Smart Client)技术得到广泛的应用[1].智能客户端是一种新型的客户端技术,它结合了胖客户端[2-3]和瘦客户端[4]的优点,如图1所示.

1 智能客户端技术

智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和分布式数据资源的智能连接,提供适应的、快速响应的和丰富的交互式体验[5].智能客户端相比传统客户端有许多优点.

1.1 智能客户端与传统客户端的应用程序模型

图2 智能客户端技术的应用程序更新示意图Fig.2 Updater application block architecture of smart client

传统的客户端应用程序模型有两种:C/S和 B/S.Client/Server(客户机 /服务器),简称 C/S,又称为胖客户端 (Rich Client),是 20世纪 80年代出现的一种开发模式.胖客户端能够提供高质量、响应迅速的用户体验,并且具有良好的开发人员和平台支持,但它们难以部署和维护.Browser/Server(浏览器 /服务器 ),简称 B/S,又称为瘦客户端 (Thin Client),是C/S模式发展到一定阶段的产物.瘦客户端易于安装和维护,但它需要占用大量的服务器资源,响应速度慢,不能离线应用,同时开发成本高.与 B/S或 C/S相比,智能客户端具有明显的优势:本地资源充分利用和享受本地用户体验,具备离线连接能力,能够智能部署、自动更新,可以绕过防火墙并方便地与 Web Services连接,如图2所示[4].

表1 瘦 /胖客户端和智能客户端的特点Tab.1 Characteristics of thin/rich client and smart client

1.2 智能客户端的技术平台

目前,智能客户端可用技术平台包括 Microsoft.NET[6-7],Sun J2SE WebStart[8]与 Macromedia Central[9].

1.3 国内外最新研究现状

微软 .NET平台下已形成 Windows智能客户端,Office智能客户端[10]以及移动智能客户端[11-12]等解决方案.在 2005年,.NET平台的智能客户端应用程序的比例达到了 60%.在国内,新中大推出了自己的智能客户端技术,已有两个基于智能客户端技术的系列产品:Gsoft/G6产品采用了符合 J2EE标准的应用平台和工具;A3产品采用了 Microsoft.Net平台.有从事管理软件研究的人士认为,智能客户端将会成为目前 ERP产业技术创新的最佳切入点,向“智能客户端”的迁移将打破现有 ERP的格局,摆脱ERP产业的恶性竞争.

2 构建微软 .NET智能客户端的关键技术

从 Visual Studio 2005开始,微软提供了一项名为 Click Once的智能客户端部署技术,从系统和语言级别对智能客户端提供全面支持.由于微软的大力推广,.NET成为目前最重要的智能客户端技术平台.其关键技术包括[6]:数据缓存与并发技术,XML Web Service,偶尔连接,智能部署与更新等.

2.1 数据缓存与并发技术

在智能客户端中,客户端使用的应用程序数据,一是通过服务器应用程序向客户端提供的数据,二是客户端使用的本地缓存数据..NET Framework通过 ADO.NET数据集 (Datasets)帮助客户端在脱机状态下使用数据,并可跟踪数据进行本地更改.

2.2 XML Web Service

XML Web Service是在 Internet上进行分布式计算的基本构造块,通过 SOAP在 Web上提供软件服务,使用 WSDL文件说明,并由 UDDI注册.高度的互操作性使 XML Web Service能与各种各样的应用程序通讯.对 Internet协议的依赖使得客户端能够在 Internet上广泛分发,因此 XML Web Service是用于将智能客户端应用程序连接到服务的最佳机制,是生成大多数智能客户端应用程序的最佳方法.

2.3 偶尔连接

偶尔连接的智能客户端能在未连接到网络资源时工作,然后在后台某个时间更新网络资源.应用程序将信息存储在消息中,当客户端脱机时将这些消息排列到队列中.在重新建立连接后,排队的消息将被发送到服务器进行处理.

2.4 智能部署与更新

依靠 .NET Framework可简化部署、更新和维护过程,共有 5种方式:无接触部署,带有应用程序更新存根的无接触部署,从文件共享运行代码,XCopy和 Windows安装程序软件包.通过无接触部署的方式可以将应用程序发布到网页,用户不需要安装即可从网页上直接启动应用程序.

本文在分析了智能客户端技术特点的基础上,给出了采用智能客户端技术对胖客户端系统进行升级的方案.

3 基于智能客户端技术的胖客户端系统的升级

智能客户端程序相较于以往的应用程序更加复杂,开发与调试的技术也更加复杂.在升级的过程中有必要从风险与成本的角度出发,选择低成本的方案.通过对技术难点的分析和解决,给出了一种低成本的升级方案.

3.1 低成本的升级方案

胖客户端系统升级到智能客户端,可以采用全新开发的模式,完全发挥智能客户端技术的优势.但由于是全新开发,成本较高;另外,由于国内对于智能客户端开发的技术积累和应用积累较少,在进一步加大开发成本的情况下,还加重了风险成本.

智能客户技术的应用程序更新模型如图2所示,此模型的部署通过ClickOnce完成.核心 Click Once部署结构基于两个 XML清单文件:一个应用程序清单和一个部署清单.应用程序清单描述应用程序本身,包括程序集、组成应用程序的依赖项和文件、所需的权限以及提供更新的位置.部署清单描述如何部署应用程序,包括应用程序清单的位置以及客户端应运行的应用程序的版本.部署清单在创建后会被复制到部署位置,应用程序清单和所有应用程序文件也都被复制到在部署清单中指定的部署位置.

通过设置应用程序清单,可以将胖客户端系统以“内容文件”的形式包装进 .NET程序一起发布.在此方案中,核心功能依旧由原系统完成,新系统主要提供自动更新、无接触部署的支持,这样就由原来胖客户端的两层结构变成三层结构,如图3所示.

此方案的优点主要有:①由于新开发的模块较少,可以在更短的时间内交付使用;②由于核心功能和使用方式与原有系统差别不大,减少了培训与调试的过程,并减小了用户对新系统的抵触情绪;③对计算机性能的要求并未提高,因此不需要增加新的硬件设备.从降低成本与开发风险的角度出发,这将成为首选的升级模式.另外,通过此种模式进行升级可不断积累智能客户端应用的经验,以较低风险逐步过渡到智能客户端应用.

3.2 技术难点的解决

3.2.1 分析原系统的结构

新系统需要将原系统的所有功能包括进来,因此需要分析原系统的结构,找出所有的支持文件.同时,可能需要对原系统的结构进行重新设计,其中最主要的工作是模块的重新划分,包括拆分与合并.①模块合并的原因.新系统发布后,要同时维护两套系统,因此需要尽量减少它们之间的接口以利于维护.由于原系统是以“内容文件”的形式包装进新系统,减少接口的主要方面就是减少包含文件的数量.②模块拆分的原因.由于智能客户端通过网络加载,所以每个模块应当尽量地小,以便快速加载.

通过分析原系统的结构,得到一个支持文件列表,主要为可执行文件(EXE文件)和 COM对象文件(DLL文件).

3.2.2 COM对象的部署

可执行文件可以直接包含到新的系统中,但 COM对象却不能直接使用.传统上 COM对象需要在操作系统中注册才能够正常调用.从 Windows XP开始,Microsoft为解决“DLL Hell”问题引入了一种无需注册表项便可部署 COM对象的机制,COM对象可按 DLL文件来部署,将其安装到与应用程序可执行文件相同的目录中即可正常调动.通过为 DLL文件建立一个 .manifest文件(全局程序集配置文件),并添加到 .NET应用程序清单中,Click Once就可以利用全局程序集配置文件与 .NET应用程序共同部署 COM对象.“综合信息暨绩效考核系统”中的“JCJ.dll”文件的配置文件如下:

4 应用效果

应用本文中提到的智能客户端技术,作者为太原市公安局尖草坪分局开发了“综合信息暨绩效考核系统”.原系统使用 Visual Basic 6.0开发,数据库选用 SQL Server 2000,采用 C/S结构.新系统的启动与工作界面如图4,图5所示.

图4 综合信息暨绩效考核系统的启动界面Fig.4 Activation interface of the comprehensiv einformation and performance app raisal system

图5 综合信息暨绩效考核系统的工作界面Fig.5 Working interface of the comp rehensive information and performance appraisal system

新系统的使用效果超出了分局的预期:①系统直接可从分局的网站上启动,不需要执行安装过程;②系统启动的时候自动检测是否需要升级,不需要手动干预;③与原系统的操作方式完全相同,减少了培训与学习的过程;④分局没有为此增加任何硬件设备.以极低的成本实现了系统的升级,并减少了原系统的维护成本,分局对此非常满意.

5 结论与展望

本文在分析智能客户端技术特点的基础上,讨论了如何低成本实现其应用,得出了将传统的胖客户端程序以“内容文件”的方式包含在 .NET程序中可以最低成本实现智能客户端应用的结论,并在此基础上完成了“综合信息暨绩效考核系统”从胖客户端向智能客户端的升级,在多个单位推广.

对于不同的胖客户端系统,由于其复杂程序不同,升级到智能客户端的方案也不一样.由于智能客户端可采用无接触部署的方式发布,因此可以方便地将所有系统集中发布到网站上.在未能开发大型的综合性信息系统之前,本文所讨论的技术为信息系统的集成与降低系统的维护成本提供了一种思路.

[1]刘海波,钟志农,陈宏盛,等.智能客户端技术研究及应用[J].网络与信息技术,2006,25(11):42-44.Liu Haibo,Zhong Zhinong,Chen Hongsheng,et al.Research and application on intelligent client technology[J].Network and Information Technology,2006,25(11):42-44.(in Chinese)

[2]Scott M.Frameworks for component-based client/server computing[J].ACM Computing Surveys,1998,30(1):3-27.

[3]Mary C,Leslie P,Ashok S.A strategic client/server implementation:new technology,lessons from history[J].The Journal of Strategic Information Systems,1997,6(2):95-128.

[4]Maciej J,Artur B,Maciej S.New approach for management services with a web browser[J].Computer Networks,1999,31(21):2227-2236.

[5]David H,Brenton W,Edward A J,et al.Smart client architecture and design guide[M].MSDN Managine,2004:60-65.

[6]保慧,吴永明.基于 .NET Framework的智能客户端——新一代无接触部署方式[J].计算机应用与软件,2005,22(5):133-135.Bao Hui,Wu Yongming.Smart client based on.NET framework—— a new way of no touch deployment[J].Computer Applications and Software,2005,22(5):133-135.(in Chinese)

[7]朱涛,张水平,李云云,等.基于智能客户端架构的自助服务系统的设计与实现 [J].计算机工程,2007,33(16):205-207.Zhu Tao,Zhang Shuiping,Li Yunyun,et al.Design and implementation of self-help service system based on smart client architecture[J].Computer Engineering,2007,33(16):205-207.(in Chinese)

[8]赵欣,晏蒲柳,郭成城,等.基于 Web技术的网络拓扑图生成方法的研究[J].武汉大学学报(理学版),2002,48(5):631-634.Zhao Xin,Yan Puliu,Guo Chengcheng,et al.Research on the method of generating network topology map based on Web[J].Wuhan University Journal(Natural Science Edition),2002,48(5):631-634.(in Chinese)

[9]Zhen Yuhuang,James J.Assessment of a web-based learning game in an information systems course[J].Journal of Computer Information Systems,2005(4):112-134.

[10]方睿,郝玉洁.Smart Client与 Office System整合应用研究[J].成都信息工程学院学报,2006,21(4):479-483.Fang Rui, Hao Yujie. Smart client and office system[J].Journal of Chengdu University of Information Technology,2006,21(4):479-483.(in Chinese)

[11]卢宏基,付瑞峰,谈冉.基于移动协同的智能客户端研究 [J].武汉理工大学学报(交通科学与工程版),2007,31(4):723-725.Lu Hongji,Fu Ruifeng,Tan Ran.Smart client research based on mobile CSCW model[J].Journal of Wuhan University of Technology(Transportation Science&Engineering),2007,31(4):723-725.(in Chinese)

[12]Chang Y F,Chen C S.Smart phone—— thechoiceof client platform for mobilecommerce[J].Computer Standards&Interfaces,2004,12:329-336.

猜你喜欢

应用程序客户端部署
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
删除Win10中自带的应用程序
如何看待传统媒体新闻客户端的“断舍离”?
谷歌禁止加密货币应用程序
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
部署“萨德”意欲何为?