CN101187869B - 用户接口协作框架 - Google Patents
用户接口协作框架 Download PDFInfo
- Publication number
- CN101187869B CN101187869B CN2007101693125A CN200710169312A CN101187869B CN 101187869 B CN101187869 B CN 101187869B CN 2007101693125 A CN2007101693125 A CN 2007101693125A CN 200710169312 A CN200710169312 A CN 200710169312A CN 101187869 B CN101187869 B CN 101187869B
- Authority
- CN
- China
- Prior art keywords
- user interface
- event
- graphic user
- interface components
- application
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
用户接口(UI)协作系统使得多个应用客户能够在不同环境中协作。系统包括服务器、第一应用接口(API)和第二API,但不限于此。第一API被耦合到服务器,并且与包括第一UI组件的第一应用客户有关。当通过激活第一UI组件的功能来触发事件时,第一API向服务器报告该事件。第二API被耦合到服务器,并且与包括第二UI组件的第二应用客户有关。第二API接收从服务器发送的事件,从而激活第二UI组件。可以包括不止两个应用客户和APT。
Description
技术领域
本发明总体上涉及处理方面的用户接口设计。更具体地说,本发明涉及用于对用户接口组件进行协作开发和测试的处理框架。
背景技术
处理中的用户接口(user interface,UI)一般涉及计算机程序呈现给用户的图形、文字或听觉信息,并且,用户利用控制机构与计算机程序通信。UI一般包括多个UI组件。例如,在图形用户接口(general user interface,GUI)中,UI组件为一组图形元素。图形元素包括按钮、窗口、面板、对话框以及上述元素的组合,但不限于此。当图形元素组合在一起,从而给用户提供特定功能时,图形元素构成一个UI组件。例如,在Word中,UI组件可以是菜单栏、状态栏或书写区。一般情况下,不同的应用程序包括不同的UI组件。
UI组件经常是相互依赖的。在以上的Word的例子中,当用户在书写区中移动光标时,状态栏跟踪光标移动,并且显示光标的当前位置。通过接收来自书写区的消息,将光标移动告知状态栏,状态栏对光标位置进行更新。因此,书写区的操作调用(invoke)状态栏的操作,因此,在书写区与状态栏之间存在相关性。
由于这种相互相关性,对UI组件进行开发和测试通常是复杂且费时的。很难将UI组件分开且并行地开发它们。此外,由于相互相关性,按照惯例,利用相同的编程语言并且在相同的运行环境下设计UI组件,以保证内部组件消息被无差错地传递。这导致了实现UI组件的UI逻辑的复杂性、不灵活性以及不可扩展性。
如果在不同操作系统下、以不同语言写成UI组件,或者,UI组件在不同机器上运行,则很难同时测试这些UI组件。例如,在传统系统中,难以同时测试用不同语言(如Java,C++和.Net)写成的UI组件。相似地,也难以同时测试在不同操作系统(如Windows,Linux和Unix)下开发的UI组件。
发明内容
用户接口(UI)协作系统使得多个应用客户(application client)能够在不同环境中协作。系统包括服务器、第一应用接口(application interface,API)和第二API,但不限于此。第一API被耦合到服务器,并且与包括第一UI组件的第一应用客户有关。当通过激活第一UI组件的功能来触发事件时,第一API向服务器报告该事件。第二API被耦合到服务器,并且与包括第二UI组件的第二应用客户有关。第二API接收从服务器发送的事件,从而激活第二UI组件。可以包括不止两个应用客户和API。
一方面,一种用户接口协作系统的计算机实现方法可以包括:显示多个图形用户接口组件,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件;以及在用户接口协作系统的管理控制台的控制下,对所述图形用户接口组件进行测试。其中,测试可以包括:使第一图形用户接口组件被选择以触发一事件;由服务器从第一应用客户接收该事件并识别依赖于该第一图形用户接口组件的该第二图形用户接口组件;以及由所述服务器将该事件发送到所述第二应用客户,以测试激活所述第二图形用户接口组件。
另一方面,一种用户接口协作系统可以包括:一个或多个显示器,其显示多个图形用户接口组件,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件,该第二图形用户接口组件依赖于该第一图形用户接口组件;管理控制台,其控制对所述图形用户接口组件的测试,其中,所述测试导致第一图形用户接口组件被选择以触发一事件;以及服务器,被耦合到该管理控制台,其中,所述服务器耦合到与第一应用客户有关的第一应用接口,该第一应用接口向所述服务器报告该事件;以及其中,所述服务器还耦合到与第二应用客户有关的第二应用接口,该第二应用接口接收从所述服务器发来的该事件,以测试所述第二图形用户接口组件的激活。
另一方面,一种用户接口协作系统的设备可以包括:用于显示多个图形用户接口组件的装置,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件;以及用于在用户接口协作系统的管理控制台的控制下对所述图形用户接口组件进行测试的装置。其中,用于测试的装置可以包括:用于使第一图形用户接口组件被选择以触发一事件的装置;用于使服务器从第一应用客户接收该事件并识别依赖于该第一图形用户接口组件的该第二图形用户接口组件的装置;以及用于使所述服务器将该事件发送到所述第二应用客户,以测试激活所述第二图形用户接口组件的装置。
根据附图和后面的详细描述,本发明的其他特性将变得更加清楚。
附图说明
通过例子对本发明进行说明,并且,不限于附图中示出的图,在附图中,相同的标号表示相似的要素。
图1示出了显示多个相互依赖的用户接口(UI)组件的图形用户接口(GUI)的例子。
图2示出了按照本发明的实施例的,使UI组件的相互作用协调的用户接口(UI)服务器。
图3为示出了按照本发明的实施例的UI协作系统的框图。
图4为示出了按照本发明的实施例的UI协作系统的操作的流程图。
图5为示出了按照本发明的一个实施例的,独立开发的UI组件的GUI。
图6为示出了两个不同应用的UI组件基本上被同时测试的GUI。
图7为示出了可以用作本发明的实施例的数据处理系统的框图。
具体实施方式
以下对用于用户接口(UI)协作的方法和系统进行描述。在以下描述中,提供大量细节描述以便更透彻地说明本发明的实施例。但对本领域的技术人员来说显而易见,可以在没有这些特殊细节的情况下实践本发明的实施例。在其他情况下,为了避免使本发明的实施例变得模糊,不是详细地,而是以框图的形式示出众所周知的结构和装置。
说明书中对“一个实施例”或“一实施例”的引用,指的是结合该实施例描述的具体特性、结构或性能包括在本发明的至少一个实施例中。在说明书中的不同之处出现的短语“在一个实施例中”,并不都指同一个实施例。
图1为按照本发明实施例的,示出了多个UI组件及其相互依赖性的图形用户接口(GUI)10。GUI 10包括工具栏11、菜单区12、表格13、状态栏14和背景15等UI组件。两个UI组件之间的箭头表示UI组件之间的依赖关系。即,当调用一个UI组件的功能时,将另一个UI组件的功能作为结果进行调用。例如,可以通过在按钮上点击、改变背景、从菜单中选择或其他适当的动作,调用UI组件的功能。如图1所示,在工具栏11、菜单区12、表格13、状态栏14和背景15之间存在多个箭头。因此,需要对开发、测试和执行UI组件11-15进行协调,使得这些UI组件的相互依赖的功能被适当执行。只是出于说明的目的,才示出以上的UI组件,并且,可以包括不同或另外的组件。
图2示出了按照本发明的实施例的,用于使UI组件之间的相互作用协调的UI协作服务器(UI collaboration server,UCS)20。利用UCS 20,可以在不同环境中,独立地并行开发UI组件。术语“不同环境”在这里指的是不同的编程语言、不同的操作系统和/或不同的机器平台。也可以在不同环境中测试和执行UI组件。在所示的例子中,在三个UI应用(UI application)21、22和23中,测试UI组件,每次测试在不同的环境中进行。UI应用21、22和23中的每一个都可以用不同语言写成,在不同操作系统下运行,或者在不同的机器平台上执行。当调用UI应用21的工具栏24时,消息25被发送到UCS20,以将该事件通知服务器。UCS 20对与工具栏24有依赖关系的其他UI组件进行识别。然后,UCS 20在消息26中将该事件传送到UI应用22和23中的被识别的UI组件中的每一个。因此,对所有相互依赖的UI组件来说,UCS20起集中事件处理中心的作用。UI应用21、22和23中的每一个只与UCS 20通信,并且不需要应用之间的通信。因此,UI组件变得耦合松散,但还是通过UCS 20协作无间。再次说明,只是出于说明的目的,才示出以上的UI组件,并且,可以包括不同或另外的组件。
UCS 20允许包括数百或更多相互依赖的UI组件的大规模UI应用在不同环境下基本上被同时测试。例如,应用软件可以具有在上运行的版本和在Linux上运行的另一个版本。传统的系统会要求在平台和Linux平台上开发测试工具,并且因此浪费资源。利用UCS 20,用户可以将版本和Linux版本连接到同一个UCS 20。当测试版本时,Linux版本被自动测试。
图3为示出了UI协作系统300的实施例的框图,其中,UI协作系统300协调UI组件之间的相互作用,如在图2中示出的相互作用。参照图3,系统300包括图2的UCS 20、事件总线310以及一个或多个事件应用接口(application interface,API)。出于说明的目的,示出了三个事件API 321、331和341。多个UI应用客户(322,332,342)与事件API(321,331,341)有关。UI应用客户(322,332,342)中的每一个包括一个或多个UI组件,这些UI组件可以用任何编程语言写成,在任何操作系统下和任何机器平台上开发和执行。例如,UI应用客户322可以用.Net写成,UI应用客户332可以用Java写成,UI应用客户342可以用C++写成。事件API(321,331,341)中的每一个都被写成与其相关UI应用客户(322,332,342)通信并运行。通常,事件API(321,331,341)中的每一个都用与其相关UI应用客户(322,332,342)相同或兼容的语言写成。再次说明,只是出于说明的目的,才示出系统300的组件,并且可以存在其他配置。
UI应用客户(322,332,342)通过事件API(321,331,341)与UCS 20通信。UI应用客户(322,332,342)分别通过相关的事件API(321,331,341),将事件报告给UCS 20,并且接收来自UCS 20的事件通知。事件API(321,331,341)负责与UCS 20通信。利用事件API(321,331,341),UI应用客户(322,332,342)不必知道事件如何以及是否被提供给UCS 20,并且不必知道从何处报告事件。因此,在UI应用客户(322,332,342)中实现UI组件的UI逻辑很简单。UI逻辑也很灵活,这是由于,不论其他UI应用客户(322,332,342)报告什么,每个UI应用客户(322,332,342)都可以被编程为向UCS20报告任何事件、某些事件或不报告事件。此外,系统300可扩展为UCS 20可以与任何数量的UI应用客户中的任何数量的UI组件通信。因此,系统300可以适合于以基本上相同的方式,对任意指定数量(例如,1,100,1000或更多)的UI应用客户进行开发和测试。
事件API(321,331,341)通过事件总线310被耦合到UCS 20。事件总线310包括网络,例如,因特网、企业内部网络、局域网、广域网或者任何合适的公共或专用网络。在事件总线310上的通信遵守网络协议,例如TCP/IP。也可以使用其他协议。事件总线310负责传送事件,并且保证事件被适当地传递到适当的目的地。
当向UCS 20报告事件时,事件API(321,331,341)使用标准消息交换格式。标准消息交换格式可以用可扩展标记语言(extensible markup language,XML)或其他标准语言。因此,当UCS 20接收事件时,UCS在不进行分析(parsing)的情况下,将事件发送到目的地UI组件。
系统300还可以包括通过网络370,例如,因特网、企业内部网络、局域网、广域网或者任何合适的网络连接到UCS的管理控制台350。在一个实施例中,管理控制台350是一个由系统300提供的基于web的工具,用于将消息发送到任何UI应用客户(322,332,342)。利用由管理控制台350提供的web浏览器,用户可以对测试UI应用客户(322,332,342)中的UI组件进行遥控。
事件API(321,331,341)可以分别包括记录与回放(Record-and-Replay,RnR)机构(360A,360B,360C),以允许过去的操作被记录和回放。记录与回放(RnR)机构360A-C记录用于分别测试UI应用客户(322,332,342)的命令序列,并且当重复相同的测试时,回放该命令序列。每当测试相同的功能时,系统管理员不必手动输入相同命令。因此,RnR机构360A-C允许自动测试大规模UI应用客户。
UCS 20可以以独立模式为一个UI应用客户服务,或者,同时为多个UI应用客户服务。在不改变任何代码的情况下,UCS 20可以按照需要,从一种模式切换到另一种模式。在协作模式中,UCS使大量客户机能够并行工作,由此减少开发和测试成本。
UCS 20允许在UI应用客户(322,332,342)之间,通过事件总线310进行信息共享。共享的信息包括数据(例如,文本、语音、应用等)和事件(例如,菜单上的点击、改变背景等),但不限于此。因此,用户可以用UCS 20开发利用UCS的数据共享功能的net会议(net meeting)以及web会议(webconference)。此外,利用UCS 20的事件共享功能,用户可以使UI组件的依赖性减到最小,并且构成易于开发、维护和扩展的应用。
UI应用客户(322,332,342)可以驻留在同一个机器或多个机器上。UCS20可以驻留在任何驻留了UI应用客户(322,332,342)的机器上,或者,UCS20可以驻留在不同的机器上。在系统300的整个寿命周期期间,包括开发、测试和运行时间,都可以使用UCS 20。在系统300的整个寿命周期期间交换的信息都用相同的格式。对于运行时间操作,不需要添加新信息。注意,对配置300的描述只是出于说明的目的。可以存在其他功能。例如,本说明书始终描述的技术可以被应用于对等网络配置,可以包括或不包括服务器。
图4为示出了由UI协作系统,例如图3的UI协作系统300,进行的操作的实施例的流程图。注意,可以由可以包括软件、硬件或者二者的组合的处理逻辑进行图4所示的处理。在框41,在UI应用客户中,事件被触发。在测试系统、系统的运行时间或者对系统的寿命周期进行其他开发或操作期间,通过激活UI应用客户中的UI组件,引起事件。在框42,利用标准消息交换格式,通过事件总线310,将事件以事件消息的形式发送到UCS 20。由与报告事件的UI应用客户相关的事件API发送事件消息。在框43,UCS 20接收事件消息,并且将事件消息发送到在事件总线310上的、关心该事件的其他应用客户。在发生事件之前,将关心该事件的应用客户告诉UCS 20。应用客户可以关心任何事件或者不关心任何事件。当以标准消息交换格式报告事件时,UCS 20不对事件进行分析。在框44,其他UI组件接收事件消息,并且,响应于该事件,激活与报告的事件有关的功能。因此,UI应用客户可以被独立并行开发,并且基本上被同时测试。可以在测试期间或者在运行时间进行上述操作。也可以进行另外的操作。
UI协作系统300允许UI组件被并行独立开发。图5为示出了按照本发明的一个实施例的独立开发的UI组件的GUI。GUI示出了包括工具栏51、菜单52、柱形图53、饼状图54和表格55等UI组件的窗口50。如右侧的53A-55A所示,UI组件51-55是松散耦合的,并且在分开的UI应用客户中被并行开发。每个UI应用客户53A-55A可以使用不同的编程语言、在不同的操作系统下运行,并且/或者在不同的平台上执行。UI应用客户53A-55A不直接相互通信。相反,它们通过事件总线将事件报告给UCS,例如图3中示出的UCS 20和事件总线310。如果在其他依赖的UI组件之前开发一个UI组件,则即使在不存在其他依赖的UI组件的情况下,该UI组件也将运行开且被测试。
UI协作系统300还允许多个UI组件基本上被同时测试。图6为示出了按照本发明的一个实施例的基本上同时测试两个应用客户61和62的GUI。在应用客户61中,从表格63中选择BOC(Bank of China,中国银行)。选择BOC触发了一个事件,它使应用客户62中的实体列表64处于高亮。这是由于表格63和64为相互依赖的UI组件。当选择表格63被调用时,自动测试使实体列表64高亮。应该理解,以上的操作仅出于说明的目的。表格63的功能可以与不止一个其他应用客户中的UI组件相互依赖。因此,当表格63的功能被激活时,其他相互依赖的应用客户的功能被自动激活。UI应用客户61和62中的每一个可以使用不同的编程语言、在不同的操作系统下运行,并且/或者,在不同的平台上执行。自动激活这些相互依赖的功能允许不同环境中的大量应用基本上被同时测试,并且由此极大提高了测试效率。
图7为可以与本发明的一个实施例一起使用的数字处理系统701的框图。例如,系统701可以用作图3的UI协作系统300。
注意,尽管图7示出了计算机系统的各种部件,但是,不是要代表使部件相互连接的任何具体结构和方式,这是由于这些细节与本发明关系不大。还应该理解,也可以将部件较少的网络计算机、手持计算机、移动电话和其他数据处理系统或者部件较多的外部设备与本发明一起使用。
如图7所示,作为数据处理系统的一种形式的系统701包括被耦合到一个或多个微处理器803、ROM 807、易失性RAM 805和非易失性存储器806的总线或数据互连802。如图7的例子所示,可以是例如PowerPC处理器或者Intel Pentium处理器的微处理器803被耦合到高速缓冲存储器804。总线802将各种这样的部件相互连接在一起,并且,还将这些部件803、807、805和806相互连接到显示控制器和显示装置808以及输入/输出(I/O)装置810,输入/输出(I/O)装置810可以是鼠标、键盘、调制解调器、网络接口、打印机以及本领域众所周知的其他设备。
通常,输入/输出装置810通过输入/输出控制器809耦合到系统。易失性RAM 805一般被实现为需要连续供电,以便对存储器中的数据进行刷新或保持的动态RAM(DRAM)。非易失性存储器806一般是即使在脱离电源之后仍然保持数据的磁性硬盘驱动器、磁光盘驱动器、光盘驱动器、DVD RAM或其他类型的存储器系统。通常,尽管不要求,非易失性存储器806也可以是随机存取存储器。
尽管图7示出了非易失性存储器为被直接耦合到数据处理系统中的其余部件的本地器件,但是,本发明可以使用远离系统的非易失性存储器,如通过诸如调制解调器和以太网接口之类的网络接口耦合到数据处理系统的网络存储装置。如本领域众所周知的,总线802可以包括通过各种桥、控制器和/或适配器相互连接的一条或多条总线。在一个实施例中,I/O控制器809包括用于控制USB(Universal Serial Bus,通用串行总线)外部设备的USB适配器。或者,I/O控制器809可以包括用于控制FireWire装置的IEEE-1394适配器,也被称为FireWire适配器。
因此,这里已经对用户接口(UI)协作系统进行了描述。可以用逻辑电路如专用逻辑电路或者用执行程序代码指令的微控制器或其他形式的处理核心,实现以上描述的部分。可以用程序代码如机器可执行指令执行以上讨论讲解的这些过程,其中,机器可执行指令使机器执行这些指令,以完成某些功能。在本说明书中,“机器”可以是将中间形式(或“抽象”)指令转换为处理器专用指令的机器(例如,抽象执行环境如“虚拟机”(例如,Java VirtualMachine(Java虚拟机)、翻译机、通用语言运行环境(Common LanguageRuntime)、高级语言虚拟机等),和/或布置在半导体芯片上的,被设计为执行指令的电子电路(例如,用晶体管实现的“逻辑电路”),如通用处理器和/或专用处理器。还可以在不执行程序代码的情况下,由被设计为完成处理(或部分处理)的(替换机器或与机器结合的)电子电路完成通过以上讨论讲解的处理。
相信,可以按照由各种软件开发框架(例如,微软公司的.NET,Mono,Java,Oracle Corporation的Fusion等)支持的各种面向对象的或非面向对象的计算机编程语言(例如,Java,C#,VB,Python,C,C++,J#,APL,Cobol,ABAP,Fortran,Pascal,Perl等),以源码级(source level)程序代码,描述通过以上讨论讲解的处理。源码级程序代码可以被转换为中间形式的,抽象执行环境(例如,Java Virtual Machine,Common Language Runtime,高级语言虚拟机、翻译机等)可理解的程序代码(如Java字节代码,Microsoft IntermediateLanguage等),或者,转换为以特殊处理器为目标的形式更特殊的程序代码。
制造品可以被用于存储程序代码。存储程序代码的制造品可以被体现为一个或多个存储器(例如,一个或多个闪存存储器、随机存取存储器(静态、动态或其他))、光盘、CD-ROM、DVD ROM、EPROM、EEPROM、磁卡或光卡、或者适合于存储电子指令的其他类型的机器可读介质,但不限于此。也可以通过体现在传播介质(例如,通过通信链接(例如,网络连接))中的数据信号,将程序代码从远程计算机(例如服务器)下载到请求计算机(例如客户机)。
在以上说明书中,已经参照本发明的特定典型实施例,对本发明的实施例进行了描述。很明显,在不脱离如后面的权利要求陈述的、本发明的更宽的精神和范围的情况下,可以对其进行各种修改。因此,应该从说明的角度而不是限制的角度看待说明书和附图。
版权标记
本专利文献的公开部分包含受版权保护的内容。当专利文献或专利公开出现在专利局和版权局的专利文件或记录上时,版权所有者不反对复制其中的任何一个,然而在别的方面,无论如何,保留所有版权权利。
Claims (20)
1.一种用于用户接口协作系统的方法,该方法包括:
显示多个图形用户接口组件,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件;以及
在用户接口协作系统的管理控制台的控制下,对所述图形用户接口组件进行测试,该测试包括:
使第一图形用户接口组件被选择以触发一事件;
由服务器从第一应用客户接收该事件并识别依赖于该第一图形用户接口组件的该第二图形用户接口组件;以及
由所述服务器将该事件发送到所述第二应用客户,以测试激活所述第二图形用户接口组件。
2.如权利要求1所述的方法,其中,由服务器接收事件包括:
由服务器通过为所述第一应用客户设计的应用接口接收事件,所述应用接口使用标准消息交换格式报告事件。
3.如权利要求1所述的方法,其中,所述第一图形用户接口组件和所述第二图形用户接口组件在两个不同的显示窗口中并行地显示。
4.如权利要求1所述的方法,还包括:
利用web浏览器从远程控制台激活第一图形用户接口组件的功能。
5.如权利要求1所述的方法,其中,控制测试还包括:
记录测试序列,所述测试序列包括触发测试事件的命令的序列;以及
回放所述测试序列。
6.如权利要求1所述的方法,还包括:
在不同环境中独立开发所述第一图形用户接口组件和所述第二图形用户接口组件。
7.如权利要求1所述的方法,还包括:
由所述服务器将事件发送到多个应用客户,以激活所述多个应用客户的相关功能。
8.一种用户接口协作系统,该系统包括:
一个或多个显示器,其显示多个图形用户接口组件,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件,该第二图形用户接口组件依赖于该第一图形用户接口组件;
管理控制台,其控制对所述图形用户接口组件的测试,其中,所述测试导致第一图形用户接口组件被选择以触发一事件;以及
服务器,被耦合到该管理控制台,
其中,所述服务器耦合到与第一应用客户有关的第一应用接口,该第一应用接口向所述服务器报告该事件;以及
其中,所述服务器还耦合到与第二应用客户有关的第二应用接口,该第二应用接口接收从所述服务器发来的该事件,以测试所述第二图形用户接口组件的激活。
9.如权利要求8所述的系统,其中,所述第一应用接口将标准消息交换格式用于报告所述事件的消息。
10.如权利要求8所述的系统,其中,所述管理控制台利用web浏览器远程控制所述激活。
11.如权利要求8所述的系统,还包括:
记录和回放机构,用于记录测试序列和回放所述测试序列,所述测试序列包括一序列触发测试事件的命令。
12.如权利要求8所述的系统,
其中,所述服务器还被耦合到多个应用接口,该多个应用接口中的每一个起所述服务器与包括至少一个用户接口组件的有关应用客户之间的接口的作用。
13.如权利要求8所述的系统,还包括:
事件总线,用于将所述服务器与所述第一应用接口和所述第二应用接口耦合。
14.如权利要求8所述的系统,其中,在不同环境中独立开发所述第一图形用户接口组件和所述第二图形用户接口组件。
15.一种用于用户接口协作系统的设备,包括:
用于显示多个图形用户接口组件的装置,其中每个图形用户接口组件用不同的编程语言开发并在不同的操作系统下运行,所述图形用户接口组件包括工具栏、菜单、柱形图、饼状图和表格中的一个或多个,所述图形用户接口组件包括在第一显示窗口中由第一应用客户提供的第一图形用户接口组件和在第二显示窗口中由第二应用客户提供的第二图形用户接口组件;以及
用于在用户接口协作系统的管理控制台的控制下对所述图形用户接口组件进行测试的装置,该用于测试的装置包括:
用于使第一图形用户接口组件被选择以触发一事件的装置;
用于使服务器从第一应用客户接收该事件并识别依赖于该第一图形用户接口组件的该第二图形用户接口组件的装置;以及
用于使所述服务器将该事件发送到所述第二应用客户,以测试激活所述第二图形用户接口组件的装置。
16.如权利要求15所述的设备,其中,用于使服务器接收事件的装置包括:
用于使服务器通过为所述第一应用客户设计的应用接口接收事件的装置,所述应用接口使用标准消息交换格式报告事件。
17.如权利要求15所述的设备,其中,所述第一图形用户接口组件和所述第二图形用户接口组件在两个不同的显示窗口中并行地显示。
18.如权利要求15所述的设备,还包括:
用于利用web浏览器从远程控制台激活第一图形用户接口组件的功能的装置。
19.如权利要求15所述的设备,其中,用于控制测试的装置还包括:
用于记录测试序列的装置,所述测试序列包括触发测试事件的命令的序列;以及
用于回放所述测试序列的装置。
20.如权利要求15所述的设备,其中,
所述第一图形用户接口组件和所述第二图形用户接口组件在不同环境中被独立开发。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/604,124 | 2006-11-22 | ||
US11/604,124 US7840970B2 (en) | 2006-11-22 | 2006-11-22 | Graphical user interface components that interact through a collaboration server |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101187869A CN101187869A (zh) | 2008-05-28 |
CN101187869B true CN101187869B (zh) | 2013-03-13 |
Family
ID=39418367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101693125A Active CN101187869B (zh) | 2006-11-22 | 2007-11-22 | 用户接口协作框架 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7840970B2 (zh) |
CN (1) | CN101187869B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370335B2 (en) * | 2007-12-07 | 2013-02-05 | Sap Ag | Multiple field look ahead and value help |
US8271362B2 (en) * | 2009-06-22 | 2012-09-18 | Mastercard International, Inc. | Methods and apparatus for providing centralized web services for funds transfer system |
US20110078569A1 (en) * | 2009-09-29 | 2011-03-31 | Sap Ag | Value help user interface system and method |
US8868600B2 (en) * | 2009-09-29 | 2014-10-21 | Sap Ag | Value help search system and method |
US8701090B2 (en) * | 2010-12-31 | 2014-04-15 | Verizon Patent And Licensing Inc. | Graphical user interface testing systems and methods |
US8910193B2 (en) * | 2011-08-30 | 2014-12-09 | Embarcadero Technologies, Inc. | Dynamically binding data in an application |
US11526366B2 (en) | 2011-08-30 | 2022-12-13 | Embarcadero Technologies, Inc. | Dynamically binding data in an application |
US20140082072A1 (en) * | 2012-09-17 | 2014-03-20 | Accenture Global Services Limited | Dynamic expert solicitation, collaboration and reputation management system |
US10909137B2 (en) | 2014-10-06 | 2021-02-02 | Fisher-Rosemount Systems, Inc. | Streaming data for analytics in process control systems |
US9665088B2 (en) | 2014-01-31 | 2017-05-30 | Fisher-Rosemount Systems, Inc. | Managing big data in process control systems |
US10866952B2 (en) | 2013-03-04 | 2020-12-15 | Fisher-Rosemount Systems, Inc. | Source-independent queries in distributed industrial system |
US10678225B2 (en) | 2013-03-04 | 2020-06-09 | Fisher-Rosemount Systems, Inc. | Data analytic services for distributed industrial performance monitoring |
US9558220B2 (en) | 2013-03-04 | 2017-01-31 | Fisher-Rosemount Systems, Inc. | Big data in process control systems |
US10649424B2 (en) | 2013-03-04 | 2020-05-12 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
US10649449B2 (en) | 2013-03-04 | 2020-05-12 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
US10386827B2 (en) | 2013-03-04 | 2019-08-20 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics platform |
US10223327B2 (en) | 2013-03-14 | 2019-03-05 | Fisher-Rosemount Systems, Inc. | Collecting and delivering data to a big data machine in a process control system |
US10152031B2 (en) | 2013-03-15 | 2018-12-11 | Fisher-Rosemount Systems, Inc. | Generating checklists in a process control environment |
GB2514644B (en) * | 2013-03-15 | 2020-12-23 | Fisher Rosemount Systems Inc | Method and apparatus for seamless state transfer between user interface devices in a mobile control room |
CN104598211B (zh) * | 2013-10-30 | 2019-05-24 | 北大方正集团有限公司 | 管理维护软件程序的方法及装置 |
US10248474B2 (en) * | 2014-01-29 | 2019-04-02 | Microsoft Technology Licensing, Llc | Application event distribution system |
US10365626B2 (en) * | 2015-02-12 | 2019-07-30 | Siemens Aktiengesellschaft | Extending the functionality of a programmable logic controller (PLC) with apps without changing the PLC programming |
US10585548B2 (en) | 2015-03-03 | 2020-03-10 | Soroco Private Limited | Software robots for programmatically controlling computer programs to perform tasks |
US10503483B2 (en) | 2016-02-12 | 2019-12-10 | Fisher-Rosemount Systems, Inc. | Rule builder in a process control network |
US11402812B1 (en) | 2019-03-22 | 2022-08-02 | The Chamberlain Group Llc | Apparatus and method for controlling a device |
US11544227B2 (en) * | 2020-06-18 | 2023-01-03 | T-Mobile Usa, Inc. | Embedded reference object and interaction within a visual collaboration system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU631749B2 (en) * | 1990-09-14 | 1992-12-03 | Digital Equipment Corporation | System and method for communication between windowing environments |
US5717880A (en) * | 1993-09-06 | 1998-02-10 | Kabushiki Kaisha Toshiba | Method and apparatus for relaying events and requests in a windows systems |
US7703024B2 (en) * | 2004-08-31 | 2010-04-20 | Sap Ag | Obtaining a graphical user interface to access a remote computing system |
-
2006
- 2006-11-22 US US11/604,124 patent/US7840970B2/en active Active
-
2007
- 2007-11-22 CN CN2007101693125A patent/CN101187869B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20080120628A1 (en) | 2008-05-22 |
CN101187869A (zh) | 2008-05-28 |
US7840970B2 (en) | 2010-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101187869B (zh) | 用户接口协作框架 | |
Zhang et al. | Quantifying aspects in middleware platforms | |
US20080120598A1 (en) | Method and apparatus of a build management system | |
US7698293B2 (en) | System and methods for capturing structure of data models using entity patterns | |
US20020120918A1 (en) | Monitoring messages during execution of a message flow | |
Wu et al. | Maintaining Evolving Component-Based Software with UML. | |
JP2011118879A (ja) | ユーザインタフェース操作の位置独立な実行 | |
Sokolova et al. | Towards high quality mobile applications: Android passive MVC architecture | |
Moschoyiannis et al. | True concurrency in long-running transactions for digital ecosystems | |
KR101418390B1 (ko) | 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법 | |
Fonseca et al. | Exploring the relationship between dependencies and coordination to support global software development projects | |
Brugali et al. | Service component architectures in robotics: The sca-orocos integration | |
Kuk et al. | Robustness testing framework for Web services composition | |
Yu et al. | Dynamic software architecture oriented service composition and evolution | |
JP2012048329A (ja) | オブジェクト指向プログラム生成装置、その方法、プログラム | |
Umapathy et al. | Systems integration and web services | |
KR20080106540A (ko) | 단일 커맨드 라인 유틸리티를 이용하여 함수들을 수행하는 방법 및 컴퓨터 판독 가능 매체 | |
Osborne et al. | Ozy: a general orchestration container | |
Lourenço et al. | Fiddle: A flexible distributed debugger architecture | |
CN118312296B (zh) | 一种基于工作流的可视化多机调度系统 | |
JP2012194616A (ja) | オブジェクト指向モデル設計支援装置 | |
Fdhila et al. | Communications semantics for wsbpel processes | |
Falcarin et al. | An Aspect-Oriented Approach for Dynamic Monitoring of a Service Logic Execution Environment | |
Cipolla et al. | Web service based asynchronous service execution environment | |
EP1686522A1 (en) | System and methods for capturing structure of data models using entity patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |