CN102591647A - 将桌面应用转换成web应用 - Google Patents

将桌面应用转换成web应用 Download PDF

Info

Publication number
CN102591647A
CN102591647A CN2011104419190A CN201110441919A CN102591647A CN 102591647 A CN102591647 A CN 102591647A CN 2011104419190 A CN2011104419190 A CN 2011104419190A CN 201110441919 A CN201110441919 A CN 201110441919A CN 102591647 A CN102591647 A CN 102591647A
Authority
CN
China
Prior art keywords
desktop application
application
computing machine
file
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011104419190A
Other languages
English (en)
Other versions
CN102591647B (zh
Inventor
A·科利
K·H·雷厄森
A·M·安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102591647A publication Critical patent/CN102591647A/zh
Application granted granted Critical
Publication of CN102591647B publication Critical patent/CN102591647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文描述用于将桌面应用转换成web应用的技术。基于桌面应用的用户界面生成界面文件。基于桌面应用的应用可执行代码生成逻辑文件。基于桌面应用的应用数据和状态生成数据模型。基于界面文件、逻辑文件和数据模型生成web应用。

Description

将桌面应用转换成web应用
技术领域
本发明涉及计算机应用,尤其涉及将桌面应用转换成web应用。
背景技术
业务应用在传统上作为桌面应用被提供。通常被安装在各个客户机器上的桌面应用一般提供丰富的、响应的且可用的界面,该界面包括各种各样的用户界面(“UI”)控件以及其它设计元素。同样,因为业务应用在传统上作为桌面应用被提供,所以对桌面应用的开发一般是已知的。然而,桌面应用的一些缺点包括操作系统(“OS”)依赖性、安全漏洞以及维护困难性。
对于OS依赖性,针对一个操作系统设计的桌面应用可能无法在另一个操作上执行。有时针对操作系统的一个版本所设计的桌面应用甚至可能不能在相同操作系统的另一版本上运行。对于安全漏洞,在相同计算机和操作系统上运行的多个桌面应用可能各种应用冲突,诸如软件组件之间的命名空间冲突或依赖性冲突。对于维护困难性,部署和更新多个客户机器上的相同桌面应用的每个实例会是乏味且费时的,尤其对于具有大量客户机器集合的大型企业更是如此。
与桌面应用相反,万维网(“web”)应用是独立于OS的。大多数web应用在连接到因特网的任何标准web浏览器上操作,无论底层操作系统如何。而且,因为web应用在web浏览器中运行,所以可以避免像命名空间冲突和依赖性冲突这样的应用冲突。另外,在云中运行的web应用可在主存web应用的单个实例中被部署和更新。
将现有桌面应用转换成web应用的过程通常涉及对桌面应用的完全重写。这会是难以置信地成本高昂且容易出错的。而且,一些常规web界面(例如,HTML4或更早的)不提供足以提供与桌面应用所能提供的相同丰富界面的功能。结果,与所安装的桌面应用相比,桌面应用的现有web版本通常在较简单界面中提供减少的功能。
此处所做出的本公开正是关于这些和其他考虑事项而提出的。
发明内容
本文描述用于将桌面应用转换成web应用的技术。web应用的一示例格式是超文本标记语言修订版5(“HTML5”)。通过使用本文提供的技术和概念,转换过程接受桌面应用作为输入并输出经转换的web应用,该web应用提供与桌面应用类似的功能和用户体验。桌面应用可包括用户界面、应用可执行代码、以及应用数据和状态。所得的web应用可包括web界面、页路由器、n层业务逻辑、以及web数据存储。
转换过程从桌面应用的用户界面解构界面组件。通过经解构的界面组件,转换过程可生成web界面。转换过程还从应用可执行代码结构业务逻辑以及业务逻辑与用户界面各种状态之间的映射。通过经解构的业务逻辑和映射,转换过程可生成页路由器和n层业务逻辑。转换过程还从应用数据和状态解构由桌面应用存储和检索的数据的变量类型以及跨桌面应用的多个会话持久保存的用户状态。通过经解构的变量类型和用户状态,转换过程可分配web数据存储。
在一些示例技术中,具有存储器和处理器的计算机被配置为将桌面应用转换成web应用。计算机基于桌面应用的用户界面生成界面文件。计算机还基于桌面应用的应用可执行代码生成逻辑文件。计算机还基于桌面应用的应用数据和状态生成数据模型。然后计算机基于界面文件、逻辑文件和数据模型生成web应用。
应该了解,上文所描述的主题还可以被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其它特征将变得显而易见。
提供本发明内容以便以简化的形式介绍在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所请求保护的主题不限于解决在本公开的任一部分中提及的任何或所有缺点的实现。
附图说明
图1是示出了根据一些实施例的用于将桌面应用转换成web应用的转换系统体系结构的框图;
图2是示出了根据一些实施例的用于生成界面文件的用户界面转换模块的框图;
图3是示出了根据一些实施例的用于生成逻辑文件的应用可执行代码转换模块的框图;
图4是示出了根据一些实施例的用于生成数据模型的应用数据和状态转换模块的框图;
图5是示出了根据一些实施例的用于将桌面应用转换成web应用的方法的流程图;
图6是示出用于能够实现此处所提出的各实施例的计算系统的说明性计算机硬件架构的计算架构图。
具体实施方式
以下详细描述针对用于将桌面应用转换成web应用的技术。根据本文描述的一些实施例,转换过程适于将桌面应用转换成web应用。转换过程可从用户界面、应用可执行代码、以及应用数据和状态将桌面应用解构成表示用户界面、应用可执行代码、以及应用数据和状态的元数据。在将桌面应用解构成相关元数据之后,转换过程可基于经解构的元数据生成所得web应用。web应用可包括web界面、页路由器、n层web业务逻辑、以及web数据存储。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了本文描述的主题,但是本领域技术人员将认识到,其它实现可以结合其它类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域技术人员将明白,可以利用其它计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,将参考构成本发明的一部分并作为说明来示出的附图、各具体实施方式、或示例。现在参考附图,其中在若干附图中相同的附图标记表示相同的元素,将描述用于将桌面应用转换成web应用的计算系统和方法。具体地,图1示出了根据一些实施例的用于将桌面应用102转换成web应用104的转换系统体系结构100。转换系统体系结构100可包括转换系统106,转换系统106被配置成接受桌面应用102作为输入并基于桌面应用102输出经转换的web应用104。
桌面应用102可包括用户界面108、应用可执行代码110、以及应用数据和状态112。web应用104可包括web界面114、页路由器116、n层web业务逻辑118、以及web数据存储120。转换系统106可包括用户界面转换模块122、应用可执行代码转换模块124、以及应用数据和状态转换模块126。
用户界面转换模块122可被配置成将用户界面108解构成界面文件128。界面文件128可以是可扩展标记语言(“XML”)文件或其它合适的文件格式。界面文件128可包括与用户界面108的“外观和感觉”相对应的界面组件的说明书。例如,界面文件128可指定用户界面108内的图形用户界面(“GUI”)元素的存在、位置和/或大小。GUI元素的一些示例可包括窗口、菜单、图标以及控件。
在将用户界面108解构成界面文件128之后,用户界面转换模块122可被进一步配置成基于界面文件128生成web界面114。界面文件128可提供用户界面108的标准表示,无论界面文件128的底层应用框架如何。这样,用户界面转换模块122可有效地生成web界面114,无论用户界面108的底层应用框架是DIRECTX、MICROSOFT FOUNDATION CLASSES(微软基础类,“MFC”)等。
web界面114可包括多个网页,每个网页对应于用户界面108的特定可视状态。网页中的每一个可对应于特定统一资源定位符(“URL”)。web界面114可包括能够根据界面文件128模仿用户界面108的任何合适的web应用代码。例如,web界面114可包括与HTML5、层叠样式表(“CSS”)、SILVERLIGHT、JAVASCRIPT、FLASH等相对应的代码。用户界面转换模块122的操作将在下文中参考图2更详细地描述。
应用可执行代码转换模块124可被配置成将应用可执行代码110解构成逻辑文件130。应用可执行代码110可包括各种可执行文件,这些文件包含使计算机执行特定任务的指令,藉此提供桌面应用102的功能。应用可执行代码110还可使用包含各种子例程和/或类以及其它合适文件的各种库(例如,动态链接库)。逻辑文件130可以是XML文件或其它合适的文件格式。逻辑文件130可包括桌面应用102的业务逻辑的说明书。逻辑文件130还可将业务逻辑映射到用户界面108的各种状态。例如,逻辑文件130可指定当用户界面108上的某界面按钮被选择时,执行相应的计算和/或用户界面108从一个可视呈现变换到另一可视呈现。
在将应用可执行代码110解构成逻辑文件130之后,应用可执行代码转换模块124可被进一步配置成基于逻辑文件130生成页路由器116和n层web业务逻辑118。页路由器116可将web界面114中包含的网页的URL映射到由n层web业务逻辑118定义的特定业务逻辑。n层web业务逻辑118可包括跨多个关注点将业务逻辑分开的多个层。例如,一个业务逻辑层可控制web界面114(例如,取决于对特定GUI元素的选择在网页之间变换),而另一业务逻辑层可控制数据处理。
逻辑文件130可提供应用可执行代码110的标准表示。逻辑文件130可包括能够表示在应用可执行代码110底层的业务逻辑的任何合适的web业务逻辑代码。例如,逻辑文件130可包括表示业务逻辑的.NET FRAMEWORK代码。从中间.NET FRAMEWORK代码,应用可执行代码转换模块124随后可基于.NET FRAMEWORK代码生成页路由器116和n层web业务逻辑118。页路由器116和n层web业务逻辑118可被包含在任何合适的web应用框架中,诸如ASP.NET、JAVA、C++等。应用可执行代码转换模块124的操作将在下文中参考图3更详细地描述。
应用数据和状态转换模块126可被配置成将应用数据和状态112解构成数据模型132。应用数据和状态112可包括由桌面应用102所存储和检索的数据。在桌面应用102中,通常从诸如硬盘驱动器之类的本地存储来存储和检索数据。然而,在web应用104中,本地存储可能是不可用的,因此通常通过诸如因特网之类的通信网络从远程数据库存储和检索数据。因此,数据模型132可指定由桌面应用102所存储和检索的数据的变量类型(例如,整数、浮点、串等)。这样,应用数据和状态转换模块126可在合适的数据库中分配web数据存储120,使得web应用104可将数据存储到web数据存储120以及从web数据存储120检索数据。
应用数据和状态112还可包括用户状态。用户状态可包括跨桌面应用102的多个会话而持久保存的用户配置设置。例如,用户状态可指定用户界面108中的工具条的位置以及该工具条内的图标集合。因此,数据模型132可进一步指定可跨桌面应用102的多个会话而持久保存的web应用104的用户状态。这样,应用数据和状态转换模块126可在合适的数据库中分配web数据存储120,使得web应用104可将用户配置设置存储到web数据存储120以及从web数据存储120检索用户配置设置。应用数据和状态转换模块126的操作将在下文中参考图4更详细地描述。
现在参考图2,将描述关于用户界面转换模块122的操作的附加细节。用户界面转换模块122可包括代码分析模块202和/或快照分析模块204。在一些实施例中,用户可将构成用户界面108的界面组件手动输入到界面文件128中。在一些其它实施例中,用户可利用如下所述的代码分析模块202和/或快照分析模块204,以便以自动的方式确定构成用户界面108的界面组件。
代码分析模块202可被配置成分析与用户界面108相关联的程序代码206,以便确定构成用户界面108的界面组件。程序代码206可以是桌面应用102的高级编程语言表示、汇编语言表示、或机器语言表示。例如,代码分析模块202可标识用户界面108内的各种GUI元素的存在、位置和/或大小。然后代码分析模块202可生成指定界面组件的界面文件128。代码分析模块202还可基于界面文件128生成web界面114。
快照分析模块204可被配置成分析用户界面108的快照208。快照208可包括各种可视状态中的用户界面108的多个屏幕捕捉。例如,在桌面应用102的执行期间,快照工具(未示出)可拍摄快照208。快照分析模块204可对快照208执行合适的图像分析,以便确定构成用户界面108的界面组件。例如,快照分析模块204可标识用户界面108内的各种GUI元素的存在、位置和/或大小。然后快照分析模块204可生成指定界面组件的界面文件128。快照分析模块204还可基于界面文件128生成web界面114。在一些实施例中,代码分析模块202和快照分析模块204可被结合使用,以便生成和/或确认界面文件128的内容。
现在参考图3,将描述关于应用可执行代码转换模块124的操作的附加细节。应用可执行代码转换模块124可包括代码分析模块302和/或运行时分析模块304。代码分析模块302可被配置成分析与应用可执行代码110相关联的程序代码306,以便从应用可执行代码110提取业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射。然后代码分析模块302可生成指定业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射的逻辑文件130。代码分析模块302还可基于逻辑文件130生成页路由器116和n层web业务逻辑118。
运行时分析模块304可被配置成通过合适计算设备来执行桌面应用102,以便实现桌面应用102的运行时过程。然后运行时分析模块304可分析由计算设备所执行的运行时过程。通过分析计算设备的运行时过程,运行时分析模块304可从应用可执行代码110提取业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射。然后应用可执行代码转换模块124可生成指定业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射的逻辑文件130。运行时分析模块304还可基于逻辑文件130生成页路由器116和n层web业务逻辑118。在一些实施例中,代码分析模块302和运行时分析模块304可被结合使用,以便生成和/或确认逻辑文件130的内容。
在一些实施例中,运行时分析模块304可被进一步配置成在桌面应用102的执行期间验证代码覆盖。例如,运行时分析模块304可将附加程序代码308插入到桌面应用102中,其中附加程序代码308被配置成监视至少代码的相关部分是否已在桌面应用122的执行期间被遍历(也被称为代码覆盖)。运行时分析模块304可输出指示桌面应用102的代码覆盖的百分比。这样,如果用户对代码覆盖不满意,则用户可继续执行桌面应用102直至实现了足够的代码覆盖。当实现了足够的代码覆盖时,用户可终止桌面应用102的执行。
现在参考图4,将描述关于应用数据和状态转换模块126的操作的附加细节。应用数据和状态转换模块126可包括代码分析模块302和/或运行时分析模块304。在一些实施例中,用户可将桌面应用102所存储和检索的数据的变量类型手动输入到数据模型132中。用户还可将跨多个会话持久保存的用户状态手动输入到数据模型132中。在一些其它实施例中,用户可利用如下所述的代码分析模块402和/或运行时分析模块404,以便以自动的方式确定桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态。
代码分析模块402可被配置成分析与应用数据和状态112相关联的程序代码406,以便确定桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态。然后代码分析模块402可生成指定由桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态的数据模型132。代码分析模块302还可基于数据模型132分配具有数据库结构的web数据存储120。
运行时分析模块404可被配置成通过合适计算设备来执行桌面应用102,以便在桌面应用102的执行期间分析数据的生成、存储和/或检索。通过在桌面应用102的执行期间对数据的生成、存储和/或检索进行的分析,运行时分析模块404可确定由桌面应用102所存储和检索的数据的变量类型。运行时分析模块404还可被配置成分析WINDOWS注册表数据、配置文件以及存储关于桌面应用102的用户状态的其它合适的配置数据。通过对WINDOWS注册表数据和/或配置文件的分析,运行时分析模块404可确定跨桌面应用102的多个会话而持久保存的用户状态。然后运行时分析模块404可生成指定由桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态的数据模型132。运行时分析模块404还可基于数据模型132分配具有数据库结构的web数据存储120。在一些实施例中,代码分析模块302和运行时分析模块304可被结合使用,以便生成和/或确认数据模型132的内容。
在一些实施例中,运行时分析模块404可被进一步配置成在执行桌面应用102期间验证代码覆盖。例如,运行时分析模块404可将附加程序代码408插入到桌面应用102中,其中附加程序代码408被配置成至少监视代码的相关部分是否已在桌面应用122的执行期间被遍历。运行时分析模块404可输出指示桌面应用102的代码覆盖的百分比。这样,如果用户对代码覆盖不满意,则用户可继续执行桌面应用102直至已实现了足够的代码覆盖。当足够的代码覆盖已被实现时,用户可终止桌面应用102的执行。
在一些实施例中,运行时分析模块404和/或运行时分析模块304可被进一步配置成验证逻辑文件130和数据模型132之间的关联。具体地,运行时分析模块404和/或运行时分析模块304可验证在数据模型132中指定的每个变量对应于逻辑文件130中的特定业务逻辑。如果在数据模型132中指定的某变量不对应于逻辑文件130中的某业务逻辑,则运行时分析模块404和/或运行时分析模块304可向用户通知错误。
现在参考图5,将描述关于转换系统106的操作的附加细节。具体地,图5是示出了根据一些实施例的用于将桌面应用转换成web应用的方法的流程图。应理解,此处所述的逻辑操作被实现为(1)一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择各种的实现。因此,此处描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、及其任何组合来实现。应该理解,可以执行比附图中示出的和此处所描述的操作更多或更少的操作。这些操作还可以按与此处所描述的操作不同的次序来执行。
在图5中,例程500开始于操作502,其中转换系统106基于桌面应用102的用户界面108生成界面文件128。在一些实施例中,转换系统106可利用代码分析模块202分析与用户界面108相关联的程序代码206,以便确定构成用户界面108的界面组件。在一些其它实施例中,转换系统106还可利用快照分析模块204分析用户界面108的快照208,以确定构成用户界面108的界面组件。
在又一些实施例中,转换系统106可利用代码分析模块202和快照分析模块204的组合。当转换系统106确定构成用户界面108的界面组件时,转换系统106随后可生成指定界面组件的界面文件128。当转换系统106基于桌面应用102的用户界面108生成界面文件128时,例程500前进至操作504。
在操作504处,转换系统106基于桌面应用102的应用可执行代码110生成逻辑文件130。在一些实施例中,转换系统106可利用代码分析模块302。代码分析模块302可分析与应用可执行代码110相关联的程序代码306,以从应用可执行代码110提取业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射。在一些其它实施例中,转换系统106可利用运行时分析模块304。运行时分析模块304可通过合适的计算设备来执行桌面应用102,以实现桌面应用102的运行时过程。然后运行时分析模块304可分析运行时过程,以从应用可执行代码110提取业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射。
在又一些实施例中,转换系统106可利用代码分析模块302和运行时分析模块304的组合。当转换系统106提取相关逻辑信息时,转换系统106随后可从应用可执行代码110生成指定业务逻辑以及业务逻辑与用户界面108的各种状态之间的映射的逻辑文件130。当转换系统106基于桌面应用102的应用可执行代码110生成逻辑文件130时,例程500前进至操作506。
在操作506处,转换系统106基于桌面应用102的用户界面108生成数据模型132。在一些实施例中,转换系统106可利用代码分析模块402。代码分析模块402可分析与应用数据和状态112相关联的程序代码406,以确定桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态。在一些其它实施例中,转换系统106可利用运行时分析模块404。运行时分析模块404可在桌面应用102的执行期间分析数据的生成、存储和/或检索,以确定由桌面应用102所存储和检索的数据的变量类型。运行时分析模块404还可分析配置数据,以确定跨桌面应用102的多个会话而持久保存的用户状态。
在又一些实施例中,转换系统106可利用代码分析模块402和运行时分析模块404的组合。当转换系统106确定由桌面应用102所存储和检索的数据的变量类型以及跨桌面应用102的多个会话而持久保存的用户状态时,转换系统106随后可生成指定变量类型和用户状态的数据模型132。当转换系统106基于桌面应用102的应用数据和状态112生成数据模型132时,例程500前进至操作508。
在操作508处,转换系统106可基于界面文件128、逻辑文件130以及数据模型132生成web应用104。用户界面转换模块122可基于界面文件128生成web界面114。应用可执行代码转换模块124可基于逻辑文件130生成页路由器116和n层web业务逻辑118。应用数据和状态转换模块126可基于数据模型132分配web数据存储120。当转换系统106基于界面文件128、逻辑文件130以及数据模型132生成web应用104时,例程500可以要么重复(例如周期性地、连续地或者需要时按照需求)要么终止。
现在转向图6,示出了展示出计算机600的示例计算机架构图。计算机600的示例可包括转换系统106。计算机600可以包括中央处理单元602、系统存储器604、以及将存储器604耦合到602的系统总线606。计算机600还可包括用于存储一个或多个程序模块614和数据存储616的大容量存储设备612。程序模块614的示例可包括用户界面转换模块122、应用可执行代码转换模块124、以及应用数据和状态转换模块126。数据存储616可存储界面文件128、逻辑文件130和数据模型132。大容量存储设备612可以通过连接到总线606的大容量存储控制器(未示出)来连接到处理单元602。大容量存储设备612以及其相关联的计算机存储介质可以为计算机600提供非易失性存储。虽然此处包含的计算机存储介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域技术人员应该了解,计算机存储介质可以是可由计算机600访问的任何可用的计算机存储介质。
作为示例而非限制,计算机存储介质可以包括以用于非瞬时地存储诸如计算机存储指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机存储介质包括,但不仅限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光或其他光学存储,磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用来存储所需信息并可由计算机600访问的任何其他介质。
根据各实施例,计算机600可以使用通过网络618至远程计算机的逻辑连接在联网环境中操作。计算机600可通过连接至总线606的网络接口单元610来连接到网络618。应当理解,网络接口单元610还可以被用来连接到其它类型的网络和远程计算机系统。计算机600还可包括输入/输出控制器608,用于接收和处理来自多个输入设备(未示出)的输入,该多个输入设备包括键盘、鼠标、话筒和游戏控制器。类似地,输入/输出控制器608也可以向显示器或其他类型的输出设备(未示出)提供输出。
总线606可以使处理单元602能够从大容量存储设备612或其他计算机存储介质读取或向其写入代码和/或数据。计算机存储介质可以表示使用任何合适的技术来实现的存储元件形式的装置,这些技术包括但不限于半导体、磁性材料、光学等等。计算机存储介质可以表示存储器组件,而无论是被表征为RAM、ROM、闪存还是其他类型的技术。计算机存储介质还可以表示次级存储,无论是被实现成硬盘驱动器还是以其他方式来实现。硬盘驱动器实现可以被表征为固态,或者可以包括存储磁编码信息的旋转介质。
程序模块614可以包括软件指令,这些指令在被加载到处理单元602中并被执行时致使计算机600将桌面应用转换成web应用。程序模块614还可以提供计算机600可以使用在整个本说明书中所讨论的组件、流程以及数据结构来参与到整个系统或操作环境内的各种工具或技术。例如,程序模块614可实现用于将桌面应用转换成web应用的界面。
一般而言,程序模块614在被加载到处理单元602中并被执行时,可以将处理单元602和整个计算机600从通用计算系统变换成被定制成将桌面应用转换成web应用的专用计算系统。处理单元602可以用任意数量的晶体管或其他分立电路元件(它们可以单独或共同采取任意数量的状态)来构造。更具体而言,处理单元602可以响应于程序模块614中所包含的可执行指令,作为有限状态机来操作。这些计算机可执行指令可以通过指定处理单元602如何在各状态之间进行转换来变换处理单元602,由此变换构成处理单元602的晶体管或其他分立硬件元件。
对程序模块614进行编码还可以变换计算机存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这些因素的示例包括但不限于:用于实现计算机存储介质的技术、计算机存储介质被表征为主存储还是次级存储等等。例如,如果计算机存储介质被实现为基于半导体的存储器,则当在其中编码软件时,程序模块614可以变换半导体存储器的物理状态。例如,程序模块614可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。
作为另一示例,计算机存储介质可以使用磁性或光学技术来实现。在这样的实现中,程序模块614可以在该软件在磁性或光学介质中编码时变换该磁性或光学介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于这一讨论。
基于上述内容,应该理解,此处呈现了用于将桌面应用转换成web应用的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

Claims (10)

1.一种用于将桌面应用(102)转换成web应用(104)的计算机实现的方法,所述方法包括计算机实现的操作,所述操作用于:
通过具有处理器(602)和存储器(604)的计算机(600)基于所述桌面应用(102)的用户界面(108)生成界面文件(128);
通过所述计算机(600)基于所述桌面应用(102)的应用可执行代码(110)生成逻辑文件(130);
通过所述计算机(600)基于所述桌面应用(102)的应用数据和状态(112)生成数据模型(132);以及
通过所述计算机(600)基于所述界面文件(128)、所述逻辑文件(130)和所述数据模型(132)生成所述web应用(104)。
2.如权利要求1所述的计算机实现的方法,其特征在于,基于所述桌面应用的用户界面生成界面文件包括:
通过所述计算机接收与所述桌面应用相关联的程序代码;
通过所述计算机分析所述程序代码以确定所述用户界面中的界面组件;以及
通过所述计算机生成指定所述界面组件的界面文件。
3.如权利要求1所述的计算机实现的方法,其特征在于,基于所述桌面应用的用户界面生成界面文件包括:
通过所述计算机接收所述用户界面的快照,所述快照包括各种状态中的所述用户界面的屏幕捕捉;
通过所述计算机分析所述快照以确定所述用户界面中的界面元素;以及
通过所述计算机生成指定所述界面元素的所述界面文件。
4.如权利要求1所述的计算机实现的方法,其特征在于,基于所述桌面应用的应用可执行代码生成逻辑文件包括:
通过所述计算机接收与所述桌面应用相关联的程序代码;
通过所述计算机分析所述程序代码以从所述应用可执行代码提取业务逻辑以及所述业务逻辑与所述用户界面的各种状态之间的映射;以及
通过所述计算机生成指定所述业务逻辑以及所述业务逻辑与所述用户界面的各种状态之间的映射的所述逻辑文件。
5.如权利要求1所述的计算机实现的方法,其特征在于,基于所述桌面应用的应用可执行代码生成逻辑文件包括:
通过所述计算机执行所述桌面应用以实现所述桌面应用的运行时过程;
在所述桌面应用的执行期间通过所述计算机分析所述运行时过程,以从所述应用可执行代码提取业务逻辑以及所述业务逻辑与所述用户界面的各种状态之间的映射;
通过所述计算机生成指定所述业务逻辑以及所述业务逻辑与所述用户界面的各种状态之间的映射的所述逻辑文件;
通过所述计算机验证在所述桌面应用的执行期间的代码覆盖;以及
当所述代码覆盖达到最小代码覆盖阈值时,通过所述计算机终止所述桌面应用的执行。
6.如权利要求1所述的计算机实现的方法,其特征在于,基于所述桌面应用的应用数据和状态生成数据模型包括:
通过所述计算机接收与所述桌面应用相关联的程序代码;
通过所述计算机分析所述程序代码以确定由所述桌面应用存储和检索的数据的变量类型以及跨所述桌面应用的多个会话而持久保存的用户状态;以及
通过所述计算机生成指定由所述桌面应用存储和检索的数据的所述变量类型以及跨所述桌面应用的多个会话而持久保存的所述用户状态的所述数据模型。
7.如权利要求1所述的计算机实现的方法,其特征在于,基于所述界面文件、所述逻辑文件和所述数据模型生成所述web应用包括:通过所述计算机基于所述数据模型分配具有数据库结构的web数据存储;以及基于所述桌面应用的应用数据和状态生成数据模型包括:
通过所述计算机执行所述桌面应用以实现所述桌面应用的运行时过程;
在所述桌面应用的执行期间通过所述计算机分析所述运行时过程,以确定由所述桌面应用存储和检索的数据的变量类型以及跨所述桌面应用的多个会话而持久保存的用户状态;以及
通过所述计算机生成指定由所述桌面应用存储和检索的数据的所述变量类型以及跨所述桌面应用的多个会话而持久保存的所述用户状态的所述数据模型。
8.如权利要求1所述的计算机实现的方法,其特征在于,还包括计算机实现的操作以用于:
通过所述计算机确定在所述数据模型中指定的每个变量是否对应于在所述逻辑文件中的特定业务逻辑;
响应于确定在所述数据模型中指定的至少一个变量不对应于所述逻辑文件中的所述特定业务逻辑,通过所述计算机输出错误消息。
9.一种计算机系统(600),包括:
处理器(602);
在通信上耦合到所述处理器(602)的存储器(604);以及
程序模块,所述程序模块是在所述处理器(602)中从所述存储器(604)执行的,所述程序模块在被所述处理器(602)执行时,使得所述计算机系统(600)通过以下操作来将桌面应用(102)转换到web应用(104):
基于所述桌面应用(102)的用户界面(108)生成界面文件(128),
基于所述桌面应用(102)的应用可执行代码(110)生成逻辑文件(130),
基于所述桌面应用(102)的应用数据和状态(112)生成数据模型(132),以及
基于所述界面文件(128)、所述逻辑文件(130)以及所述数据模型(132)生成所述web应用(104),所述web应用(104)包括web界面(114)、页路由器(116)、n层web业务逻辑(118)以及web数据存储(120)。
10.一种其上存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在由计算机(600)执行时使得所述计算机(600):
通过所述计算机(600)基于桌面应用(102)的用户界面(108)生成界面文件(128),所述界面文件(128)指定所述桌面应用(102)中的界面组件;
通过所述计算机(600)基于所述桌面应用的应用可执行代码生成逻辑文件(130),所述逻辑文件(130)指定所述桌面应用(102)中的业务逻辑以及所述业务逻辑与所述用户界面(108)的各种状态之间的映射;
通过所述计算机(600)基于所述桌面应用(102)的应用数据和状态(112)生成数据模型(132),所述数据模型(132)指定由所述桌面应用(102)存储和检索的数据的变量类型以及跨所述桌面应用(102)的多个会话而持久保存的用户状态;
通过所述计算机(600)基于所述界面文件(128)生成web应用(104)的web界面(114);
通过所述计算机(600)基于所述逻辑文件(130)生成所述web应用的页路由器(116)和n层web业务逻辑(118);以及
通过所述计算机(600)基于所述数据模型(132)分配所述web应用(104)的web数据存储(120)。
CN201110441919.0A 2010-12-27 2011-12-26 将桌面应用转换成web应用 Active CN102591647B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/978,672 US9176742B2 (en) 2010-12-27 2010-12-27 Converting desktop applications to web applications
US12/978,672 2010-12-27

Publications (2)

Publication Number Publication Date
CN102591647A true CN102591647A (zh) 2012-07-18
CN102591647B CN102591647B (zh) 2016-01-20

Family

ID=46318572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110441919.0A Active CN102591647B (zh) 2010-12-27 2011-12-26 将桌面应用转换成web应用

Country Status (6)

Country Link
US (2) US9176742B2 (zh)
EP (1) EP2659358A4 (zh)
CN (1) CN102591647B (zh)
HK (1) HK1172422A1 (zh)
TW (2) TWI552075B (zh)
WO (1) WO2012092117A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106687946A (zh) * 2014-10-10 2017-05-17 斯凯孚公司 生成用于应用的移动网络浏览器视图
CN107077484A (zh) * 2014-10-10 2017-08-18 斯凯孚公司 生成应用的网络浏览器视图
WO2018228211A1 (zh) * 2017-06-13 2018-12-20 腾讯科技(深圳)有限公司 应用转换方法、装置及设备

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683370B2 (en) 2010-03-01 2014-03-25 Dundas Data Visualization, Inc. Systems and methods for generating data visualization dashboards
CA2754520A1 (en) 2010-10-07 2012-04-07 Dundas Data Visualization, Inc. Systems and methods for dashboard image generation
US9176742B2 (en) * 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications
CA2737148A1 (en) 2011-01-06 2012-07-06 Dundas Data Visualization, Inc. Methods and systems for providing a discussion thread to key performance indicator information
CA2767494A1 (en) * 2011-05-02 2012-11-02 Dundas Data Visualization, Inc. Systems and methods for remote dashboard image generation
EP2951679A4 (en) 2013-01-31 2016-08-10 Hewlett Packard Entpr Dev Lp DETERMINING THE TRANSFERABILITY OF A CALCULATION RESOURCE TO A COMPUTER CLOUD ENVIRONMENT
US9971317B2 (en) 2014-03-26 2018-05-15 Rockwell Automation Technologies, Inc. Cloud-level industrial controller loop gain tuning based on industrial application type
US10208947B2 (en) 2014-03-26 2019-02-19 Rockwell Automation Technologies, Inc. Cloud-level analytics for boiler networks
US9886012B2 (en) * 2014-03-26 2018-02-06 Rockwell Automation Technologies, Inc. Component factory for human-machine interface migration to a cloud platform
US9825949B2 (en) 2014-03-26 2017-11-21 Rockwell Automation Technologies, Inc. Device authentication to facilitate secure cloud management of industrial data
US10095202B2 (en) 2014-03-26 2018-10-09 Rockwell Automation Technologies, Inc. Multiple controllers configuration management interface for system connectivity
US9614963B2 (en) 2014-03-26 2017-04-04 Rockwell Automation Technologies, Inc. Cloud-based global alarm annunciation system for industrial systems
US9843617B2 (en) 2014-03-26 2017-12-12 Rockwell Automation Technologies, Inc. Cloud manifest configuration management system
US9838476B2 (en) 2014-03-26 2017-12-05 Rockwell Automation Technologies, Inc. On-premise data collection and ingestion using industrial cloud agents
US9866635B2 (en) 2014-03-26 2018-01-09 Rockwell Automation Technologies, Inc. Unified data ingestion adapter for migration of industrial data to a cloud platform
CA2893912C (en) 2014-06-09 2022-10-18 Dundas Data Visualization, Inc. Systems and methods for optimizing data analysis
JP6002302B2 (ja) * 2014-09-17 2016-10-05 キヤノンマーケティングジャパン株式会社 Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
US20160266878A1 (en) * 2015-03-10 2016-09-15 Ca, Inc. Automatic wireframing using images
CN105354073B (zh) * 2015-10-27 2018-11-06 中通服公众信息产业股份有限公司 一种基于安卓系统的单机应用网络化方法和系统
US10764255B2 (en) 2016-09-21 2020-09-01 Rockwell Automation Technologies, Inc. Secure command execution from a cloud monitoring system to a remote cloud agent
US11327473B2 (en) 2017-07-11 2022-05-10 Rockwell Automation Technologies, Inc. Dynamically reconfigurable data collection agent for fracking pump asset
US10482063B2 (en) 2017-08-14 2019-11-19 Rockwell Automation Technologies, Inc. Modular control manifest generator for cloud automation
US10416660B2 (en) 2017-08-31 2019-09-17 Rockwell Automation Technologies, Inc. Discrete manufacturing hybrid cloud solution architecture
US11853752B2 (en) 2019-09-30 2023-12-26 EMC IP Holding Company LLC Migration of web applications between different web application frameworks
US10997269B1 (en) 2019-11-04 2021-05-04 EMC IP Holding Company LLC Using web application components with different web application frameworks in a web application
US11144431B2 (en) 2020-01-30 2021-10-12 EMC IP Holding Company LLC Configuration-based code construct for restriction checks in component of a web application
US10949331B1 (en) * 2020-01-30 2021-03-16 EMC IP Holding Company LLC Integration testing of web applications utilizing dynamically generated automation identifiers
US11586770B2 (en) 2020-01-30 2023-02-21 EMC IP Holding Company LLC Access restriction for portions of a web application
CN111708523B (zh) * 2020-05-20 2023-10-13 广州太平洋电脑信息咨询有限公司 一种基于NodeJs的开发方法、系统及存储介质
US11163622B1 (en) 2020-09-18 2021-11-02 Dell Products L.P. Web application implementing a shared set of identifiers for handling links to web application plugins
US11960864B2 (en) * 2021-09-27 2024-04-16 Microsoft Technology Licensing, Llc. Creating applications and templates based on different types of input content

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447937A (zh) * 2000-08-14 2003-10-08 国际商业机器公司 从因特网访问传统应用程序
CN1487446A (zh) * 2003-06-24 2004-04-07 深圳市华磊网络技术有限公司 服务器端应用为浏览器客户端提供用户界面的方法
US7194729B2 (en) * 1998-09-01 2007-03-20 Microsoft Corporation Dynamic conversion of object-oriented programs to tag-based procedural code
CN101208660A (zh) * 2005-06-27 2008-06-25 奎朴兹有限公司 代码转换

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225264B2 (en) * 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US7730169B1 (en) * 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7028305B2 (en) 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US7165239B2 (en) * 2001-07-10 2007-01-16 Microsoft Corporation Application program interface for network software platform
US7281202B2 (en) * 2003-06-19 2007-10-09 Microsoft Corporation Framework for creating modular web applications
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US7493592B2 (en) * 2003-10-24 2009-02-17 Microsoft Corporation Programming interface for a computer platform
US7590743B2 (en) 2003-12-23 2009-09-15 Softricity, Inc. Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process
EP1779245B1 (en) 2004-07-20 2018-06-13 Microsoft Technology Licensing, LLC Method and system for minimizing loss in a computer application
US20060059422A1 (en) 2004-09-16 2006-03-16 Ting-Hu Wu Desktop application implemented with web paradigm
US9009582B2 (en) * 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
CN101378400B (zh) * 2007-08-30 2013-01-30 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
US9454410B2 (en) * 2008-03-04 2016-09-27 Microsoft Technology Licensing, Llc Transparent integration of application components
US20090248737A1 (en) * 2008-03-27 2009-10-01 Microsoft Corporation Computing environment representation
US9003059B2 (en) * 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
US8005851B2 (en) * 2008-05-21 2011-08-23 Microsoft Corporation Streaming virtual disk for virtual applications
US8171118B2 (en) * 2008-06-13 2012-05-01 Microsoft Corporation Application streaming over HTTP
US8024732B2 (en) * 2008-07-28 2011-09-20 Microsoft Corporation State separation for application changes
US9237311B2 (en) 2009-02-06 2016-01-12 At&T Intellectual Property I, Lp Network architecture and method for application deployment
US8413136B2 (en) * 2009-05-08 2013-04-02 Microsoft Corporation Application virtualization
US8676966B2 (en) * 2009-12-28 2014-03-18 International Business Machines Corporation Detecting and monitoring server side states during web application scanning
US8352908B2 (en) * 2010-06-28 2013-01-08 International Business Machines Corporation Multi-modal conversion tool for form-type applications
US20120102103A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Running legacy applications on cloud computing systems without rewriting
US9176742B2 (en) * 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194729B2 (en) * 1998-09-01 2007-03-20 Microsoft Corporation Dynamic conversion of object-oriented programs to tag-based procedural code
CN1447937A (zh) * 2000-08-14 2003-10-08 国际商业机器公司 从因特网访问传统应用程序
CN1487446A (zh) * 2003-06-24 2004-04-07 深圳市华磊网络技术有限公司 服务器端应用为浏览器客户端提供用户界面的方法
CN101208660A (zh) * 2005-06-27 2008-06-25 奎朴兹有限公司 代码转换

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106687946A (zh) * 2014-10-10 2017-05-17 斯凯孚公司 生成用于应用的移动网络浏览器视图
CN107077484A (zh) * 2014-10-10 2017-08-18 斯凯孚公司 生成应用的网络浏览器视图
CN107077484B (zh) * 2014-10-10 2021-05-18 斯凯孚公司 生成应用的网络浏览器视图
WO2018228211A1 (zh) * 2017-06-13 2018-12-20 腾讯科技(深圳)有限公司 应用转换方法、装置及设备

Also Published As

Publication number Publication date
TW201727481A (zh) 2017-08-01
CN102591647B (zh) 2016-01-20
EP2659358A4 (en) 2016-07-27
EP2659358A2 (en) 2013-11-06
TWI552075B (zh) 2016-10-01
US20120166963A1 (en) 2012-06-28
TW201227519A (en) 2012-07-01
WO2012092117A3 (en) 2013-01-17
WO2012092117A2 (en) 2012-07-05
US9176742B2 (en) 2015-11-03
HK1172422A1 (zh) 2013-04-19
US20160026478A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
CN102591647A (zh) 将桌面应用转换成web应用
KR102092722B1 (ko) 실시간 데이터플로우 프로그래밍 언어를 위한 도구 및 방법
US9792354B2 (en) Context aware user interface parts
CN100472434C (zh) 智能ui记录和重放结构
KR101569984B1 (ko) 웹 스크래핑 추출 데이터 설정 방법
CN104823158B (zh) 用于简化的知识工程的方法与系统
TWI536240B (zh) 用戶端應用程式與網頁整合
CN102609403A (zh) 按示例格式化数据
KR20150043333A (ko) 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
WO2017065991A1 (en) Generation of application behaviors
Bashir et al. Big data management and analytics metamodel for IoT-enabled smart buildings
WO2016022137A1 (en) Replicating a web technology
CA3110335C (en) System and method of analysis and generation of navigation schema
US10169478B2 (en) Optimize data exchange for MVC-based web applications
CN101268438A (zh) 数据处理装置
KR101632951B1 (ko) 온라인 학습 콘텐츠로의 변환을 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 및 온라인 학습 콘텐츠로의 변환 방법
CN103782271B (zh) 用于开发和实现门户网站的方法以及相应的计算机程序产品
El-Ramly et al. Legacy systems interaction reengineering
CN100472512C (zh) 文档处理装置和方法
Sauerová Web Browser Recorder
Nguyen Investication, building, and piloting of a low-code system for enterprice development
Vyas et al. Hazard analysis of Unified Modelling Language sequence and state charts using software fault tree analysis
Smith Splunk Developer's Guide
Smith Splunk Developer's Guide

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1172422

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172422

Country of ref document: HK