我们都知道,在做管理信息系统应用产品的部署和升级是很让人头大的过程,上百个客户段节点的程序都得你去更新一遍,特别是在项目的上线调试阶段,频繁的更改引起的程序部署,可以把你累死,把项目方的系管也累的半死。
基于这样的需求,出现了各式各样的部署和升级方案,首次安装、以后自己升级的方案得到了广泛的应用,也就是应用的智能部署与升级。
AgileEAS.NET平台也提供了这样的一个部署与升级方案,被应用于ActiveXForm和SmartWin应用中,AgileEAS.NET提供基于WebService的插件运行时智能升级方案,这里有两个概念,第一个是基于WebService技术传输,第二个是插件运行时组件升级。
因为AgileEAS.NET平台是基于插件组装技术的,我们可以理解应用系统的升级也就是插件的升级,并且仅当在平台调用插件时才去进行判断和升级插件及其运行所必要的文件,也就是说升级不是一次性完成,还是在运行的环境完成智能升级。
ActiveXForm的部署与自动升级不需要客户段的设计,安装完ActiveXForm客户段核心引擎即OK了,SmartWin应用需要修改客户端的配置文件,指定升级服务的地址:
<applicationSettings> <EAS.Explorer.SmartClient.Properties.Settings> <setting name="SmartService" serializeAs="String"> <value>http://vm2003/EAS/SmartUpdate/SmartAssemblyService.asmx</value> </setting> </EAS.Explorer.SmartClient.Properties.Settings> </applicationSettings>
服务端提供了一个小配置工作用于配置需要升级的程序集列表及其最后更新信息:
工作扫描指定目录中的程序集并生成程序集清单信息:
<SmartAssembly Name="ActiveXForm.ClientAPI" Developer="agilelab.cn" Description="" Version="1.0.3820.33636" FileName="ActiveXForm.ClientAPI.dll" Time="2010-06-17T18:41:12.6193599+08:00"> <References> <AssemblyName Name="EAS.Distributed.Interface" /> <AssemblyName Name="ActiveXForm.ClientClasp" /> <AssemblyName Name="EAS.Explorer" /> <AssemblyName Name="EAS.Session" /> <AssemblyName Name="EAS.IOCContainer" /> <AssemblyName Name="EAS.Windows" /> </References> </SmartAssembly>
客户端通过自定义的类加载器在加载某个插件类型时自动检查程序集版本并判定是否下载程序集,程序集下载到本地后被加载和调用。
QQ群:15118502
作者:魏琼东
出处:http://www.cnblogs.com/eastjade
关于作者:有13年的软件从业经历,专注于中小软件企业软件开发过程研究,通过在技术与管理帮助中小软件企业实现技术层面开源节流的目的。熟悉需求分析、企业架构、项目管理。现主要从事基于AgileEAS.NET平台的技术咨询工作,主要服务于医疗卫生、铁路、电信、物流、物联网、制造、零售等行业。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过mail.james@qq.com 联系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同讨论,非常感谢。
本文转自魏琼东博客园博客,原文链接:http://www.cnblogs.com/eastjade/archive/2010/07/06/1772006.html,如需转载请自行联系原作者