CN106227553B - 用于描述并执行图形用户界面中的管理任务的数据驱动模式 - Google Patents

用于描述并执行图形用户界面中的管理任务的数据驱动模式 Download PDF

Info

Publication number
CN106227553B
CN106227553B CN201610727064.0A CN201610727064A CN106227553B CN 106227553 B CN106227553 B CN 106227553B CN 201610727064 A CN201610727064 A CN 201610727064A CN 106227553 B CN106227553 B CN 106227553B
Authority
CN
China
Prior art keywords
task
model
modified
gui
page
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.)
Active
Application number
CN201610727064.0A
Other languages
English (en)
Other versions
CN106227553A (zh
Inventor
章勇
S·A·萨特耶和约
刘远
任雍
张发恩
郭艳峰
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106227553A publication Critical patent/CN106227553A/zh
Application granted granted Critical
Publication of CN106227553B publication Critical patent/CN106227553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及用于描述并执行图形用户界面中的管理任务的数据驱动模式。本发明描述用于快速并容易地开发和管理GUI的用户界面(UI)概念模型和数据模型。本文描述的方法和系统允许在UI概念模型中定义一个或多个UI元素。该一个或多个UI元素可进一步引用数据模型中的一个或多个模型对象。该一个或多个模型对象可包括一个或多个任务或一个或多个数据项,该一个或多个任务可各自被映射到用于执行每一任务的一个或多个命令,该一个或多个数据项可各自被映射到用于变换数据的规则或条件。根据各实施例,可通过添加、删除、或修改UI概念模型中的UI元素或通过添加、删除、或修改数据模型中的所引用的模型对象,来容易并高效地修改GUI的图形或功能,从而降低管理和开发成本。

Description

用于描述并执行图形用户界面中的管理任务的数据驱动模式
本申请是申请日为2012年2月14日、申请号为201210032695.2的同名中国发明专利申请的分案申请。
技术领域
本发明涉及用于描述并执行图形用户界面中的管理任务的数据驱动模式。
背景技术
图形用户界面(GUI)的功能和图形效果是基于该GUI的每一页面底层的代码来提供的。此外,GUI的开发和管理(例如,与网站等相关联的界面)可涉及操纵底层代码。结果,添加、移除、或修改网站的功能或图形效果可能需要大量技术经验、时间、以及花费。另外,GUI中可能由于例如由不同技术人员在不同时间所实现的修改等所造成的底层代码变化而产生不一致性。
本发明是针对这一一般环境来作出的。
发明内容
本发明描述用于快速并容易地开发和管理与网站或其他相关联的GUI的用户界面(UI)概念模型和数据模型。具体而言,本文描述的方法和系统允许在UI概念模型中定义一个或多个UI元素。该一个或多个UI元素可进一步引用数据模型中的一个或多个模型对象。该一个或多个模型对象可包括一个或多个管理任务或一个或多个数据项,该一个或多个管理任务可被映射到用于执行这些管理任务的一个或多个命令,该一个或多个数据项可被映射到用于变换数据的一个或多个规则或条件。因此,UI元素可以通过引用一个或多个模型对象来向GUI提供功能。根据各实施方式,随后可通过添加或移除UI元素来容易且高效地将功能添加到GUI或从中移除。此外,对UI元素或所引用的模型对象的修改可容易且高效地造成对GUI上可用的功能的修改。结果,可以显著地降低用于维护GUI的开发和管理成本。
根据各实施方式,提供了存储用于实现一种管理图形用户界面(GUI)的方法的计算机可执行指令的计算机存储介质。该方法包括提供包含模型对象的数据模型和提供描述用于管理GUI的至少一个UI元素的用户界面(UI)概念模型,其中该模型对象包括至少第一任务,该第一任务映射到用于执行该第一任务的第一命令,其中该至少一个UI元素引用该模型对象。此外,该方法包括将该至少一个UI元素添加到该UI概念模型的页面定义并在GUI的对应页面上呈现该至少一个UI元素,其中在呈现该至少一个UI元素时修改与GUI的该对应页面相关联的功能。此外,该方法包括激活该至少一个所呈现的UI元素,其中激活该至少一个所呈现的UI元素包括执行该第一任务。
根据又一些实施方式,提供了一种用于执行一种管理图形用户界面(GUI)的方法的计算机系统。该方法包括提供包含模型对象的数据模型和提供描述用于管理GUI的至少一个UI元素的用户界面(UI)概念模型,其中该模型对象包括至少第一任务,该第一任务映射到用于执行该第一任务的第一命令,其中该至少一个UI元素引用该模型对象。此外,该方法包括将该至少一个UI元素添加到该UI概念模型的页面定义并在GUI的对应页面上呈现该至少一个UI元素,其中在呈现该至少一个UI元素时修改与GUI的该对应页面相关联的功能。此外,该方法包括激活该至少一个所呈现的UI元素,其中激活该至少一个所呈现的UI元素包括执行该第一任务。
根据又一些实施方式,提供了一种用于管理图形用户界面(GUI)的计算机实现的方法。该方法包括提供包含模型对象的数据模型和提供描述用于管理GUI的至少一个UI元素的用户界面(UI)概念模型,其中该模型对象包括至少第一任务,该第一任务映射到用于执行该第一任务的第一命令,其中该至少一个UI元素引用该模型对象。此外,该方法包括将该至少一个UI元素添加到该UI概念模型的页面定义并在GUI的对应页面上呈现该至少一个UI元素,其中在呈现该至少一个UI元素时修改与GUI的该对应页面相关联的功能。此外,该方法包括激活该至少一个所呈现的UI元素,其中激活该至少一个所呈现的UI元素包括执行该第一任务。
通过阅读以下“具体实施方式”并查阅相关联的附图,表征本文描述的系统和方法的这些和其他特征和优点将是显而易见的。其他特征在下文中阐述,并且从该描述中部分地显而易见,或者可通过实践本发明而获知。通过本说明书和权利要求书以及附图中具体指出的结构,将实现和达到本发明技术的好处和特征。
应该理解,以上一般描述和以下详细描述都是示例性和说明性的,并且旨在提供所附权利要求书的进一步解释。
附图说明
图1是用于管理GUI的合适的客户机/服务器计算系统的实施方式的图示。
图2是示出用于实现GUI的管理的一个或多个方面的合适的计算机系统的实施方式的框图。
图3是显示GUI上的单选UI元素和标题组UI元素的实施方式的GUI的图示。
图4是表示用于定义任务和数据项并将该任务或数据项封装在模型对象中的方法的实施方式的流程图。
图5是表示用于提供并选择单独UI元素或组UI元素来管理GUI的方法的实施方式的流程图。
图6是表示用于修改GUI上的UI元素的方法的实施方式的流程图。
图7是表示用于修改数据模型内的模型对象以修改GUI上可用的功能的方法的实施方式的流程图。
具体实施方式
虽然以上介绍并在以下详细描述的方法和用户界面在各种开发和管理应用中是有用的,但本发明将讨论这些技术的用于开发和管理GUI的实现。在UI概念和数据模型的上下文中描述的本发明的技术可适用于与需要简化和直观地创建和管理图形用户界面或网站界面的其他计算机语言一起使用。
本发明描述用于快速并容易地开发和管理与网站或其他相关联的GUI的用户界面(UI)概念模型和数据模型。具体而言,本文描述的方法和系统允许在UI概念模型中定义一个或多个UI元素。该一个或多个UI元素可进一步引用数据模型中的一个或多个模型对象。该一个或多个模型对象可包括一个或多个管理任务或一个或多个数据项,该一个或多个管理任务可被映射到用于执行这些管理任务的一个或多个命令,该一个或多个数据项可被映射到用于变换数据的一个或多个规则或条件。因此,UI元素可以通过引用一个或多个模型对象来向GUI提供功能。根据各实施方式,随后可通过添加或移除UI元素来容易且高效地将功能添加到GUI或从中移除。此外,对UI元素或所引用的模型对象的修改可容易且高效地造成对GUI上可用的功能的修改。结果,可以显著地降低用于维护GUI的开发和管理成本。
图1是用于管理图形用户界面(GUI)的合适的客户机/服务器计算系统的实施方式的图示。
根据本发明的各实施方式,本文公开的方法可以在客户机/服务器计算系统上实现。例如,客户机102和服务器104可包括用于管理GUI的各种计算模块、子模块、组件等。确实,本文描述的功能步骤、操作、方法等可以通过客户机102或服务器104上的硬件和软件的任何合适的组合来进行。
例如,客户机102可包括控制层UI 106。控制层UI 106可以与各种输入和输出设备进行通信以使用户能够与客户机102通信。此外,如以下进一步描述的,控制层UI 106可专用于基于UI概念模型110来向用户呈现GUI。例如,显示模块可被配置成与控制层UI 106进行通信以向用户提供GUI。该GUI可以是交互式显示,例如触摸屏幕或其他,并且可以提供用于接收输入和界面命令操作的各种窗口和元素。或者,可以提供与控制层UI 106进行通信的其他合适手段,例如通过键盘、鼠标、笔、声音输入设备、触摸输入设备、或其他合适的交互式设备。例如,控制层UI 106可以从用户接受与该GUI相关联的命令和其他输入。
除提供用于与用户进行通信的接口之外,控制层UI 106还可以与UI/动作组件108进行通信。例如,UI/动作组件108可以与一个或多个处理器(例如,图2中示出的处理器206)相关联,并且可专用于处理UI概念模型110来将UI元素传递给控制层UI 106或呈现组件112。UI概念模型110可被暴露、加载或以其他方式在客户机102上可用,但也可以存储在或以其他方式在服务器104上可用。例如,可以经由与服务器104相关联的或与其进行通信的开发工具、向导、或其他开发系统来对UI概念模型110内的UI元素进行添加、删除、修改等。
根据各实施方式,UI概念模型可以用标记语言来提供。一般而言,标记语言指定与用于呈现文档或网页的结构和属性有关的指令。常见的标记语言尤其包括标准通用标记语言(SGML)、超文本标记语言(HTML)以及可扩展标记语言(XML)。HTML广泛用作用于显示万维网上的网页的格式化语言之一,并且提供与如何呈现结构化数据有关的标准化的预定义的呈现语义。即,HTML提供用于创建网页的呈现外观的构件块,从而允许嵌入图像、对象、脚本、以及交互式元素并提供用于呈现标题、段落、列表、引用、超链接等的文本呈现语义以在网页上进行呈现。XML也广泛用于在网页上显示文档和其他结构化数据,但不提供预定义的呈现语义。即,XML也提供用于创建网页的呈现外观的构件块,但它因允许自定义呈现语义而提供了超过HTML的灵活性。
根据各实施方式,UI概念模型110可以用XML来提供。即,UI概念模型110可包括根据GUI的每一页面的XML标记和内容的页面定义。此外,UI概念模型110中的每一页面定义可包括一个或多个UI元素,并且每一UI元素可以根据XML标记和内容来在UI概念模型110中定义。每一UI元素可由多个页面定义引用以提升GUI的编码时的一致性和效率。根据一些实施方式,常见UI元素可以作为XML宏来提供。根据各实施方式,可以通过简单地添加对UI元素的引用或通过将该UI元素的XML定义剪切并粘贴到页面定义中来容易地添加该UI元素到页面定义。在将UI元素添加到页面定义后,该UI元素可以呈现在GUI的对应页面上,如参考图3进一步描述的那样。根据附加实施方式,可以通过简单地改变UI概念模型110中的UI元素的XML定义来修改该UI元素。如此,根据一些实施方式,对经修改的UI元素的所有引用可以自动地更新,而无需对GUI的每一页重新编码,或者根据其他实施方式,该经修改的UI元素可被容易地复制并粘贴到UI概念模型110内的每一适当的页面定义。
根据又一些实施方式,可以提供XML模式以用于UI元素的验证。即,根据各实施方式,XML可以定义UI元素的视觉呈现和任何相关联的功能、内容等来显示在GUI上。此外,在特定UI元素允许输入的情况下(例如,URL地址),可以对照该XML模式来验证该输入以确保该输入的格式、语义等符合有效的格式(例如,有效的URL格式和语义)。或者,可以对照该UI元素的XML模式中指定的诸如最大长度、范围等约束来验证该输入。
如上所述,除了与控制层UI 106进行通信并处理UI概念模型110之外,UI/动作组件108可以与呈现组件112进行通信。根据各实施方式,呈现组件112可以从UI/动作组件108接收与一个或多个UI元素有关的信息(例如,基于UI概念模型110),并可以呈现(或创建)视觉控件、事件处理器、相关联的数据源,并可以将该一个或多个UI元素的控件绑定到GUI。根据一些实施方式,呈现组件112可以使用MICROSOFT 控件来在GUI上呈现该一个或多个UI元素的视觉表示。根据替换实施方式,呈现组件112可以使用用户嵌入的控件来在GUI上呈现该一个或多个UI元素的视觉表示。根据本文描述的各实施方式,“呈现”指的是在GUI上创建和呈现一个或多个UI元素以供用户查看。
根据附加实施方式,呈现组件112可以与系统存储器(例如,图2中示出的系统存储器204)、可移动存储(例如,图2中示出的可移动存储208)、不可移动存储(例如,图2中示出的不可移动存储210)等进行通信以实现GUI的上述方面。这样的系统存储器或存储可包括例如本地文件114或临时存储116。
呈现组件112还可以经由网络108(例如,内联网、互联网等)与映射引擎122(例如,服务器104)进行通信。即,基于用户输入,呈现组件112可以从映射引擎122检索经变换的数据、得自所执行的任务的数据等。
除经由网络118与呈现组件112进行通信之外,映射引擎122还可以访问数据模型120。根据一些实施方式,映射引擎122和数据模型120可以驻留在服务器104上。然而,根据一些实施方式,映射引擎122和数据模型120可以暴露、加载或以其他方式在客户机102上可用。数据模型120可以描述管理任务和数据项。即,数据模型120可以将管理任务映射到用于执行该管理任务的命令。根据本文描述的各实施方式,“管理任务”指的是在管理GUI时有用的任何功能操作,如获取、移动、复制等。此外,词语“任务”和“管理任务”在本文中可以互换使用。数据模型120还可将数据项映射到用于变换数据的规则或条件。根据本文描述的各实施方式,“数据项”可以指任何数据集合(例如,列表、策略、值等)且“用于变换数据的规则或条件”可以指对该数据集合的任何操作,例如合成、转换、格式化、提取等。根据各实施方式,数据模型120可以将被映射到命令的管理任务封装到模型对象中,并可以将被映射到规则或条件的数据项封装到模型对象中。根据又一些实施方式,数据模型120可以将一组一个或多个管理任务或数据项或其组合封装到模型对象中。
根据各实施方式,数据模型120可以按照例如XML等标记语言来提供,如以上参考UI概念模型110所描述的。在各实施方式中,模型对象指的是XML定义的管理任务或数据项的逻辑编组。模型对象可由XML开始标签(start)和XML结束标签(end)来“封装”。根据至少一些实施方式,模型对象的XML开始和结束标签可以是描述性的(例如,指定特定管理任务、数据项或其组合)。
根据各实施方式,数据模型120可以进一步与提供用于执行管理任务的命令的命令外壳124进行通信。命令外壳124可以按照MICROSOFT 来提供。即,数据模型120可以将管理任务映射到用于执行该管理任务的特定POWERSHELL cmdlet(读作“commandlet”)。例如,POWERSHELL cmdlet可尤其包括诸如“Get-ChildItem(获取子项目)”、“Get-Content(获取内容)”、“Copy-Item(复制项目)”、“Move-Item(移动项目)”、“Remove-Item(移除项目)”、“Rename-Item(重命名项目)”、“Get-Location(获取位置)”、“Write-Output(写输出)”、“Tee-Object(T对象)”等命令。例如,在从呈现组件112接收到与读、写或执行特定管理任务有关的指示时,映射引擎122可以解释该特定管理任务的数据模型120定义并可以通过与命令外壳124进行通信来在运行时调用用于执行该特定管理任务的命令。此外,映射引擎122可以执行由与该特定管理任务相关联的特定数据项所指定的任何适当的数据变换操作(例如,合成、提取、转换等),并可以提供该经变换的数据作为输入以用于经由命令外壳124调用该特定管理任务。根据一些实施方式,该特定管理任务和该特定数据项可以封装在特定模型对象中。
如可以理解的,所公开的组件和模型不旨在被理解成排他性排列,因为在本发明的范围内可以使用任何数量的类似的合适组件或模型。此外,所公开的组件、引擎以及模型不旨在被理解成必要排列,因为任何数量的所公开的组件或模型可以由其他合适的组件或模型来替换而不背离本发明的精神。所示出的用于开发、管理或呈现GUI的各实施方式只是出于示例的目的来提供的。
图2是示出用于实现GUI的管理的一个或多个方面的合适的计算机系统的实施方式的框图。
图2示出可在其上实现本文公开的各实施方式的示例计算机系统200。诸如图1中示出的客户机102或服务器104等计算机系统200例如具有用于管理与图1中示出的控制层UI 106、UI/动作组件108、呈现组件112、映射引擎122、命令外壳124等相关联的GUI的至少一个处理器206。计算机系统200具有系统存储器204,包括例如易失性存储器和非易失性存储器。例如,UI概念模型110可以存储在客户机(例如,客户机102)或服务器(例如服务器104)上的非易失性存储器中。在其最基本的配置中,计算机系统200在图2中由虚线202示出。根据各实施方式,计算机系统200可包括附加存储(可移动或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图2中通过可移动存储208和不可移动存储210来示出,例如临时存储116。
此处所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器204、可移动存储208和不可移动存储210都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由计算机系统200访问的任何其他介质。任何这样的计算机存储介质都可以是计算机系统200的一部分。计算机系统200还可以具有输入设备214,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备212。上述设备是示例且可以使用其他设备。
此处所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
计算机系统200还可包含允许该设备与其他设备例如经由网络118进行通信的通信连接216。例如,专用控制层UI 106和专用UI/动作组件108可以在客户机102上提供以将GUI呈现给用户。此外,客户机102的各组件(例如呈现组件112)可以经由通信连接216与服务器104进行通信以提供至少一些GUI功能并便于与该GUI进行至少一些用户交互(例如,执行任务并返回结果,返回经变换的数据,验证用户输入等)。
图3是显示GUI上的所呈现的UI元素的实施方式的GUI的图示,所呈现的UI元素包括单选UI元素和标题组UI元素。
图3提供具有一个或多个所呈现的UI元素的GUI 300的示例。例如,图3中示出的GUI 300可由例如控制层UI 106等控制层UI呈现在显示器上。在该示例实施方式中,GUI300是用于设置策略会议的管理员GUI;然而,本发明也适用于其他GUI。根据各实施方式,术语“所呈现的”UI元素指的是在例如GUI 300等GUI上出现(与它在UI概念模型100中是如何描述的相对)的UI元素。根据各实施方式,所呈现的UI元素可尤其包括显示UI元素、单选UI元素、输入UI元素以及标题组UI元素。此外,标题组UI元素可包括显示UI元素、单选UI元素、输入UI元素以及其他标题组UI元素的任何组合。
如上文提供的,根据各实施方式,本文描述的所呈现的UI元素可包括显示UI元素。显示UI元素可包括非交互式UI元素,如文本显示元素(例如,文本框、标题等)、图形显示元素(图像、横幅、边界、符号、图形等)以及用于呈现在GUI上的任何其他合适的显示UI元素。
根据附加实施方式,所呈现的UI元素可包括输入UI元素。输入UI元素可包括描述性标记,并可以提供用于接受与该描述性标记相对应的直接用户输入的输入域或其他合适的输入窗口。例如,输入UI元素302提供用于接受与描述性标记“公司”有关的用户输入的输入域。根据一些实施方式,输入UI元素可以用默认输入或默认设置来进行配置,输入可被自动地导入到输入域。根据又一些实施方式,输入UI元素可以引用XML模式,并且如上所述,在用户输入时,可以对照该XML模式验证该输入。输入UI元素还可包括用于接受用户输入的各种UI控制元素(例如,按钮、选项卡等)。例如,用户可以通过激活或以其他方式选择GUI上的按钮或选项卡来提供输入,并从而可以传达查看GUI的另选页面、查看附加可用信息、对提示进行响应等的愿望。
根据附加实施方式,所呈现的UI元素可包括单选UI元素。单选UI元素可以与具有描述性标记和用于选择与该描述性标记相关联的一个或多个选项的下拉菜单、单选框等的元素相对应。例如,单选UI元素304具有描述性标记“允许匿名参与者”和用于选择包括“允许”、“不允许”以及“按用户实施”的对应选项的单选框。作为对比,单选UI元素306具有描述性标记“全局会议策略”和用于选择与全局会议策略相对应的选项(“默认策略”被示为默认选择)的下拉菜单。根据各实施方式,单选UI元素可以与任何合适的描述性标记相关联并与同该描述性标记相对应的任何合适的一组可选选项相关联。
根据附加实施方式,所呈现的UI元素可包括标题组UI元素。标题组UI元素可以与共同标题下的显示UI元素、单选UI元素、直接输入UI元素以及其他标题组UI元素的任何组合相对应。例如,单选UI元素304和单选UI元素306归入处于共同标题“全局设置”下的标题组UI元素308。作为对比,标题组UI元素310包括处于共同标题“web会议”下的输入和标题组UI元素的组合。具体而言,标题组UI元素310包括输入UI元素302、输入元素312以及标题组UI元素314。标题组UI元素314进一步包括输入UI元素316和318。
根据各实施方式,所呈现的UI元素可以基于例如UI概念模型110等UI概念模型中定义或引用的指令来显示在例如GUI 300等GUI上。例如,根据各实施方式,UI元素可以由标记描述(例如,“允许匿名”、“全局设置”或其缩写)在UI概念模型110中进行定义。此外,在单选UI元素的情况下,该UI元素可由一种选择样式(例如,单选框或下拉菜单)来定义。根据又一些实施方式,UI元素可以绑定到各种列表和值(例如,策略列表、当前策略等)。UI元素还可由UI页面的各种全局属性来定义,如样式类(例如,“平面按钮”)、布局(例如,垂直或水平)、页面标记(例如,会议策略页面)、数据源(例如,会议设置)、组标题标记(例如,全局设置)等。根据又一些实施方式,UI元素可以引用例如数据模型120等数据模型中定义的一个或多个管理任务或数据项。
例如,以下是与GUI的会议策略页面上的标题组UI元素308内的所呈现的单选UI元素304相对应的UI元素的XML定义的示例(单选UI元素306的XML定义未示出):
即,根据各实施方式,基于UI概念模型中提供的定义,可为每一UI元素建立关系的分层结构。例如,与单选UI元素相关联的样式(例如,单选框)、对管理任务的引用(例如,“获取”当前策略)、对数据项的引用(例如,对数据进行提取、重新格式化)等可以编组在单选标记之下。单选UI元素还可以编组在标题组标记之下。标题组UI元素可以编组在另一标题组标记之下。标题组UI元素或单选UI元素可以编组在UI页面标记(例如,会议策略页面)之下,以此类推。根据各实施方式,与一个或多个UI元素相关联的一个或多个分层编组可以被复制到在该UI概念模型中的一页面的定义中或从页面的定义中删除。例如,根据各实施方式,管理员或其他用户可以请求对GUI进行添加、删除或改变。随后可以访问该UI概念模型并且可以在XML定义中进行所请求的改变。例如,可将UI元素的定义复制并粘贴到另一页面,可将UI元素的定义从页面中删除,可以修改UI元素的定义,等等。因此,可以在不进行重新编码的情况下修改GUI,极大地简化了对GUI的开发和管理,降低了成本,并且提升了GUI的一致性和稳定性,提高了用户满意度。根据又一些实施方式,可以对数据模型中的管理任务或数据项的定义进行修改。此后,可以自动地更新对经修改的管理任务或数据项的引用。如此,本发明允许容易且高效地添加、移除、或修改一个或多个UI元素,这提升了在开发、管理以及维护GUI时的一致性、效率和简单性。
应当明白,本文提供的具体示例只是出于说明的目的,并且根据本申请的精神,UI元素可以由任何数量的合适属性来定义。
图4是表示用于定义任务和(可任选的)数据项并将该任务或数据项封装在模型对象中的方法的实施方式的流程图。
可以明白,本文描述的具体步骤和方法不是排他的,并且本领域技术人员可以理解,本文描述的各步骤的具体次序不旨在限制该方法,例如,各步骤可以按不同的次序执行,可以执行附加步骤,并且在不背离本发明的精神的情况下可以排除所公开的步骤。
根据一些实施方式,图4的方法中的一些或全部可优选地在例如服务器104等服务器上实现。根据替换实施方式,图4的方法中的一些或全部可在例如客户机102等客户机上实现。此外,图4的方法可以参考定义例如数据模型120等数据模型来执行。根据一些实施方式,图4的方法可以在开发工具的帮助下进行,例如,向导、拖放功能、剪切并粘贴功能、或任何其他合适的开发或管理技术。
图4的方法自开始操作402开始。开始操作402可以指用于在数据模型内定义管理任务或数据项的方法的任何合适的启动。例如,开始操作402可以涉及访问或启动一个或多个开发工具。根据各实施方式,管理任务可以不是数据模型内定义的第一管理任务。根据又一些实施方式,定义管理任务或数据项的方法可以使用例如XML等标记语言来执行。
在定义任务操作404,例如经由任务标记使用XML来在数据模型内描述或以其他方式标识任务。此外,该任务可以与其他任务相关联或可被定义成数据模型内的一组其他任务。例如,“重启”任务可被定义成“停止”任务和“开始”任务。或者,“获取所有用户”任务可以与“获取活动用户”任务和“获取非活动用户”任务相关联。
在关联命令操作406,在数据模型中可以将任务关联到或映射到用于执行任务的一个或多个命令。例如,如上所述,该任务可被映射到用于执行该任务的命令外壳。在该示例中,虽然该命令外壳(例如,命令外壳124)被假定为由MICROSOFT POWERSHEL来提供,但其他命令外壳也处于本发明的范围内。例如,“获取所有用户”任务可被映射到POWERSHEL命令,如“Get-UserItem(获取用户项)”(或用于从数据库返回所有用户的任何其他适当的命令)。在用户输入时,例如,映射引擎(例如,映射引擎122)可以解释该任务的数据模型定义,并可以调用关于例如命令外壳124等POWERSHELL组件上的适当命令。此后,例如,映射引擎可以将该任务的结果返回到呈现组件(例如,呈现组件112)。
在可任选的定义数据项操作408(由虚线标识),可以在数据模型内任选地定义或描述数据项。例如,可以描述用于将用户输入转换成特定格式的数据项。例如,在用户输入涉及日期时,可以定义用于将该日期转换成计算机可读格式(例如,二进制)的数据项。或者,可以定义用于将该日期转换成标准格式(例如,从dd/mm/yy(日/月/年)到dd/mm/yyyy(日/月/年))的数据项。确实,如本文描述的,可以定义用于对GUI的实现有帮助或有必要的任何数据操作的数据项。
在可任选的关联规则操作410(由虚线标识),可以将数据项关联到或映射到用于转换数据模型中的数据的一个或多个规则或条件。规则或条件可以指适用于执行数据项所指定的数据转换的任何合适的操作。例如,可将数据项映射到用于将数据转换成计算机可读形式(例如,二进制)或标准化格式(例如,从dd/mm/yy到dd/mm/yyyy)的操作。确实,可将用于转换数据的任何合适操作(即,涉及任何规则或条件)映射到数据项。
在可任选的关联任务操作412(由虚线标识),可以将数据项关联到或映射到数据模型中的一个或多个任务。根据各实施方式,数据项可以定义使得经转换的数据被用作一个或多个相关联的任务的输入的数据操作。例如,用户可以输入日期,并且数据项可以将该日期转换成标准化格式、二进制格式等。此后,该标准化(或二进制)日期被用作该任务的输入。根据该示例,该任务可以涉及将在该标准化(或二进制)日期之前数据库中的用户标识为“传统用户”。根据其他实施方式,数据项可以定义任何数据操作,以使得所得到的经转换的数据可被用作一个或多个相关联的任务的输入。
在封装操作414,可将该任务封装在模型对象中。根据各实施方式,该任务可由标识该任务的描述性XML开始和结束标签来进行封装。根据附加实施方式,该任务可以与附加任务一起封装。例如,参考上述“重启”任务,标识该重启任务的XML开始和结束标签可以将标识停止任务的XML开始和结束标签与标识开始任务的XML开始和结束标签一起封装。根据附加实施方式,该任务可以与一个或多个数据项一起封装。在这种情况下,该一个或多个数据项可以定义用于用作该任务的输入的数据操作。例如,标识该任务的XML开始和结束标签可以封装标识该数据项的XML开始和结束标签。如此,模型对象可以与封装的任务、封装的数据项、包括一个或多个封装的附加任务的封装的任务、或包括一个或多个封装的数据项的封装的任务、或其任何组合相对应。根据各实施方式,模型项可以在功能上独立,使得它可以作为来自UI概念模型中的UI元素的引用而被添加或移除。根据附加实施方式,如参考图6进一步描述的,可以修改数据模型中的模型对象并且可以自动更新UI概念模型中的引用该模型对象的一个或多个UI元素。
在结束操作416,图4的方法可以经由任何合适的手段来终止。例如,结束操作416可以涉及关闭一个或多个开发工具。根据各实施方式,结束操作416决不旨在阻止在某一将来时刻再次进行开始操作402。
图5是表示用于向GUI的页面添加或从中删除单独UI元素或组UI元素的方法的实施方式的流程图。
可以明白,本文描述的具体步骤和方法不是排他的,并且本领域技术人员可以理解,本文描述的各步骤的具体次序不旨在限制该方法,例如,各步骤可以按不同的次序执行,可以执行附加步骤,并且在不背离本发明的精神的情况下可以排除所公开的步骤。
图5的方法500自开始操作502开始。开始操作502可以指用于提供对UI概念模型(例如,UI概念模型110)中的单独UI元素(例如,单选UI元素、输入UI元素、或显示UI元素之一)和组UI元素(例如,标题组UI元素)的访问的方法的任何合适的启动。根据各实施方式,UI概念模型可以经由开发工具来访问或以其他方式与例如服务器104等服务器进行通信。根据各实施方式,单独和组UI元素可以用可经由开发工具或以其他方式对诸如开发人员等用户可用的例如XML等标记语言来提供。
在提供单独UI元素操作504,可以例如通过显示给用户来提供单独UI元素。根据一些实施方式,可以通过显示单独UI元素作为诸如概念模型110等UI概念模型内的一个或多个其他页面的页面定义的一部分来提供该单独UI元素。根据替换实施方式,该单独UI元素可以经由使用例如开发向导创建该单独UI元素来提供。根据又一些实施方式,该单独UI元素可以作为XML宏来提供(例如,常见单独UI元素)。根据又一些实施方式,可以创建并存储单独UI元素以使得它可被重用。根据各实施方式,用户(例如,管理员)可以请求将与该单独UI元素相关联的功能添加到由该开发人员管理的GUI或从中删除该功能。
如上所述,单独UI元素可以是例如单选UI元素、输入UI元素、或显示UI元素。此外,该单独UI元素可以引用数据模型中的至少一个模型对象。根据参考图5描述的各实施方式,模型对象可包括封装的任务、封装的数据项、包括一个或多个封装的附加任务的封装的任务、或包括一个或多个封装的数据项的封装的任务、或其任何组合。此外,模型对象中包括的每一任务可被映射到用于执行该任务的一个或多个命令,并且模型对象中包括的每一数据项可被映射到用于转换数据的一个或多个规则或条件。
在提供组UI元素操作506,可以例如通过显示给用户来提供组UI元素。根据一些实施方式,组UI元素可以作为UI概念模型内的一个或多个其他页面的页面定义的一部分来提供。根据替换实施方式,组UI元素可以经由使用例如开发向导创建该组UI元素来提供。根据又一些实施方式,组UI元素可以作为XML宏来提供(例如,常见组UI元素)。根据各实施方式,用户(例如,管理员)可以请求将与该组UI元素相关联的功能添加到由开发人员管理的GUI或从中删除该功能。
如上所述,组UI元素(或标题组UI元素)是包括多个单独UI元素的UI元素。即,根据各实施方式,组UI元素可包括单选UI元素、显示UI元素或输入UI元素的任何组合。如上所述,这些单独UI元素中的每一个可以引用数据模型中的至少一个模型对象。如此,每一组UI元素可以引用数据模型中的多个模型对象。
在判定操作508,开发人员可以确定是否将单独UI元素添加到UI概念模型中的页面定义(或从中删除)。如果开发人员确定添加(或删除)该单独UI元素,则该方法可进行至操作512。或者,如果开发人员确定不添加(或删除)该单独UI元素,则该方法可进行至判定操作510。
在判定操作510,作出是否将组UI元素添加到UI概念模型中的页面定义(或从中删除)的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定添加(或删除)该组UI元素,则该方法可进行至操作514。或者,如果确定不添加(或删除)该组UI元素,则该方法可进行至判定操作516。
在添加(或删除)操作512,可将单独UI元素添加到UI概念模型中的页面的定义中(或从中删除)。在一实施方式中,可以通过例如复制并粘贴或拖放方法来将该单独UI元素(或对该单独UI元素的引用)添加到页面定义。此后,根据各实施方式,可以在GUI的页面上呈现所添加的单独UI元素。例如,根据各实施方式,与UI/动作组件和呈现组件进行通信的控制层UI可以在GUI的页面上呈现(或创建)该所添加的单独UI元素的视觉控件、事件处理器、相关联的数据源等。根据一些实施方式,可以使用MICROSOFT控件来在GUI上呈现所添加的单独UI元素的视觉表示。根据替换实施方式,可以使用用户嵌入的控件来在GUI上呈现所添加的单独UI元素的视觉表示。
此外,根据各实施方式,可以将与所添加的单独UI元素所引用的至少一个模型对象相关联的功能添加到GUI的页面。此后,当在GUI的页面上激活所添加的单独UI元素时,控制层UI(例如,控制层UI 106)可以与UI/动作组件(例如,UI/动作组件108)进行通信,其中UI/动作组件可以与呈现组件(例如,呈现组件112)进行通信。呈现组件可以经由网络(例如,网络118)与映射引擎(例如,映射引擎122)进行通信。映射引擎可以解释包括所引用的模型对象的数据模型(例如,数据模型120)。映射引擎随后可以调用与所引用的模型对象相关联的任何任务命令或数据操作。映射引擎可以将与所引用的模型对象相关联的任务或数据项的结果返回到呈现组件,呈现组件可以经由UI/动作组件将该结果提供给控制层UI以供在GUI的页面上查看。如此,模型对象可以经由仅仅将单独UI元素复制并粘贴到UI概念模型中的页面定义来向GUI的页面提供功能(例如,经由将任务映射到用于执行该任务的一个或多个命令)或数据转换(例如,经由将数据项映射到用于转换数据的一个或多个规则或条件)。以此方式,可以在不对GUI的页面进行重新编码而通过简单地将单独UI元素(或对该单独UI元素的引用)添加到UI概念模型中的页面定义的情况下将功能添加到该页面。
此外,在另一实施方式中,可以将单独UI元素(或对该单独UI元素的引用)从UI概念模型中的页面定义中删除。如此,根据各实施方式,被删除的单独UI元素可以不呈现在GUI的页面上。此外,与该单独UI元素所引用的至少一个模型对象相关联的功能在GUI的页面上不再可用。如此,该单独UI元素所引用的模型对象所提供的功能(例如,经由将任务映射到用于执行该任务的一个或多个命令)或数据转换(例如,经由将数据项映射到用于转换数据的一个或多个规则或条件)可以经由将该单独UI元素从UI概念模型中的页面定义中删除来从GUI的页面中移除。以此方式,可以在不对GUI的页面进行重新编码而通过简单地将该单独UI元素(或对该单独UI元素的引用)从UI概念模型中的页面定义中删除的情况下将功能从该页面移除。
在添加(或删除)操作514,可将组UI元素添加到UI概念模型中的页面的定义中(或从中删除)。在一实施方式中,可以通过例如复制并粘贴或拖放方法来将该组UI元素(或对该组UI元素的引用)添加到页面定义。此后,根据各实施方式,可以在GUI的页面上呈现所添加的组UI元素。例如,根据各实施方式,与UI/动作组件和呈现组件进行通信的控制层UI可以在GUI的页面上呈现(或创建)与该组UI元素相关联的多个单独UI元素中的每一个的视觉控件、事件处理器、相关联的数据源等。
此外,根据各实施方式,可以将与关联于该组UI元素的多个单独UI元素相关联的功能添加到GUI的页面。即,可以将与该多个单独UI元素所引用的多个模型对象相关联的功能添加到GUI的页面。此后,当在UI页面上激活该组UI元素时,控制层UI可以与UI/动作组件进行通信,UI/动作组件可以与呈现组件进行通信,而呈现组件可以经由网络与映射引擎进行通信。映射引擎可以解释包括所引用的多个模型对象的数据模型。该映射引擎随后可以调用与所引用的多个模型对象相关联的任何任务命令或数据操作。映射引擎随后可以将与所引用的多个模型对象相关联的任务或数据项的结果返回到呈现组件,呈现组件可以经由UI/动作组件将该结果提供给控制层UI以供在GUI的页面上查看。如此,所引用的多个模型对象可以经由仅仅将组UI元素复制并粘贴到UI概念模型中的页面定义来向GUI的页面提供功能(例如,经由将每一任务映射到用于执行该任务的一个或多个命令)或数据转换(例如,经由将每一数据项映射到用于转换数据的一个或多个规则或条件)。以此方式,可以在不对GUI的页面进行重新编码而通过简单地将组UI元素(或对该组UI元素的引用)添加到UI概念模型中的页面定义的情况下将功能添加到该页面。
此外,根据另一实施方式,可以将组UI元素(或对该组UI元素的引用)从UI概念模型中的页面定义中删除。如此,根据各实施方式,被删除的组UI元素可以不呈现在GUI的页面上。此外,与关联于该组UI元素的多个单独UI元素所引用的多个模型对象相关联的功能可以从GUI的页面中删除。如此,所引用的多个模型对象所提供的功能(例如,经由将每一任务映射到用于执行该任务的命令)或数据转换(例如,经由将每一数据项映射到用于转换数据的各规则或条件)可以经由将该组UI元素从UI概念模型中的页面定义中删除来从GUI的页面中移除。以此方式,可以在不对GUI的页面进行重新编码而通过简单地将该组UI元素(或对该组UI元素的引用)从UI概念模型中的页面定义中删除的情况下将功能从该页面移除。
在判定操作516,作出是否对UI概念模型中的页面定义进行更多添加或删除的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定进行更多添加或删除,则该方法可以返回到操作508。或者,如果确定不进行更多添加或删除,则该方法可以进行到结束操作518。
在结束操作518,图5的方法可以经由任何合适的手段来终止。例如,结束操作518可以涉及关闭一个或多个开发工具。根据各实施方式,结束操作518决不旨在阻止在某一将来时刻再次进行开始操作502。
图6是表示用于修改UI概念模型内的UI元素以修改GUI的方法的实施方式的流程图。
可以明白,本文描述的具体步骤和方法不是排他的,并且本领域技术人员可以理解,本文描述的各步骤的具体次序不旨在限制该方法,例如,各步骤可以按不同的次序执行,可以执行附加步骤,并且在不背离本发明的精神的情况下可以排除所公开的步骤。
图6的方法自开始操作602开始。开始操作602与上述开始操作502相对应。
如以上参考操作504描述的,在提供单独UI元素操作604,可以提供单独UI元素。
如以上参考操作506描述的,在提供组UI元素操作606,可以提供组UI元素。
在判定操作608,作出是否修改UI概念模型内的单独UI元素的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定修改该单独UI元素,则该方法可进行至操作612。或者,如果确定不修改该单独UI元素,则该方法可进行至操作610。
在判定操作610,作出是否修改UI概念模型内的组UI元素的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定修改该组UI元素,则该方法可进行至操作614。或者,如果确定不修改该组UI元素,则该方法可进行至操作616。
在修改单独UI元素操作612,可以修改UI概念模型内的该单独UI元素。例如,可以修改用于呈现该单独UI元素的指令。此后,根据各实施方式,可以在GUI的页面上以经修改的形式呈现该经修改的单独UI元素。例如,可以在GUI上修改该经修改的单独UI元素的视觉控件、事件处理器、相关联的数据源等。作为补充或替换,可以添加或删除对与单独UI元素相关联的一个或多个模型对象的引用。如此,根据各实施方式,可以将与该单独UI元素所引用的一个或多个模型对象相关联的功能添加到该单独UI元素或从中删除,从而修改该单独UI元素并造成对GUI的对应修改。根据各实施方式,GUI的一个或多个页面的定义可以引用或包括该单独UI元素。因此,在修改该单独UI元素之后,GUI的一个或多个页面上可用的功能因而可被修改。如此,通过简单地修改UI概念模型中的单独UI元素,可以在不对一个或多个页面中的每一个进行重新编码的情况下修改GUI上的图形或功能。
在修改组UI元素操作614,可以修改UI概念模型内的该组UI元素。例如,可以修改用于呈现该组UI元素的指令。此后,根据各实施方式,可以在GUI的页面上以经修改的形式呈现该经修改的组UI元素。此外,如以上参考操作612所描述的,根据各实施方式,可以修改与该组UI元素相关联的一个或多个单独UI元素。作为补充或替换,可以向该组UI元素添加或从中删除一个或多个单独UI元素。结果,可以向该组UI元素添加或从中删除对与一个或多个单独UI元素相关联的一个或多个模型对象的引用。因此,根据各实施方式,因而可以向该组UI元素添加或从中删除与该一个或多个所引用的模型对象相关联的功能。根据各实施方式,UI概念模型内的一个或多个页面定义可以引用或包括该组UI元素。因此,在修改该组UI元素之后,可以在不对GUI的一个或多个页面中的每一个进行重新编码的情况下修改GUI的该一个或多个页面上可用的图形或功能。
在判定操作616,作出是否对UI概念模型进行更多修改的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定进行更多修改,则该方法可以返回到操作608。或者,如果确定不进行更多修改,则该方法可以进行到结束操作618。
在结束操作618,图6的方法可以经由任何合适的手段来终止。例如,结束操作618可以涉及关闭一个或多个开发工具。根据各实施方式,结束操作618决不旨在阻止在某一将来时刻再次进行开始操作502。
图7是表示用于修改数据模型内的模型对象以修改GUI上可用的功能的方法的实施方式的流程图。
可以明白,本文描述的具体步骤和方法不是排他的,并且本领域技术人员可以理解,本文描述的各步骤的具体次序不旨在限制该方法,例如,各步骤可以按不同的次序执行,可以执行附加步骤,并且在不背离本发明的精神的情况下可以排除所公开的步骤。
图7的方法自开始操作702开始。开始操作702可以指用于提供数据模型(例如,数据模型120)中的模型对象的方法的任何合适的启动。根据各实施方式,该数据模型可以在服务器(例如,服务器104)上访问,服务器104可以经由开发工具或以其他方式提供该数据模型以供修改。根据一些实施方式,该模型对象可以用例如XML等标记语言来在数据模型内提供。根据替换实施方式,该模型对象可以经由与数据模型进行通信的开发工具来提供,以使得标记语言自身对用户不可见。
在提供模型对象操作704,可以提供一个或多个模型对象以管理GUI。根据一些实施方式,该一个或多个模型对象可以作为数据模型的一部分来提供。根据替换实施方式,该一个或多个模型对象可以经由使用例如开发向导创建该一个或多个模型对象来提供。根据又一些实施方式,该一个或多个模型对象可以作为XML宏来提供(例如,常见模型对象)。根据又一些实施方式,可以创建并存储一个或多个模型对象以使得它们可被重用。例如,根据各实施方式,用户(例如,管理员)可以请求添加、删除或修改与一个或多个模型对象相关联的功能以修改由该开发人员管理的GUI。如上所述,模型对象可以包括封装的任务、封装的数据项、包括一个或多个封装的附加任务的封装的任务、或包括一个或多个封装的数据项的封装的任务、或其任何组合。此外,模型对象中包括的每一任务可被映射到用于执行该任务的一个或多个命令,并且模型对象中包括的每一数据项可被映射到用于转换数据的一个或多个规则或条件。
在选择模型对象操作706,可以经由例如与开发工具的通信来选择模型对象。例如,可以访问该模型对象的XML定义。根据替换实施方式,可以经由任何合适的手段经由与服务器(例如,服务器104)或客户机(例如,客户机102)上的任何合适的模块或组件的通信来选择或访问该模型对象。根据各实施方式,可以访问存储在服务器上的数据模型中的该模型对象。
在修改模型对象操作708,可以修改数据模型内的模型对象。根据一实施方式,可以修改与该模型对象相关联的一个或多个任务或一个或多个数据项。即,根据各实施方式,可以修改任务到用于执行该任务的命令的映射。例如,该任务可被映射到用于执行该任务的替换命令、用于执行该任务的附加命令、用于执行该任务的更新的命令,等等。根据其他实施方式,可以修改数据项到用于转换数据的一个或多个规则或条件的映射。例如,数据项可被映射到附加规则或条件、更新的规则或条件,等等。
根据另一实施方式,可以修改模型对象内的关联。即,根据各实施方式,可以通过将模型对象与一个或多个附加任务或数据项进行关联或通过将该模型对象与一个或多个替换任务或数据项进行关联来修改该模型对象。根据又一些实施方式,可以从模型对象删除一个或多个任务或数据项。确实,根据本文描述的各实施方式,可在本发明的精神内进行对模型对象的任何合适的修改。在修改了模型对象后,解释经修改的模型对象的映射引擎可以调用不同的一组任务命令或数据转换操作。因此,与执行该经修改的模型对象相关联的结果也可是不同的。
在造成GUI修改操作710,对模型对象的修改可以造成对GUI上可用的功能的修改。例如,如上所述,UI元素可以引用该经修改的模型对象。因此,当在GUI上激活该UI元素时,UI/动作组件可以与呈现组件进行通信,呈现组件可以经由网络与映射引擎进行通信。映射引擎可以解释所引用的经修改的模型对象。如上所述,该经修改的模型对象可以与不同的一组任务命令或数据转换操作相关联。如此,映射引擎可以返回与先前所引用的模型对象的结果不同的所引用的经修改的模型对象的结果。如此,当UI元素激活时,该经修改的模型对象可以向GUI提供经修改的功能。确实,通过修改数据模型上的模型对象,可以自动地更新UI概念模型中的引用该模型对象的所有UI元素。以此方式,可以在不进行重新编码而通过仅仅修改UI概念模型中的一个或多个UI元素所引用的模型对象来修改GUI上的功能。即,在呈现引用经修改的模型对象的UI元素时,可以在GUI上提供经修改的功能。
在判定操作712,作出是否对数据模型中的模型对象进行更多修改的判定。在各实施方式中,该判定基于通过用户界面接收到的输入。如果确定进行更多修改,则该方法可以返回到操作706。或者,如果确定不进行更多修改,则该方法可以进行到结束操作714。
在结束操作714处,图7的方法可以经由任何合适的手段来终止。例如,结束操作714可以涉及关闭一个或多个开发工具。根据各实施方式,结束操作714决不旨在阻止在某一将来时刻再次进行开始操作702。
显然,本文描述的系统和方法很好地适用于达到上述目的和优点以及其中固有的优点。本领域技术人员将认识到本说明书内的方法和系统可以用多种方式来实现,并且因此不受上述例示的实施方式和示例的限制。换言之,由作为硬件和软件的各种组合的单个或多个组件所执行的功能元素和单独功能可以在客户机或服务器级分布在各软件应用程序之间。就此,本文描述的不同实施方式的任何数量的特征可被组合成单个实施方式,并且具有比本文描述的全部特征更少或更多特征的替换实施方式是可能的。
尽管出于本发明的目的描述了各实施方式,但可以做出落入本发明的范围内的各种改变和修改。可以作出本领域技术人员容易想到的并且涵盖在所附权利要求书限定的本发明的精神内的多个其他改变。

Claims (20)

1.一种计算机系统,包括:
至少一个处理器;以及
至少一个存储器,其通信地耦合到所述至少一个处理器并且包括计算机可读指令,所述计算机可读指令在被所述至少一个处理器执行时执行管理图形用户界面(GUI)的方法,所述方法包括:
提供模型对象,所述模型对象至少包括映射到第一命令的第一任务,所述第一命令用于执行所述第一任务;
提供用于管理所述GUI的UI元素,其中,所述UI元素在UI概念模型中引用所述模型对象;
将对所述UI元素的第一引用添加到所述UI概念模型的第一页面定义;
将对所述UI元素的第二引用添加到所述UI概念模型的第二页面定义;
接收在所述UI概念模型中对所述UI元素的修改;以及
在所述GUI的第一对应页面和第二对应页面上自动地修改经修改的UI元素的呈现,而不接收所述第一页面定义或所述第二页面定义的重新编码。
2.如权利要求1所述的计算机系统,还包括:响应于接收到经修改的UI元素的经修改的呈现的激活,执行所述第一任务。
3.如权利要求1所述的计算机系统,其中,在呈现经修改的UI元素时,与所述GUI的所述第一对应页面和所述第二对应页面相关联的功能被修改。
4.如权利要求1所述的计算机系统,其中,所述模型对象还包括映射到第二命令的第二任务,所述第二命令用于执行所述第二任务。
5.如权利要求4所述的计算机系统,还包括:响应于接收到经修改的UI元素的经修改的呈现的激活,执行所述第一任务和所述第二任务。
6.如权利要求1所述的计算机系统,其中,所述模型对象还包括具有用于变换数据的规则和条件的数据项。
7.如权利要求6所述的计算机系统,还包括响应于接收到经修改的UI元素的经修改的呈现的激活:
基于所述数据项来变换数据;以及
使用经变换的数据作为输入来执行所述第一任务。
8.如权利要求1所述的计算机系统,其中,所述模型对象是用标记语言来定义的。
9.如权利要求8所述的计算机系统,其中,所述标记语言是可扩展标记语言(XML)。
10.如权利要求1所述的计算机系统,其中,所述UI元素还定义用于管理所述GUI的至少一个视觉控件。
11.一种用于管理图形用户界面(GUI)的计算机实现的方法,所述方法包括:
提供模型对象,所述模型对象至少包括映射到第一命令的第一任务,所述第一命令用于执行所述第一任务;
提供用于管理所述GUI的UI元素,其中,所述UI元素在UI概念模型中引用所述模型对象;
将对所述UI元素的第一引用添加到所述UI概念模型的第一页面定义;
将对所述UI元素的第二引用添加到所述UI概念模型的第二页面定义;
接收在所述UI概念模型中对所述UI元素的修改;以及
在所述GUI的第一对应页面和第二对应页面上自动地修改经修改的UI元素的呈现,而不接收所述第一页面定义或所述第二页面定义的重新编码。
12.如权利要求11所述的计算机实现的方法,还包括:响应于接收到经修改的UI元素的经修改的呈现的激活,执行所述第一任务。
13.如权利要求11所述的计算机实现的方法,其中,在呈现经修改的UI元素时,与所述GUI的所述第一对应页面和所述第二对应页面相关联的功能被修改。
14.如权利要求11所述的计算机实现的方法,其中,所述模型对象还包括映射到第二命令的第二任务,所述第二命令用于执行所述第二任务。
15.如权利要求14所述的计算机实现的方法,还包括:响应于接收到经修改的UI元素的经修改的呈现的激活,执行所述第一任务和所述第二任务。
16.如权利要求11所述的计算机实现的方法,其中,所述模型对象还包括具有用于变换数据的规则和条件的数据项。
17.如权利要求16所述的计算机实现的方法,还包括响应于接收到经修改的UI元素的经修改的呈现的激活:
基于所述数据项来变换数据;以及
使用经变换的数据作为输入来执行所述第一任务。
18.一种计算机存储器,其存储计算机可读指令,所述计算机可读指令在被至少一个处理器执行时使得所述处理器进行以下操作:
提供模型对象,所述模型对象至少包括映射到第一命令的第一任务,所述第一命令用于执行所述第一任务;
提供用于管理GUI的UI元素,其中,所述UI元素在UI概念模型中引用所述模型对象;
将对所述UI元素的第一引用添加到所述UI概念模型的第一页面定义;
将对所述UI元素的第二引用添加到所述UI概念模型的第二页面定义;
接收在所述UI概念模型中对所述UI元素的修改;以及
在所述GUI的第一对应页面和第二对应页面上自动地修改经修改的UI元素的呈现,而不接收所述第一页面定义或所述第二页面定义的重新编码。
19.如权利要求18所述的计算机存储器,所述计算机可读指令还使得所述处理器进行以下操作:响应于接收到经修改的UI元素的经修改的呈现的激活,执行所述第一任务。
20.如权利要求18所述的计算机存储器,其中,在呈现经修改的UI元素时,与所述GUI的所述第一对应页面和所述第二对应页面相关联的功能被修改。
CN201610727064.0A 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式 Active CN106227553B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/028,050 US9141403B2 (en) 2011-02-15 2011-02-15 Data-driven schema for describing and executing management tasks in a graphical user interface
US13/028,050 2011-02-15
CN201210032695.2A CN102693127B (zh) 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201210032695.2A Division CN102693127B (zh) 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式

Publications (2)

Publication Number Publication Date
CN106227553A CN106227553A (zh) 2016-12-14
CN106227553B true CN106227553B (zh) 2019-10-01

Family

ID=46637878

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210032695.2A Active CN102693127B (zh) 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式
CN201610727064.0A Active CN106227553B (zh) 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201210032695.2A Active CN102693127B (zh) 2011-02-15 2012-02-14 用于描述并执行图形用户界面中的管理任务的数据驱动模式

Country Status (2)

Country Link
US (3) US9141403B2 (zh)
CN (2) CN102693127B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141403B2 (en) 2011-02-15 2015-09-22 Microsoft Technology Licensing, Llc Data-driven schema for describing and executing management tasks in a graphical user interface
US9996322B2 (en) * 2012-12-22 2018-06-12 Oracle International Corporation Dynamically generated user interface
US9424558B2 (en) * 2013-10-10 2016-08-23 Facebook, Inc. Positioning of components in a user interface
CN107003801B (zh) * 2014-10-30 2020-10-09 艾玛迪斯简易股份公司 控制图形用户界面
US10496925B2 (en) * 2015-11-10 2019-12-03 Impetus Technologies, Inc. System and method for visualizing data analytics models
US20180164970A1 (en) * 2016-12-14 2018-06-14 Rf Digital Corporation Automated optimization of user interfaces based on user habits
AU2019206533B2 (en) 2018-01-11 2023-11-23 FG Innovation Company Limited Update apparatus and method for on-demand system information in wireless communications
US11487501B2 (en) * 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
CN111290995B (zh) * 2018-12-07 2023-08-25 北京字节跳动网络技术有限公司 资源管理方法和装置
CN112988155B (zh) * 2021-05-17 2021-08-31 成都数联铭品科技有限公司 基于数据模型驱动多种软件系统界面变化的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684034A (zh) * 2004-04-13 2005-10-19 微软公司 用以执行命令绑定的数据绑定机制的应用
CN1704900A (zh) * 2004-06-03 2005-12-07 微软公司 基于具有完全灵活性的自动化生成用户界面的方法和装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550971A (en) * 1993-06-30 1996-08-27 U S West Technologies, Inc. Method and system for generating a user interface adaptable to various database management systems
US6167534A (en) 1995-11-24 2000-12-26 Rational Software Corporation Load test system and method
US5754760A (en) 1996-05-30 1998-05-19 Integrity Qa Software, Inc. Automatic software testing tool
US6668354B1 (en) 1999-01-05 2003-12-23 International Business Machines Corporation Automatic display script and style sheet generation
IL132916A (en) 1999-11-14 2004-02-08 Mcafee Inc Method and system for intercepting an application program interface
US7003781B1 (en) 2000-05-05 2006-02-21 Bristol Technology Inc. Method and apparatus for correlation of events in a distributed multi-system computing environment
US6941521B2 (en) * 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US7346634B2 (en) 2003-06-23 2008-03-18 Microsoft Corporation Application configuration change log
US7155706B2 (en) 2003-10-24 2006-12-26 Microsoft Corporation Administrative tool environment
US20050138646A1 (en) 2003-12-18 2005-06-23 International Business Machines Corporation Method and system to create and access an object on a computing system
US7779036B2 (en) 2004-02-19 2010-08-17 Oracle International Corporation Integration functionality for a test tool for application programming interfaces
US7694271B2 (en) * 2004-02-26 2010-04-06 International Business Machines Corporation Rendering GUI widgets with generic look and feel
US20060048136A1 (en) 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7721268B2 (en) 2004-10-01 2010-05-18 Microsoft Corporation Method and system for a call stack capture
US7716647B2 (en) 2004-10-01 2010-05-11 Microsoft Corporation Method and system for a system call profiler
US20060136877A1 (en) 2004-12-22 2006-06-22 International Business Machines Corporation Method, system and program product for capturing a semantic level state of a program
US7231210B1 (en) 2004-12-29 2007-06-12 At&T Corp. Method and apparatus for automatically generating call flow test scripts
US7770068B2 (en) 2005-06-01 2010-08-03 Neustar, Inc. Systems and methods for website monitoring and load testing via simulation
US8078588B2 (en) 2005-10-10 2011-12-13 Oracle International Corporation Recoverable execution
US7680767B2 (en) * 2006-03-23 2010-03-16 Microsoft Corporation Mapping architecture with incremental view maintenance
US7958497B1 (en) 2006-06-07 2011-06-07 Replay Solutions, Inc. State synchronization in recording and replaying computer programs
US8020108B1 (en) * 2006-09-29 2011-09-13 Emc Corporation Separation of presentation and business models for common management platform tasks in a storage area network
DE102006048320A1 (de) * 2006-10-05 2008-04-10 Newfrey Llc, Newark Bolzenhalter
US20090049403A1 (en) * 2007-03-09 2009-02-19 Presto Gifto, Inc. Method and system for creating an affiliate item showcase
US7770121B2 (en) * 2007-04-12 2010-08-03 Microsoft Corporation Host controlled user interface
US8401987B2 (en) * 2007-07-17 2013-03-19 International Business Machines Corporation Managing validation models and rules to apply to data sets
US8719772B2 (en) 2007-12-19 2014-05-06 Microsoft Corporation Programming library usage capturing and representation
US20090254881A1 (en) 2008-04-04 2009-10-08 Microsoft Corporation Code generation techniques for administrative tasks
US8533666B2 (en) 2008-10-17 2013-09-10 Microsoft Corporation Interactive design environments to visually model, debug and execute resource oriented programs
KR101862235B1 (ko) * 2009-12-14 2018-05-29 아브 이니티오 테크놀로지 엘엘시 사용자 인터페이스 요소 지정
US20110314370A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Tiered pageview generation for computing devices
US9141403B2 (en) 2011-02-15 2015-09-22 Microsoft Technology Licensing, Llc Data-driven schema for describing and executing management tasks in a graphical user interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684034A (zh) * 2004-04-13 2005-10-19 微软公司 用以执行命令绑定的数据绑定机制的应用
CN1704900A (zh) * 2004-06-03 2005-12-07 微软公司 基于具有完全灵活性的自动化生成用户界面的方法和装置

Also Published As

Publication number Publication date
US9645719B2 (en) 2017-05-09
US9141403B2 (en) 2015-09-22
CN106227553A (zh) 2016-12-14
US20170205982A1 (en) 2017-07-20
CN102693127A (zh) 2012-09-26
US20120210256A1 (en) 2012-08-16
US20150363079A1 (en) 2015-12-17
CN102693127B (zh) 2017-01-18
US10318126B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
CN106227553B (zh) 用于描述并执行图形用户界面中的管理任务的数据驱动模式
US10083242B2 (en) System and method for data-driven web page navigation control
JP6487282B2 (ja) ワークフロー管理システムにおいて実行するためのアプリケーションを開発する方法、及びワークフロー管理システムにおいて実行するためのアプリケーションの生成を支援する装置
US20220215125A1 (en) Viewing, selecting, and triggering a data pipeline to derive a collaborative dataset
CN101484894B (zh) 继承维基页面的维基页面布局的方法
Schwinger et al. A survey on web modeling approaches for ubiquitous web applications
US9021419B2 (en) System and method for supporting intelligent design pattern automation
US20100153150A1 (en) Software for business adaptation catalog modeling
US20060101051A1 (en) Electronic data capture and verification
US20100153149A1 (en) Software for model-based configuration constraint generation
US9052845B2 (en) Unified interface for meta model checking, modifying, and reporting
US20110022943A1 (en) Document object model (dom) application framework
US20110271184A1 (en) Client application and web page integration
US11120200B1 (en) Capturing unstructured information in application pages
US8661356B2 (en) Time application having an intergrated check engine
WO2011118003A1 (ja) ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体
JP2013518321A (ja) パターンベースのユーザインターフェース
Powers et al. Microsoft visual studio 2008 Unleashed
Mulder et al. Towards enterprise-grade tool support for DEMO
KR20130051594A (ko) 웹기반 소프트웨어 생성 방법 및 장치
US20200160273A1 (en) Geolocation web page generation system
Andrunyk et al. Information System for Finding Inclusive Places for People with Disabilities.
CN117193728A (zh) 软件即服务平台的开发方法及装置
Hermida et al. XANUI: a textual platform-independent model for rich user interfaces
Prettyman et al. Interfaces, Platforms, and Three-Tier Programming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant