国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      界面可重構(gòu)的虛擬應用系統(tǒng)和方法

      文檔序號:9810271閱讀:553來源:國知局
      界面可重構(gòu)的虛擬應用系統(tǒng)和方法
      【技術(shù)領域】
      [0001 ]本發(fā)明涉及虛擬應用,具體地,涉及界面可重構(gòu)的虛擬應用系統(tǒng)和方法。
      【背景技術(shù)】
      [0002]虛擬應用是一種無須安裝、即需即用,并且有著與本地應用相近的用戶體驗的應用,而傳統(tǒng)應用是需要用戶預先安裝在本地,并且在本地運行的應用。目前主要有三種技術(shù)來實現(xiàn)虛擬應用,即基于視圖、基于流和基于Web的虛擬應用。
      [0003]I)基于視圖的虛擬應用
      [0004]基于視圖的虛擬應用(View-based VA),類似于遠程桌面,該應用所需的所有計算任務全部在服務端完成,客戶端只負責以圖像的方式顯示應用的界面以及將外設的輸入傳到服務端,在這種場景下,網(wǎng)絡就是一根數(shù)據(jù)傳輸通道,客戶端僅僅是一個用于顯示和輸入的終端。
      [0005]2)基于流的虛擬應用
      [0006]基于流的虛擬應用(Stream-based VA),該應用所需的可執(zhí)行代碼不是用戶一次性全部安裝在客戶端的,而是根據(jù)該應用的執(zhí)行需要動態(tài)地下載到客戶端的。如果應用暫不需要則不會下載,因此大大節(jié)省了帶寬占用和應用啟動時間。這種動態(tài)的下載過程被形象的稱為“流”。雖然該應用的可執(zhí)行代碼流來自服務端,但是卻完全在客戶端執(zhí)行,因此該應用消耗的完全是客戶端的資源。
      [0007]3)基于Web的虛擬應用
      [0008]基于Web的虛擬應用(Web-based VA),該應用所需的計算任務一部分在客戶端執(zhí)行,一部分在服務端執(zhí)行。在客戶端執(zhí)行的部分一般是與界面顯示和人機交互有關的邏輯,而其他的業(yè)務邏輯在服務端執(zhí)行。
      [0009]尤其是目前大量的軍用軟件都是基于Windows平臺開發(fā),現(xiàn)在需要在自主平臺上使用,同時還要與新研軟件的界面風格和操作方式統(tǒng)一,便于進行軟件集成。使用基于視圖的虛擬應用不能修改遺留應用界面,因此無法滿足界面風格統(tǒng)一的要求;而使用基于Web的方式需要從代碼層重構(gòu)遺留應用,但是對整個遺留應用進行重構(gòu)存在很大風險,需要重新設計界面、重新編寫復雜業(yè)務處理代碼,對于一個已穩(wěn)定運行的系統(tǒng),徹底的重構(gòu)無疑是個災難,且對于某些遺留應用,由于歷史原因已無法從代碼層進行重構(gòu)。

      【發(fā)明內(nèi)容】

      [0010]針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種界面可重構(gòu)的虛擬應用系統(tǒng)和方法。
      [0011]本發(fā)明要解決的技術(shù)問題體現(xiàn)在以下幾點:
      [0012]I)如何在不修改業(yè)務代碼的前提下重構(gòu)遺留應用的界面;
      [0013]2)遺留應用界面如何快速重構(gòu),需提供可視化開發(fā)工具;
      [0014]3)重構(gòu)后的應用在運行中如何使用遺留應用的業(yè)務邏輯。
      [0015]為此,本發(fā)明提出了一種界面可重構(gòu)的虛擬應用技術(shù)。首先抽取遺留應用控件,通過控件映射和可視化設計工具快速生成重構(gòu)應用,然后在運行中監(jiān)控遺留應用界面變化并在重構(gòu)應用界面中重放,實現(xiàn)使用遺留應用業(yè)務邏輯的功能。
      [0016]根據(jù)本發(fā)明提供的一種界面可重構(gòu)的虛擬應用系統(tǒng),包括重構(gòu)工具模塊、監(jiān)控代理模塊、重構(gòu)代理模塊以及同步服務模塊;
      [0017]重構(gòu)工具模塊用來抽取遺留應用控件,從而構(gòu)建出遺留應用界面控件樹模型,該控件樹模型通過控件映射生成由Web控件組成的重構(gòu)界面,將重構(gòu)界面植入重構(gòu)代理模塊后發(fā)布成重構(gòu)應用;
      [0018]監(jiān)控代理模塊用來執(zhí)行重構(gòu)應用發(fā)出的操作請求,將操作請求轉(zhuǎn)換成操作指令發(fā)送到遺留應用,并監(jiān)控遺留應用界面的變化數(shù)據(jù);
      [0019]重構(gòu)代理模塊用來發(fā)送重構(gòu)應用的操作請求,同時接收并執(zhí)行監(jiān)控代理模塊發(fā)送的遺留應用界面的變化數(shù)據(jù);
      [0020]同步服務模塊提供重構(gòu)代理模塊和監(jiān)控代理模塊之間的消息傳輸通道,用來轉(zhuǎn)發(fā)重構(gòu)應用的操作請求以及遺留應用界面的變化數(shù)據(jù)。
      [0021 ]優(yōu)選地,所述重構(gòu)工具模塊包括界面復制模塊和界面重構(gòu)模塊;
      [0022]界面復制模塊用于分析遺留應用界面各控件的父子關系,識別控件類型、屬性和方法,并抽取指定層次的界面控件,抽取出的界面控件以XML對象保存成遺留應用界面模型文件,通過對遺留應用界面模型文件的分析,將遺留應用界面控件映射成重構(gòu)應用界面控件和布局,實現(xiàn)界面復制功能;
      [0023]界面重構(gòu)模塊用于將界面復制模塊生成的遺留應用界面模型文件轉(zhuǎn)換成圖形化模型,界面控件以圖形化方式展現(xiàn)。
      [0024]優(yōu)選地,所述監(jiān)控代理模塊包括操作執(zhí)行模塊和控件監(jiān)控模塊;
      [0025]所述操作執(zhí)行模塊用于接收同步服務模塊轉(zhuǎn)發(fā)的操作請求,支持對通過界面控件的操作,該操作請求基于界面控件的事件消息,通過事件消息對與操作請求映射的遺留應用界面控件進行操作;
      [0026]所述控件監(jiān)控模塊用于在遺留應用執(zhí)行操作請求的操作后,監(jiān)控遺留應用界面中顯示的數(shù)據(jù)變化和遺留應用界面中控件的變化結(jié)果,并將這些變化數(shù)據(jù)和變化結(jié)果發(fā)送到同步服務模塊。
      [0027]優(yōu)選地,所述遺留應用界面中顯示的數(shù)據(jù)變化,包括編輯框數(shù)據(jù)、列表數(shù)據(jù)、樹節(jié)點數(shù)據(jù)這些常用控件數(shù)據(jù)的變化。
      [0028]優(yōu)選地,所述遺留應用界面中控件的變化結(jié)果,包括控件位置、大小、是否可見、新增、消失的變化。
      [0029]優(yōu)選地,所述重構(gòu)代理模塊包括操作請求模塊和操作回放模塊;
      [0030]所述操作請求模塊用于將用戶通過重構(gòu)應用進行的操作序列化,生成操作請求發(fā)送到同步服務模塊;
      [0031]所述操作回放模塊用于將接收到的遺留應用界面變化數(shù)據(jù)和/或控件的變化結(jié)果在重構(gòu)應用中進行回放,完成與遺留應用的界面同步。
      [0032]優(yōu)選地,所述同步服務模塊提供重構(gòu)代理模塊和監(jiān)控代理模塊之間的消息傳輸通道,用來轉(zhuǎn)發(fā)重構(gòu)應用的操作請求以及遺留應用的界面變化數(shù)據(jù)。
      [0033]根據(jù)本發(fā)明提供的一種利用上述的界面可重構(gòu)的虛擬應用系統(tǒng)的界面可重構(gòu)的虛擬應用方法,包括如下步驟:
      [0034]步驟I:重構(gòu)工具模塊抽取遺留應用各界面的控件并映射成Web控件,生成重構(gòu)應用并植入重構(gòu)代理模塊;
      [0035]步驟2:用戶在重構(gòu)應用上進行操作,重構(gòu)代理模塊將操作指令通過同步服務模塊發(fā)送到監(jiān)控代理模塊對遺留應用同步執(zhí)行;
      [0036]步驟3:遺留應用執(zhí)行操作指令后,遺留應用界面的變化數(shù)據(jù)被監(jiān)控代理模塊收集后通過同步服務模塊發(fā)送到重構(gòu)代理模塊,重構(gòu)代理模塊同步更新相應的重構(gòu)應用界面。
      [0037]優(yōu)選地,所述步驟I包括如下步驟:
      [0038]步驟1.1:啟動遺留應用;
      [0039]步驟1.2:重構(gòu)工具模塊抽取遺留應用界面控件,根據(jù)遺留應用界面控件生成控件樹模型;
      [0040]步驟1.3:重構(gòu)工具模塊判斷是否有相應控件與遺留應用界面控件映射;若有相應控件,則進入步驟1.5繼續(xù)執(zhí)行;若無相應空間,則進入步驟1.4繼續(xù)執(zhí)行;
      [0041 ]步驟1.4:重構(gòu)工具模塊將通用類型控件作為相應控件,進入步驟1.5繼續(xù)執(zhí)行;
      [0042]步驟1.5:圖形化顯示相應控件和布局;
      [0043]步驟1.6:修改重構(gòu)應用界面,植入重構(gòu)代理模塊;
      [0044]步驟1.7:發(fā)布重構(gòu)應用。
      [0045]優(yōu)選地,所述步驟2包括如下步驟:
      [0046]步驟2.1:操作重構(gòu)應用;
      [0047]步驟2.2:重構(gòu)代理模塊發(fā)送目標操作控件與類型給同步服務模塊;
      [0048]步驟2.3:同步服務模塊發(fā)送解析后的操作控件和類型給監(jiān)控代理模塊;
      [0049]步驟2.4:監(jiān)控代理模塊查找操作控件的相應遺留應用控件;若查找到相應遺留應用控件,則進入步驟2.5繼續(xù)執(zhí)行;若沒有查找到相應遺留應用控件,則進入步驟2.7繼續(xù)執(zhí)行;
      [0050]步驟2.5:判斷重構(gòu)應用的操作是否得到相應遺留應用控件的支持;若得到相應遺留應用控件的支持,則進入步驟2.6繼續(xù)執(zhí)行;若不能得到相應遺留應用控件的支持,則進入步驟2.7繼續(xù)執(zhí)行;
      [0051 ]步驟2.6:確認遺留應用對操作指令同步執(zhí)行成功;
      [0052]步驟2.7:確認遺留應用對操作指令同步執(zhí)行失敗。
      [0053]優(yōu)選地,所述步驟3包括如下步驟:
      [0054]步驟3.1:監(jiān)控代理模塊捕獲遺留應用界面的數(shù)據(jù)變化;
      [0055]步驟3.2:監(jiān)控代理模塊識別遺留應用界面的數(shù)據(jù)變化的類型;若該類型為新控件出現(xiàn),則進入步驟3.3A繼續(xù)執(zhí)行;若該類型為控件屬性變化,則進入步驟3.3B繼續(xù)執(zhí)行;
      [0056]步驟3.3A:監(jiān)控代理模塊生成新控件的控件樹模型;
      [0057]步驟3.4A:監(jiān)控代理模塊將控件樹模型經(jīng)由同步服務模塊發(fā)送給重構(gòu)代理模塊;
      [0058]步驟3.5A:重構(gòu)代理模塊將新控件映射為Web控件,添加事件響應;進入步驟3.6繼續(xù)執(zhí)行;
      [0059]步驟3.3B:重構(gòu)代理模塊遍歷源控件樹模型并更改變化控件屬性
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1