CN101187869A - 用户接口协作框架 - Google Patents

用户接口协作框架 Download PDF

Info

Publication number
CN101187869A
CN101187869A CNA2007101693125A CN200710169312A CN101187869A CN 101187869 A CN101187869 A CN 101187869A CN A2007101693125 A CNA2007101693125 A CN A2007101693125A CN 200710169312 A CN200710169312 A CN 200710169312A CN 101187869 A CN101187869 A CN 101187869A
Authority
CN
China
Prior art keywords
user
interface unit
application client
application
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
CNA2007101693125A
Other languages
English (en)
Other versions
CN101187869B (zh
Inventor
梁志龙
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of CN101187869A publication Critical patent/CN101187869A/zh
Application granted granted Critical
Publication of CN101187869B publication Critical patent/CN101187869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Abstract

用户接口(UI)协作系统使得多个应用客户能够在不同环境中协作。系统包括服务器、第一应用接口(API)和第二API,但不限于此。第一API被耦合到服务器,并且与包括第一UI组件的第一应用客户有关。当通过激活第一UI组件的功能来触发事件时,第一API向服务器报告该事件。第二API被耦合到服务器,并且与包括第二UI组件的第二应用客户有关。第二API接收从服务器发送的事件,从而激活第二UI组件。可以包括不止两个应用客户和API。

Description

用户接口协作框架
技术领域
本发明总体上涉及处理方面的用户接口设计。更具体地说,本发明涉及用于对用户接口组件进行协作开发和测试的处理框架。
背景技术
处理中的用户接口(user interface,UI)一般涉及计算机程序呈现给用户的图形、文字或听觉信息,并且,用户利用控制机构与计算机程序通信。UI一般包括多个UI组件。例如,在图形用户接口(general user interface,GUI)中,UI组件为一组图形元素。图形元素包括按钮、窗口、面板、对话框以及上述元素的组合,但不限于此。当图形元素组合在一起,从而给用户提供特定功能时,图形元素构成一个UI组件。例如,在MicrosoftWord中,UI组件可以是菜单栏、状态栏或书写区。一般情况下,不同的应用程序包括不同的UI组件。
UI组件经常是相互依赖的。在以上的Microsoft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应用在不同环境下基本上被同时测试。例如,应用软件可以具有在Windows上运行的版本和在Linux上运行的另一个版本。传统的系统会要求在Windows平台和Linux平台上开发测试工具,并且因此浪费资源。利用UCS 20,用户可以将Windows版本和Linux版本连接到同一个UCS 20。当测试Windows版本时,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,33 1,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所述的机器可读介质,其中,所述方法还包括如下步骤:
在不同环境中独立开发所述第一用户接口组件和所述第二用户接口组件。
CN2007101693125A 2006-11-22 2007-11-22 用户接口协作框架 Active CN101187869B (zh)

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 true CN101187869A (zh) 2008-05-28
CN101187869B 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)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049592A (zh) * 2013-03-15 2014-09-17 费希尔-罗斯蒙特系统公司 用于移动控制室内的用户接口设备之间的无缝状态转移的方法和装置
CN104598211A (zh) * 2013-10-30 2015-05-06 北大方正集团有限公司 管理维护软件程序的方法及装置
CN107407918A (zh) * 2015-02-12 2017-11-28 西门子公司 利用app扩展可编程逻辑控制器
US10311015B2 (en) 2013-03-14 2019-06-04 Fisher-Rosemount Systems, Inc. Distributed big data in a process control system
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10551799B2 (en) 2013-03-15 2020-02-04 Fisher-Rosemount Systems, Inc. Method and apparatus for determining the position of a mobile control device in a process plant
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10656627B2 (en) 2014-01-31 2020-05-19 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US11385608B2 (en) 2013-03-04 2022-07-12 Fisher-Rosemount Systems, Inc. Big data in process control systems

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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
US11526366B2 (en) 2011-08-30 2022-12-13 Embarcadero Technologies, Inc. Dynamically binding data in an application
US8910193B2 (en) * 2011-08-30 2014-12-09 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
US10248474B2 (en) * 2014-01-29 2019-04-02 Microsoft Technology Licensing, Llc Application event distribution system
US10156958B2 (en) 2015-03-03 2018-12-18 Soroco Private Limited Software robots for programmatically controlling computer programs to perform tasks
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)

* Cited by examiner, † Cited by third party
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

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385608B2 (en) 2013-03-04 2022-07-12 Fisher-Rosemount Systems, Inc. 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
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
US10311015B2 (en) 2013-03-14 2019-06-04 Fisher-Rosemount Systems, Inc. Distributed big data in a process control system
US10551799B2 (en) 2013-03-15 2020-02-04 Fisher-Rosemount Systems, Inc. Method and apparatus for determining the position of a mobile control device in a process plant
US11112925B2 (en) 2013-03-15 2021-09-07 Fisher-Rosemount Systems, Inc. Supervisor engine for process control
US10649412B2 (en) 2013-03-15 2020-05-12 Fisher-Rosemount Systems, Inc. Method and apparatus for seamless state transfer between user interface devices in a mobile control room
US10649413B2 (en) 2013-03-15 2020-05-12 Fisher-Rosemount Systems, Inc. Method for initiating or resuming a mobile control session in a process plant
CN104049592A (zh) * 2013-03-15 2014-09-17 费希尔-罗斯蒙特系统公司 用于移动控制室内的用户接口设备之间的无缝状态转移的方法和装置
US10671028B2 (en) 2013-03-15 2020-06-02 Fisher-Rosemount Systems, Inc. Method and apparatus for managing a work flow in a process plant
US11573672B2 (en) 2013-03-15 2023-02-07 Fisher-Rosemount Systems, Inc. Method for initiating or resuming a mobile control session in a process plant
US10691281B2 (en) 2013-03-15 2020-06-23 Fisher-Rosemount Systems, Inc. Method and apparatus for controlling a process plant with location aware mobile control devices
US11169651B2 (en) 2013-03-15 2021-11-09 Fisher-Rosemount Systems, Inc. Method and apparatus for controlling a process plant with location aware mobile devices
CN104598211B (zh) * 2013-10-30 2019-05-24 北大方正集团有限公司 管理维护软件程序的方法及装置
CN104598211A (zh) * 2013-10-30 2015-05-06 北大方正集团有限公司 管理维护软件程序的方法及装置
US10656627B2 (en) 2014-01-31 2020-05-19 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
CN107407918B (zh) * 2015-02-12 2022-07-26 西门子公司 利用app扩展可编程逻辑控制器
CN107407918A (zh) * 2015-02-12 2017-11-28 西门子公司 利用app扩展可编程逻辑控制器
US11886155B2 (en) 2015-10-09 2024-01-30 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network

Also Published As

Publication number Publication date
US7840970B2 (en) 2010-11-23
US20080120628A1 (en) 2008-05-22
CN101187869B (zh) 2013-03-13

Similar Documents

Publication Publication Date Title
CN101187869B (zh) 用户接口协作框架
Zhang et al. Quantifying aspects in middleware platforms
US7698293B2 (en) System and methods for capturing structure of data models using entity patterns
CN102207903A (zh) 用于单元测试的自动重定向方法调用
WO2008064188A2 (en) Method and apparatus of a build management system
Wu et al. Maintaining Evolving Component-Based Software with UML.
Barros et al. Verification of distributed hierarchical components
Egyed et al. Unfriendly COTS integration-instrumentation and interfaces for improved plugability
Schwarz Peeking inside the box: Attribute-oriented programming with java 1.5, part
Shonle et al. Aspectbrowser for eclipse: a case study in plug-in retargeting
Fayçal et al. Integrating legacy systems in a SOA using an agent based approach for information system agility
KR101418390B1 (ko) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
Gold et al. Program comprehension for web services
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
JP5644599B2 (ja) オブジェクト指向モデル設計支援装置
Hong et al. Towards automating instrumentation of systems and applications for management
Ameller et al. The Three‐Layer architectural pattern applied to plug‐in‐based architectures: the Eclipse case
Barbier Mde-based design and implementation of autonomic software components
Lourenço et al. Fiddle: A flexible distributed debugger architecture
EP4102357A1 (en) Development environment organizer with enhanced state switching and sharing
Falcarin et al. An Aspect-Oriented Approach for Dynamic Monitoring of a Service Logic Execution Environment
Ameller et al. Reconciling the 3-layer Architectural Style with the Eclipse Plug-in-based Architecture
Fdhila et al. Communications semantics for wsbpel processes
Estublier et al. Deployment descriptions in a world of COTS and open source
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