界面可重构的虚拟应用系统和方法

文档序号:9810271阅读:457来源:国知局
界面可重构的虚拟应用系统和方法
【技术领域】
[0001 ]本发明涉及虚拟应用,具体地,涉及界面可重构的虚拟应用系统和方法。
【背景技术】
[0002]虚拟应用是一种无须安装、即需即用,并且有着与本地应用相近的用户体验的应用,而传统应用是需要用户预先安装在本地,并且在本地运行的应用。目前主要有三种技术来实现虚拟应用,即基于视图、基于流和基于Web的虚拟应用。
[0003]I)基于视图的虚拟应用
[0004]基于视图的虚拟应用(View-based VA),类似于远程桌面,该应用所需的所有计算任务全部在服务端完成,客户端只负责以图像的方式显示应用的界面以及将外设的输入传到服务端,在这种场景下,网络就是一根数据传输通道,客户端仅仅是一个用于显示和输入的终端。
[0005]2)基于流的虚拟应用
[0006]基于流的虚拟应用(Stream-based VA),该应用所需的可执行代码不是用户一次性全部安装在客户端的,而是根据该应用的执行需要动态地下载到客户端的。如果应用暂不需要则不会下载,因此大大节省了带宽占用和应用启动时间。这种动态的下载过程被形象的称为“流”。虽然该应用的可执行代码流来自服务端,但是却完全在客户端执行,因此该应用消耗的完全是客户端的资源。
[0007]3)基于Web的虚拟应用
[0008]基于Web的虚拟应用(Web-based VA),该应用所需的计算任务一部分在客户端执行,一部分在服务端执行。在客户端执行的部分一般是与界面显示和人机交互有关的逻辑,而其他的业务逻辑在服务端执行。
[0009]尤其是目前大量的军用软件都是基于Windows平台开发,现在需要在自主平台上使用,同时还要与新研软件的界面风格和操作方式统一,便于进行软件集成。使用基于视图的虚拟应用不能修改遗留应用界面,因此无法满足界面风格统一的要求;而使用基于Web的方式需要从代码层重构遗留应用,但是对整个遗留应用进行重构存在很大风险,需要重新设计界面、重新编写复杂业务处理代码,对于一个已稳定运行的系统,彻底的重构无疑是个灾难,且对于某些遗留应用,由于历史原因已无法从代码层进行重构。

【发明内容】

[0010]针对现有技术中的缺陷,本发明的目的是提供一种界面可重构的虚拟应用系统和方法。
[0011]本发明要解决的技术问题体现在以下几点:
[0012]I)如何在不修改业务代码的前提下重构遗留应用的界面;
[0013]2)遗留应用界面如何快速重构,需提供可视化开发工具;
[0014]3)重构后的应用在运行中如何使用遗留应用的业务逻辑。
[0015]为此,本发明提出了一种界面可重构的虚拟应用技术。首先抽取遗留应用控件,通过控件映射和可视化设计工具快速生成重构应用,然后在运行中监控遗留应用界面变化并在重构应用界面中重放,实现使用遗留应用业务逻辑的功能。
[0016]根据本发明提供的一种界面可重构的虚拟应用系统,包括重构工具模块、监控代理模块、重构代理模块以及同步服务模块;
[0017]重构工具模块用来抽取遗留应用控件,从而构建出遗留应用界面控件树模型,该控件树模型通过控件映射生成由Web控件组成的重构界面,将重构界面植入重构代理模块后发布成重构应用;
[0018]监控代理模块用来执行重构应用发出的操作请求,将操作请求转换成操作指令发送到遗留应用,并监控遗留应用界面的变化数据;
[0019]重构代理模块用来发送重构应用的操作请求,同时接收并执行监控代理模块发送的遗留应用界面的变化数据;
[0020]同步服务模块提供重构代理模块和监控代理模块之间的消息传输通道,用来转发重构应用的操作请求以及遗留应用界面的变化数据。
[0021 ]优选地,所述重构工具模块包括界面复制模块和界面重构模块;
[0022]界面复制模块用于分析遗留应用界面各控件的父子关系,识别控件类型、属性和方法,并抽取指定层次的界面控件,抽取出的界面控件以XML对象保存成遗留应用界面模型文件,通过对遗留应用界面模型文件的分析,将遗留应用界面控件映射成重构应用界面控件和布局,实现界面复制功能;
[0023]界面重构模块用于将界面复制模块生成的遗留应用界面模型文件转换成图形化模型,界面控件以图形化方式展现。
[0024]优选地,所述监控代理模块包括操作执行模块和控件监控模块;
[0025]所述操作执行模块用于接收同步服务模块转发的操作请求,支持对通过界面控件的操作,该操作请求基于界面控件的事件消息,通过事件消息对与操作请求映射的遗留应用界面控件进行操作;
[0026]所述控件监控模块用于在遗留应用执行操作请求的操作后,监控遗留应用界面中显示的数据变化和遗留应用界面中控件的变化结果,并将这些变化数据和变化结果发送到同步服务模块。
[0027]优选地,所述遗留应用界面中显示的数据变化,包括编辑框数据、列表数据、树节点数据这些常用控件数据的变化。
[0028]优选地,所述遗留应用界面中控件的变化结果,包括控件位置、大小、是否可见、新增、消失的变化。
[0029]优选地,所述重构代理模块包括操作请求模块和操作回放模块;
[0030]所述操作请求模块用于将用户通过重构应用进行的操作序列化,生成操作请求发送到同步服务模块;
[0031]所述操作回放模块用于将接收到的遗留应用界面变化数据和/或控件的变化结果在重构应用中进行回放,完成与遗留应用的界面同步。
[0032]优选地,所述同步服务模块提供重构代理模块和监控代理模块之间的消息传输通道,用来转发重构应用的操作请求以及遗留应用的界面变化数据。
[0033]根据本发明提供的一种利用上述的界面可重构的虚拟应用系统的界面可重构的虚拟应用方法,包括如下步骤:
[0034]步骤I:重构工具模块抽取遗留应用各界面的控件并映射成Web控件,生成重构应用并植入重构代理模块;
[0035]步骤2:用户在重构应用上进行操作,重构代理模块将操作指令通过同步服务模块发送到监控代理模块对遗留应用同步执行;
[0036]步骤3:遗留应用执行操作指令后,遗留应用界面的变化数据被监控代理模块收集后通过同步服务模块发送到重构代理模块,重构代理模块同步更新相应的重构应用界面。
[0037]优选地,所述步骤I包括如下步骤:
[0038]步骤1.1:启动遗留应用;
[0039]步骤1.2:重构工具模块抽取遗留应用界面控件,根据遗留应用界面控件生成控件树模型;
[0040]步骤1.3:重构工具模块判断是否有相应控件与遗留应用界面控件映射;若有相应控件,则进入步骤1.5继续执行;若无相应空间,则进入步骤1.4继续执行;
[0041 ]步骤1.4:重构工具模块将通用类型控件作为相应控件,进入步骤1.5继续执行;
[0042]步骤1.5:图形化显示相应控件和布局;
[0043]步骤1.6:修改重构应用界面,植入重构代理模块;
[0044]步骤1.7:发布重构应用。
[0045]优选地,所述步骤2包括如下步骤:
[0046]步骤2.1:操作重构应用;
[0047]步骤2.2:重构代理模块发送目标操作控件与类型给同步服务模块;
[0048]步骤2.3:同步服务模块发送解析后的操作控件和类型给监控代理模块;
[0049]步骤2.4:监控代理模块查找操作控件的相应遗留应用控件;若查找到相应遗留应用控件,则进入步骤2.5继续执行;若没有查找到相应遗留应用控件,则进入步骤2.7继续执行;
[0050]步骤2.5:判断重构应用的操作是否得到相应遗留应用控件的支持;若得到相应遗留应用控件的支持,则进入步骤2.6继续执行;若不能得到相应遗留应用控件的支持,则进入步骤2.7继续执行;
[0051 ]步骤2.6:确认遗留应用对操作指令同步执行成功;
[0052]步骤2.7:确认遗留应用对操作指令同步执行失败。
[0053]优选地,所述步骤3包括如下步骤:
[0054]步骤3.1:监控代理模块捕获遗留应用界面的数据变化;
[0055]步骤3.2:监控代理模块识别遗留应用界面的数据变化的类型;若该类型为新控件出现,则进入步骤3.3A继续执行;若该类型为控件属性变化,则进入步骤3.3B继续执行;
[0056]步骤3.3A:监控代理模块生成新控件的控件树模型;
[0057]步骤3.4A:监控代理模块将控件树模型经由同步服务模块发送给重构代理模块;
[0058]步骤3.5A:重构代理模块将新控件映射为Web控件,添加事件响应;进入步骤3.6继续执行;
[0059]步骤3.3B:重构代理模块遍历源控件树模型并更改变化控件属性
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1