肖利华
(西部战区陆军保障信息中心,甘肃兰州 730000)
智能客户端属于一种新型技术,由微软推出被广泛应用在分布式应用程序的构建当中。既具有胖客户端的优点,又具有瘦客户端的优点,能够提供各种各样的用户界面,对客户端的部署难题、升级难题等进行解决,同时也可以对脱机工作能力、资源利用方法等进行提供,所以从这些层面来看,分析智能客户端技术在军用装备管理中的应用,具有重要的现实意义。
智能客户端具有极强的可扩展性,可以对各种应用程序进行集成;可以实现无接触部署;可以进行自动更新与升级;可以对Web进行充分利用,避免了防火墙等问题的发生;可以便于离线运用,同时也方便对Web Servirces进行连接。智能客户端技术主要是建立在类库技术基础之上的,可以按照实际需求进行裁剪。智能客户端的特征主要包括:①能够对客户端资源进行充分利用;②既支持用户在线工作,又支持用户离线工作;③可以实现智能安装与智能更新,同时也可以在客户端对数据进行缓存。
(1)OAB(Offline Application Block,离线应用程序块)模块。可以对网络状况进行判断,可进行离线工作。在过去的B/S(Browser/Server,浏览器/服务器)模式中,应用程序无法在脱机状态下进行工作,但对于智能客户端而言,OAB模块使得应用程序可以进行离线工作,提升了整个系统的应用性能。
(2)DAB(Data Application Block,数据应用程序块)模块。其重要功能就是增强了数据库与应用程序的交互能力,可以减少数据库在创建、测试以及维护等过程中的代码,能够增强代码的统一性,进而提升应用开发速度。
(3)UAB(Updater Application Block,更新应用程序块)模块。可以解决一些程序升级与部署问题。对于传统客户端而言,很难实现程序的部署与升级,特别是在客户端较多的情况下,需要一个一个进行处理,不仅费时费力,还极易出错。而对于UAB模块而言,可以对这个问题进行有效解决,在客户端启动时,程序可以检查各个文件的版本,如果客户端版本比服务端版本低,就会提示使用人员是否更新程序,在确定需要更新之后,会自动对程序进行更新升级。
(4)CAB(Caching Application Block,缓存应用程序块)模块。对于分布式应用程序来说,在对服务端的数据进行访问过程中,需要跨越网络,这样就会引发很多网络流量,增加了服务器的压力。而对于CAB模块来说,可以在客户端对数据进行缓存,避免了应用程序对网络的频繁访问,进而降低网络流量与服务器的压力。
(5)LAB(Logging Application Block,日志应用程序块)模块。主要是对系统运行情况进行记录,如用户操作以及发生异常等。
(6)SAB(Security Application Block,安全应用程序块)模块。智能客户端在应用过程中需要进行异地协同交互,因此就会引发一些数据在传输过程中的安全问题。在SAB模块当中,有很多安全问题解决方案,如文件加密、用户授权以及合法验证等。
(7)EMAB (Exception Management Application Block,异常管理应用程序块)模块。主要是对系统的一些异常情况进行处理。
C/S(Client/Server,客户机/服务器)软件应用模式出现的时间比较早,在该模式下,可以利用网络将服务器端和客户端进行连接,提升了软件的执行效率以及用户工作的质量等,其特点包括:
(1)在C/S模式下,应用软件在安装、维护以及部署等方面比较复杂,并且对客户端在操作平台上以及附加软件等方面的应用有一定的要求与限制。
(2)在C/S模式下,应用软件可以对客户端资源进行充分利用,能够为用户提供大量界面元素,能够对本机磁盘以及应用程序接口等进行存取,并且执行速度也比较快。
(3)在C/S模式下,应用软件具有很小的网络传输量,只需要在服务器与客户端之间对数据进行传输。
(4)在C/S模式下,应用软件的多数组件都是在DLL(Dynamic Link Library,动态链接库)以及 COM(Component Object Model,组件对象模型)等技术的基础上建立起来的,对注册表比较依赖,如果系统中存在和该组件不相适应的版本时,就会引发DLL冲突。对于局域网范围中的一些应用系统来说,比较适合使用C/S模式。
B/S软件应用模式出现的时间比较晚,在这种模式之下,不需要对客户端进行安装与部署,所以对客户端的操作流程进行了简化。现阶段,该模式应用的比较广泛,其特点包括:
(1)在B/S模式下,应用软件只有在网络连通的状态下才可以进行工作,并且不能对客户端资源进行利用。只能利用HTML语言对用户界面进行呈现,界面比较单一,不能够对一些复杂操作需求进行满足。
(2)在B/S模式下,应用软件具有较大的网络传输量。因为客户端不能够对状态数据进行保存,所以需要在服务器与客户端之间对界面内容、所需数据等进行传输。
(3)在B/S模式下,应用软件的安全性比较低。服务器可以利用防火墙对数据进行过滤,由于各种传输内容都是建立在HTTP端口之上的,很难实现数据的加密与签名,进而无法确保数据的完整性。
(4)在B/S模式下,比较容易对应用软件进行安装、部署以及维护,可以支持大量桌面型计算机。由于大部分计算机已经安装了浏览器软件,所以只需要进行服务器端的部署与更新工作。
在Web应用程序不断发展的时代背景下,很多分布式应用都比较喜欢B/S模式。对于装备管理系统而言,客户端的功能比较复杂,并且具有极强的交互性,但是B/S模式的功能比较简单,又缺少一定的交互性,比较注重浏览,所以B/S模式不适合装备管理系统。在经过上述分析之后,本文研究的装备管理系统所选择的是智能客户端技术,既是基于C/S模式下的一种技术,又具有一些B/S优点。
(1)智能客户端的应用程序可以进行动态加载。在应用程序当中,各个构件可以进行相互调用,没有进行直接引用,而是通过动态加载,有效减少了系统资源的损耗,有利于应用程序的升级与更新。
(2)智能客户端的应用程序可以实现模块化。因为程序具有松散耦合特点,增加了系统模块化的可能,在添加新功能或者是新特性时,可以对和接口相匹配的新模块进行开发,再添加连接即可,不需要对现有程序进行修改或者是重新编译。
(3)在智能客户端当中,应用程序可以进行零接触部署以及自动升级。在安装过程中,只需要为本地下载一个主程序文件,之后就可以进行直接运行,不需要对系统组件或者是注册表等进行改变。在升级过程中,可以在服务器上对新版本程序进行发布,客户端可以对新版本程序以及应用软件等进行自动发现,并对其进行下载升级。
(4)在智能客户端当中,应用程序既支持在线工作,又支持离线工作。应用程序虽然通过网络对程序集进行加载,但是程序集在加载之后,就会被缓存在本地当中。如果用户对应用程序进行了启动,那么其装配就会被缓存或者是下载到本地当中,因此用户可以对智能客户端进行离线运行。应用智能客户端的关键之处就在于可以进行离线使用。虽然业务之间具有紧密的联系,但仍然无法确保分布式的应用程序可以进行持续连接。对于离线工作方式而言,在网络环境下,可以对数据以及应用程序更新等进行自动接收,在过去,这一点是很难实现的。
军用装备管理系统是一种基于军用广域网下的分布式系统,利用军用广域网可以将服务器端和客户端进行连接。其中服务器端是由Web服务、服务器、数据库以及局域网等构成的,客户端的应用程序主要包括打印机、局域网以及数据缓存等。
(1)对于应用程序层来说,属于一种接口层面,可以实现用户和系统的交互,在本地可以对Web服务进行构建,进而可以对Web服务功能进行充分利用,通过客户端资源以及智能客户端技术,让客户端进行自动升级,实现数据的缓存,进而增强应用程序的性能。
(2)对于功能服务层而言,其运行场所是公共服务器,主要是通过Web服务构建,并按照Web服务形式进行封装发布,为用户提供相应的应用服务。在框架模型当中,功能服务层属于核心部分,它的对外接口是由Web服务组成的,在内部封装了一些具体业务操作,主要为系统提供相应的业务活动。
(3)对于数据库层来说,主要是对各种数据进行存储,功能服务层可以对这些数据进行访问。在访问内容上,数据库层可以对功能服务层进行限制,只有具备一定的权限才可以对数据库进行访问。
综上所述,本文对C/S软件应用模式、B/S软件应用模式等进行了分析,并在此基础上通过智能客户端技术对军用装备管理系统进行了设计与开发。该系统是一种分布式系统,主要依靠军用广域网进行运行,在该系统当中,可以在本地客户端对一些远程数据进行访问,用户可以进行离线操作,等到连接网络之后,系统会对本地数据进行自动更新,并将它们发送到服务器端,实现了系统的稳定运行。
[1]冀庆斌,靳祯.基于智能客户端技术的系统升级及应用[J].中北大学学报,2010,31(1):23-28.
[2]高杰.智能客户端技术在客户关系管理系统中的应用研究[D].南京:南京大学,2005.
[3]王东.基于智能客户端技术的VOLVO建筑设备租赁信息系统研究与开发[D].广州:广东工业大学,2008.
[4]王焕彬,夏靖波.智能客户端技术在军用装备管理中的应用研究[J].微计算机信息,2008,24(2):8-10.