专利名称:用于提供面向服务的用户界面集成总线的系统和方法
用于提供面向服务的用户界面集成总线的系统和方法技术领域
一般来说,本发明涉及用户界面,更具体来说,涉及用于提供面向服务的用户界面 集成总线的系统和方法。
背景技术:
常规用户界面(“UI”)集成技术允许用户与一个或多个计算机应用程序进行合 作和交互。常规UI集成技术的示例包括与MicrosoftWindows配合使用的ActiveX以及 与例如Eclipse应用程序框架等平台配合使用的开放服务网关规范(“OSGi”)。虽然这 些常规UI集成技术用于允许用户与特定部件接口的它们的预计目的,但是它们是技术相 关的。例如,OSGi是语言相关的,以Java代码编写。而ActiveX局限于基于Microsoft的 平台。因此,由于常规UI集成技术不是技术中立的,所以常规UI集成技术具有有限互用性 (interoperability),并且在它们可在技术之间转移之前可能要求相当大的重新设计。
另外,常规UI集成技术针对部件集成而不是应用程序集成(application integration)。随着为了增加的效率而集成不同系统的主动性的出现,常规UI集成技术必 须重新设计,以便允许用户使用公共平台与来自这些系统的应用程序接口。这种主动性的 一个示例是智能电网。智能电网针对通过公共平台将一组新的应用程序与传统电力网系统 集成以用于进行实时监测和控制。通过使公共平台能够代替多个判定器在更本地的等级进 行能量分配判定,智能电网针对增加与公用电力网关联的效率。但是,这些增加的效率要求 在公共平台的用户与传统系统所提供的各种应用程序进行交互,因而要求通过公共平台来 集成不同的应用程序。常规UI集成技术不适合应用程序集成,因此不允许用户在公平平台 的交互。
因此,需要使用户能够使用公共平台、以技术中立方式与来自不同技术的各种应 用程序接口。更具体来说,需要用于提供面向服务的用户界面集成总线的系统和方法。发明内容
本发明的实施例可解决上述部分或全部需要。本发明的某些实施例一般针对用于 提供面向服务的用户界面集成总线的系统和方法。根据一个实施例,可提供一种用于在主 机平台上提供面向服务的用户界面集成总线的方法。该方法可包括接收来自应用模块的用 户界面服务请求。应用模块可与作为公共的或者与主机平台不同的第一平台关联。该方法 还可包括把来自应用模块的用户界面服务请求变换成对主机平台的用户界面服务请求。该 方法还可包括将经变换的用户界面服务请求与一个或多个平台服务进行匹配,以便通过主 机平台向用户提供具有应用模块的可视界面。
根据另一个实施例,可提供一种用于提供面向服务的用户界面集成总线的系统。 该系统可包括用于存储计算机可执行指令的存储器以及经由计算机接口与存储器进行通 信的处理器。处理器可通过计算机可执行指令配置成接收来自与第一平台关联的应用模块 的用户界面服务请求。处理器还可适合把来自应用模块的用户界面服务请求变换成对主机平台的用户界面服务请求。处理器还可适合将经变换的用户界面服务请求与平台服务进行 匹配,以便在主机平台上向用户提供具有应用模块的可视界面。
根据本发明的又一个实施例,可提供一种在计算机可读介质上包含的用于在主机 平台上提供面向服务的用户界面集成总线的计算机程序。计算机程序可包括用于使处理器 适合接收来自应用模块的用户界面服务请求的指令。计算机程序还可包括使处理器适合把 来自应用模块的用户界面服务请求变换成对主机平台的用户界面服务请求的指令。计算机 程序还可包括使处理器适合将经变换的用户界面服务请求与一个或多个平台服务进行匹 配以通过主机平台向用户提供具有应用模块的可视界面的指令。
通过以下结合附图的描述,本发明的其它实施例和方面将会显而易见。
通过以这种方式概括地描述了本发明,现在将参照附图,附图不一定按比例绘制, 包括
图1示出根据另一个实施例、用于提供面向服务的用户界面集成总线的示例系 统。
图2示出根据本发明的一个实施例、作为面向服务的用户界面集成总线的一部分 的示范应用模块。
图3示出根据另一个实施例、用于提供面向服务的用户界面集成总线的示例系统 和方法。
图4示出根据另一个实施例、用于提供嵌入式面向服务的用户界面集成总线的示 例系统。
图5示出根据另一个实施例、用于提供面向服务的用户界面集成总线的示例方法。
具体实施方式
下面参照附图更全面地描述本发明,附图中表示本发明的示例实施例。但是,本发 明可通过许多不同的形式来实施,而不应当理解为局限于本文所提出的示例实施例;相反, 提供这些实施例使得本公开将向本领域的技术人员传递本发明的范围。相似的标号通篇表 示相似的元件。
本发明的某些实施例可把来自不同技术的用户界面(“UI”)应用程序集成到单个 面向服务的UI中。这样,本发明的某些实施例可为系统开发人员提供公共平台来支持现有 应用程序或者为一系列现有或正开发的技术和/或系统提供新应用程序。换言之,本发明 的某些实施例可提供不同技术的互用,无论这类技术是由不同团队设计还是为不同目的而 获取,使得可从单个清楚定义的集成运行时间环境来操作它们。例如,本发明的某些实施例 可以是智能电网的实现技术,它从一个统一图形用户界面来支持使用户能够控制和监测往 往采用大量相异系统的整个配电网的系统。因此,互用是本发明的某些实施例的至少一种 技术效果。
另外,本发明的某些实施例可减少重新设计并且提高与系统集成关联的效率。在 某些实施例中,可提供对传统系统中的应用程序的访问,因而减少现代设计中对重新实现传统应用程序的需要。在其它实施例中,传统应用程序的能力可通过启用可支持这些传统 系统的更先进UI应用程序的实现得到扩展。因此,在提供对传统应用程序的可互用接口 中,减少对重新实现现有功能性的需要。从成本角度来看,通过实现对现有应用程序的访问 而不是将现有应用程序重新实现为新系统的新应用程序,本发明的某些实施例可提供与传 统系统集成关联的成本降低。因此,以降低成本的系统集成是本发明的某些实施例的至少 另外一种技术效果。
图1示出根据一个实施例、用于提供面向服务的用户界面集成总线的示例系统 100。大家会理解,虽然在图1中示出并且针对图1描述系统100,但是仅作为举例来提供系 统100。许多其它系统操作环境、体系结构和/或配置是可能的。相应地,本发明的实施例 不应当被理解为局限于图1中所示并且针对图1所述的任何特定操作环境、体系结构或配置。
一般来说,系统100可描述为可视化平台100。可视化平台可用于为用户提供数据 可视化(供操纵数据)以及与数据进行交互的数据开发环境。但是与常规技术相比,可视 化平台100包括新特征,它们可使现有传统UI应用模块(可在不同应用框架上实现的)和 新UI应用模块(可以或者可以不在主机平台的应用框架上实现的)能够在主机平台上在 一个或多个UI运行时间环境中运行和通信。在示例实施例中,这种功能性可通过所示的示 例高级体系结构来提供。
作为这种高级体系结构的一部分,可提供一种面向服务的用户界面集成总线。在 示例实施例中,可视化平台100可包括适合与模块管理器108接口的一个或多个UI应用 模块。在一个实施例中,可视化平台100可包括新应用模块102,它可对应于可适合在主机 平台或第一平台中的操作的一个或多个UI应用模块。在另一个实施例中,可视化平台100 可包括现有应用模块104,它可对应于也适合在第一平台中的操作的一个或多个UI应用模 块。在一个实施例中,第一平台可与主机平台共享公共应用框架。在其它实施例中,第一平 台和主机平台可适应不同的应用框架。
在示例实施例中,例如新应用模块102和现有应用模块104等UI应用模块可向模 块管理器108描述它们可提供的UI服务以及它们可消费的UI服务。UI服务描述由UI应 用模块所使用的服务,使得可将一个或多个显示提供给用户。在一个实施例中,例如当UI 应用模块和主机平台共享公用应用框架时,模块管理器108可在接收到来自一个或多个UI 应用模块的UI服务请求之后,将从主机平台可得到的一个或多个UI服务与一个或多个UI 应用模块进行匹配。在另一个实施例中,例如当UI应用模块和主机平台没有共享公用应用 框架时,模块管理器108可把来自UI应用模块的UI服务请求变换成对主机平台的UI服务 请求。确定了对主机平台的UI服务请求,模块管理器108可将经变换的UI服务请求与从 主机平台可得到的UI服务进行匹配。
在提供UI集成总线时,模块管理器108可采用从主机平台可得到的UI服务、如平 台服务110来促进现有UI应用模块104与新UI应用模块102之间的通信。一旦将UI服 务与一个或多个应用模块进行匹配,模块管理器108可与平台服务110接口,以便在主机平 台上向用户提供可视界面。至少通过这种方式,通过将从主机平台可得到的UI服务与这些 不同应用模块所请求的UI服务进行匹配以向用户提供公共界面,可视化平台100可以是面 向服务的。
图2示出UI应用模块200-它可表示例如本地可视化平台应用模块112等的新应 用模块102的一个实施例-和UI应用模块250-它可表示例如UI应用模块114等的现有 应用模块104的一个实施例。在一个实施例中,UI应用模块200可以是声明式的或者呈现 声明式特征,表示UI应用模块200可包括技术无关特征。在另一个实施例中,UI应用模块 200可以是技术相关的,并且可与一个或多个应用框架关联。
UI应用模块200可包括四个部件(1)基于可扩展标记语言(“XML”)的方案库 205 ;⑵模块定义库210 ; (3)服务模块215 ;以及(4)平台实现模块220。XML方案库205 可定义UI应用模块200的一个或多个对象。模块定义库210可包含UI应用模块200的一 个或多个定义特性,例如与主机平台上的UI应用模块200的实现关联的信息和/或模块名 称、模块版本信息、模块依存关系(cbpendency)。服务模块215可定义用于实现主机平台上 的UI应用模块200的XML方案205的一个或多个XML对象的本地服务。
平台实现模块220可按照主机平台的应用框架来提供由服务模块215所请求的UI 服务。也就是说,在示例实施例中,平台实现模块220可按照主机平台上的UI应用模块200 的本地服务215来实现XML方案205。为了进行说明,XML方案205中定义的一个或多个数 据对象可要求在UI中实现的一个或多个服务215。为此,平台实现模块220可在主机平台 上实现用于XML方案205中定义的一个或多个数据对象的服务215。
大家会理解,虽然在示例实施例中,新应用模块102和200可被集成和/或设计为 在主机平台上现有的应用框架上进行操作,但是新应用模块102和200也可与可为其它平 台存在的应用框架关联。也就是说,在一些实施例中,平台实现模块220可与不同于主机平 台的应用框架关联。在这类实施例中,当平台实现模块220与不同于主机平台的应用框架 关联时,一个或多个适配器还可与UI应用模块200结合使用以用于提供技术中立和/或无 关性。下面相对于现有应用模块250来描述示例适配器。
大家还会理解,由于在一些实施例中,新应用模块102和200可呈现技术无关特 征,这些特征可与上述模块或库的一个或多个关联。也就是说,在UI应用模块102和UI应 用模块200可以是声明式的实施例中,XML方案205、模块定义库210和服务模块215的一 个或多个可例如通过一种或多种编程语言呈现技术无关特征。在示例实施例中,UI应用模 块102和UI应用模块200可使用万维网服务描述语言(“WSDL”)的变型来定义UI服务, 但例外的是,不是定义万维网服务,UI应用模块102和UI应用模块200而是可通过平台实 现模块220向模块管理器108请求UI本地服务,以便通过主机来提供公共UI。更具体来 说,作为声明式模块,服务模块215可明确请求UI本地服务,表示服务模块215可描述一个 或多个XML对象205的要求的服务,而不管主机平台上的实现。平台实现220在接收到按 照服务定义库215所定义的对服务的明确呼叫(call)之后,则可与在主机平台上实现这些 服务关联。
继续参照图1和图2,现有应用模块250可对应于现有应用模块104、如UI应用模 块114,它可适合于在不同于主机平台的应用框架、如示例实施例中的Microsoft. NET应用 框架上的操作。在示例实施例中,现有UI应用模块250示为包括可以是声明式的一个或多 个部件,其中包括XML方案255、模块定义库260和服务定义库沈5。大家会理解,虽然示例 实施例将现有应用模块250呈现为具有声明式方面,但是本发明的其它实施例可与具有更 少、更多或者没有声明式方面的现有应用模块关联。
除了声明式模块之外,现有应用模块250还可包括用于在可与主机平台不同的 平台上实现现有应用模块250的实现模块。在示例实施例中,将实现模块呈现为用于在 Microsoft. NET应用框架中实现现有应用模块250的Microsoft. NET实现模块270。例如 Microsoft. NET实现模块270等实现模块可按照一个或多个主机平台的现有应用框架来提 供由服务模块260所请求的UI服务。由于现有应用模块250配置成在单个应用框架上进 行操作,所以现有应用模块250不是技术中立的。换言之,在常规系统中,用户不能从具有 与实现模块270所提供的应用框架不同的应用框架的平台与现有应用模块250进行交互。 但是,本发明的某些实施例可例如通过图2所示的一个或多个平台适配器275和图1所示 的平台适配器126、128、130来提供技术中立。
平台适配器275提供用于当现有应用模块250与不同于主机平台的应用框架关联 时在主机平台上实现现有应用模块250的适配器的一个示例实施例。平台适配器275通过 模块管理器108来提供现有应用模块250的实现模块270与主机平台上实现的应用框架之 间的桥接。
例如,平台适配器1 和1 可允许模块管理器108主管应用模块,这些应用模块 采用与多个应用框架、如示例实施例中所示的Microsoft. NET和Java应用框架关联的语言 所编写。如web应用适配器130等适配器可允许模块管理器108集成来自附加应用框架和 /或平台的应用模块,如浏览器应用模块和胖客户端(thick client)。在两种情况下,模块 管理器108可将单个用户界面作为提供技术中立的可视化平台100的一部分来提供。
为了参照可视化平台100进行说明,在框104提供包含在一个或多个平台适配器 中的现有应用模块。通过经由模块管理器108桥接现有应用模块104的实现特征与主机平 台的实现特征,适配器126、1观和130可允许可视化平台100支持现有应用模块104,同时 还支持新应用模块102,而无需对现有应用模块104的修改。这种支持可与改进互用性关 联。在示例实施例中,现有应用模块104可包括下列平台适配器的任一个或多个(1)平台 适配器1 可关联于使Microsoft. NET应用模块适合与可视化平台100集成;( 平台适 配器1 可关联于使Java应用模块适合与可视化平台100集成;以及( 平台适配器130 可关联于使基于web的和/或因特网浏览器应用模块与可视化平台100集成。
平台适配器1沈、1观和130可将现有应用模块104与可视化平台100关联,而无 需修改现有应用程序104的功能性,即使这些应用模块可设计和配置成运行于与多个平台 关联的多个应用框架上。要实现这一点,平台适配器126、1观和130可通过模块管理器108 将现有应用模块104所请求的UI服务与通过可视化平台100所提供的一个或多个UI服务 桥接。例如,在一个实施例中,模块管理器108可将可视化平台100所提供的对于用户界面 的一个或多个平台服务110与来自一个或多个应用模块114、116、118、通过一个或多个平 台适配器1沈、1观、130提供给模块管理器108的一个或多个UI服务请求进行匹配。
例如,如果现有应用程序114具有清楚定义的开窗系统(windowing system),则 应用适配器、如Microsoft. NET适配器1 可把来自现有应用模块114的UI服务请求变换 成与一个或多个开窗系统应用编程接口(“API”)对应的UI服务请求。模块管理器108还 可将Microsoft. NET平台适配器1 所提供的经变换的UI服务请求映射到可视化平台100 所提供的一个或多个主机平台服务110,下面更全面地进行描述。这样,现有应用程序114 可与可视化平台100集成,而无需干扰模块114的核心功能性。8
除了向现有应用模块104提供从主机平台可得到的一个或多个UI服务之外,模块 管理器108还可提供一个或多个现有应用模块104之间、如应用模块116(它可配置用于 Java应用框架)与模块114(它可配置用于Microsoft. NET应用框架)之间的互用。
为了参照图3进行说明,现有应用模块116可向传统Java应用框架请求UI服务。 平台适配器1 可把来自应用模块116的UI服务请求变换成主机平台的UI服务请求,它 在示例实施例中示为基于XML的UI服务请求。可将基于XML的UI服务请求提供给模块管 理器108。模块管理器108可将基于XML的服务请求与主机平台的一个或多个UI服务进行 匹配,然后通过平台适配器1 来调用应用模块114中的UI服务请求。平台适配器1 可 配置成把来自模块管理器108、与主机平台的UI服务对应的UI服务请求变换成对现有模块 114(其配置用于Microsoft. NET应用框架)的UI服务请求(在一个实施例中例如通过使 用Java本地接口)。当现有应用模块104对应于基于web的和/或因特网浏览器应用模块 时,Java本地接口也可用于把来自web应用模块118的UI服务请求变换和映射到通过模 块管理器108可得到的UI服务。至少通过这些方式,可视化平台100可提供一个或多个现 有应用模块104之间的互用。
在示例实施例中,模块管理器108与提供一个或多个应用模块102和104之间的 互用以及与在主机平台上实现应用模块102和104关联。应用模块的实现可以例如通过新 应用模块102的实现模块直接进行,或者例如通过平台适配器1沈、1观和130间接进行。当 直接实现应用模块(这在应用模块102包括与主机平台的应用框架对应的实现模块时可发 生)时,模块管理器108可把来自应用模块的UI服务请求传递给主机平台的平台服务模块 110。当间接实现应用模块(这在现有应用模块104包括不与主机平台的应用框架对应的 实现模块时可发生)时,模块管理器108可参照现有应用模块104来识别适当适配器并且 加载适当适配器。
大家会理解,为了与一个或多个适当平台适配器进行交互以及提供上述功能性, 模块管理器108可通过任何适当编程语言来实现和适当地配置。例如,在一个实施例中,模 块管理器108可通过Java来实现。为了与示为配置用于Microsoft. NET平台的可视化平 台100中的现有应用模块114进行交互,可提供Microsoft. NET适配器126以便将模块管 理器108桥接到现有应用模块114。在一个实施例中,Microsoft. NET适配器1 可对应于 基于Java本地接口(Java NativeInterface)的适配器,用于允许应用模块114与Java编 码的模块管理器108进行交互。基于Java本地接口的适配器也可对应于平台适配器130。 这样,平台适配器130可把来自web应用模块118的UI服务请求变换成模块管理器108的 Java API。
又参照图1,在框110可提供用于平台支持的一个或多个平台服务。与针对部件集 成的常规UI技术不同,可视化平台100可包括可针对解决与UI应用集成相关的问题的一 组平台服务。也就是说,可视化平台100可提供采用模块管理器108支持UI集成的一个或 多个服务。
这些服务可包括例如窗口管理器120所提供的开窗服务。窗口管理器120可管理 在主机平台上向用户显示的窗口,以及例如通过上述平台适配器来为用户提供修改一个或 多个应用模块的操作的能力。窗口管理器120还可允许用户创建窗口对象,以及通过模块 管理器108在一个或多个应用模块之间引导数据。在提供开窗服务时,窗口管理器120可管理可视化平台100与基于窗口的操作环境或者与本领域已知的其它操作环境的集成。
平台服务110还可包括由会话管理模块122所提供的会话管理服务。会话管理模 块122可管理主机平台的系统资源以适应来自上述各种应用模块的UI服务请求,以便提供 主机平台的可靠操作。会话管理模块122还可允许一个或多个应用模块共享会话信息,以 及提供用户服务、例如与登录、注销和用户消息关联的用户服务。
平台服务110还可包括本地总线管理器124,用于通过模块管理器108来管理一 个或多个应用模块之间的消息。大家会理解,虽然相对上述服务来描述平台服务110,但是 所述的特定服务仅为了进行示例来提供,并且意在传送一组可能的服务以支持通过模块管 理器108的UI集成。相应地,本发明的实施例不应当被理解为局限于所述的特定平台服务 110。
大家还会理解,虽然相对图1所述的高级体系结构包括用于以技术中立方式提供 UI服务的一个或多个适配器和方法,但是,按照本发明的其它实施例,可采用附加体系结 构。例如,可手动并且以点对点方式而不是通过所述的一个或多个适配器来集成不同技术。 因此,大家会理解,除了相对图1所示和所述的高级体系结构之外,还可存在本发明的其它 实施例。
例如,本发明的其它实施例可嵌入传统平台中,而不是在新主机平台上实现。也 就是说,在一些实施例中,可视化平台100可嵌入传统系统中,它可允许设计用于图1的面 向服务的用户集成总线的应用模块在传统系统上操作,由此扩展传统系统的功能性和实用 性,而无需重新设计和重新实现传统系统中的这些应用模块。
这种实施例如图4的系统400所示。系统400可以是传统应用模块或者具有可嵌 入可视化平台微核402的计算机系统客户端405的一部分。微核402可与客户端405中的 现有传统应用模块410 —起运行,由此允许传统应用模块410与新应用模块102进行交互, 该新应用模块102可设计和实现为与传统系统不可互用的主机平台的面向服务的用户集 成总线的一部分。换言之,可能希望包括语言和平台中立部件的传统应用模块410和传统 系统、如客户端405可通过使用嵌入微核402来如此进行。
微核402可经由若干平台机制集成在客户端405中,取决于与传统系统或应用模 块关联的技术。例如,在一个实施例中,Java客户端可经由Java本地接口嵌入对于面向服 务的用户集成总线的应用模块。在另一个实施例中,Microsoft客户端可经由一个或多个 基于Microsoft的技术、如部件对象模型(“COM”)和ActiveX来嵌入对于面向服务的用户 集成总线的应用模块。
在一个实施例中,可视化平台微核402可嵌入客户端405中,并且适合通过一个或 多个适配器415、420与传统应用模块410接口。适配器415和420可提供传统系统的基本 服务,例如开窗、会话管理和应用程序间通信。适配器415和420可作为微核402的一部分 配置成向微核402中包含的应用模块112提供本地功能性,而无需修改新应用模块102的 功能性或实现。在一个实施例中,适配器415和420可将主机平台的一个或多个平台服务 变换成现有应用模块410的一个或多个平台服务,以便提供互用。在另一个实施例中,适配 器415和420可将主机平台的一个或多个平台服务变换成客户端405的一个或多个平台服 务。
例如,窗口管理器模块120可适合经由适配器415使可视化平台100的本地应用模块112寄宿(hosted)在客户端405所使用的开窗系统内部。例如,在一个实施例中,当嵌 入微核402是Java客户端时,客户端405可以是Microsoft. NET客户端。在这种情况下, 适配器415可与把来自窗口管理器120的基于Java的窗口服务请求变换成客户端405的 Microsoft. NET窗口服务请求关联。在例如客户端405可能缺少开窗系统等的其它实施例 中,适配器415和/或420可以是可选的。
图5示出根据本发明一个实施例、用于提供面向服务的用户界面集成总线的示例 方法500。如图5所示,方法500在框505开始,其中从应用模块接收UI服务请求。UI服 务请求可从关联第一平台的应用模块接收。在一个实施例中,第一平台可与主机平台共享 公共应用框架。例如并且参照图1,可从可集成和/或设计为在主管可视化平台100的平台 上进行操作的例如本地可视化平台应用模块112等的新应用模块102来接收UI服务请求。 来自新应用模块102的UI服务请求可由模块管理器108或者在其它实施例中直接由一个 或多个平台服务110来接收。
在另一个实施例中,可从关联于具有应用框架(与主机平台不同)的第一平台的 应用模块来接收UI服务请求。例如,在一个实施例中,可从关联于适合与Microsoft. NET 应用框架配合操作的平台的应用模块、如可视化平台100中的应用模块114来接收UI服务 请求。在另一个实施例中,应用模块可与适合与Java应用框架配合操作的平台关联,例如 可视化平台100中的应用模块116。在另一个实施例中,应用模块可与基于web的和/或因 特网浏览器平台关联,例如可视化平台100中的应用模块118。在又一些实施例中,可使用 以上实施例的任何一个或多个。
大家会理解,由于应用模块可与不同于主机平台的平台关联,所以应用模块也可 以是声明式的或者具有声明式特征。换言之,在一些实施例中,应用模块的一个或多个方面 不需要与任何特定平台或应用框架关联,表示这类应用模块可具有技术无关特征。在又一 些实施例中,应用模块可与主机平台的应用框架关联。
方法500在框510继续进行,其中可把来自应用模块的UI服务请求变换成对主机 平台的UI服务请求。例如并且参照可视化平台100,来自应用模块114的UI服务请求可由 平台适配器1 接收,并且变换成对主管可视化平台100的平台的UI服务请求。在一个实 施例中,应用模块和平台适配器可与Microsoft. NET应用框架关联,如平台适配器1 和应 用模块114那样。在另一个实施例中,应用模块和平台适配器可与Java应用框架关联,例 如平台适配器1 和应用模块116。在另一个实施例中,应用模块和平台适配器可与基于 web的应用框架关联,例如平台适配器130和应用模块118。在其它实施例中,以上所述的 任何组合可被使用和/或与附加应用框架组合。
在框515,方法500可继续进行,其中可把来自应用模块的经变换的UI服务请求 与一个或多个平台服务进行匹配。在一个实施例中,平台服务可与主机平台关联,并且服务 的匹配可经由主机平台向用户提供可视界面、如图形用户界面。例如并且参照可视化平台 100,经变换的UI服务请求可由模块管理器108接收,并且由模块管理器108将其与通过平 台服务110可得到的一个或多个UI服务进行匹配。在其它实施例中,平台服务可与其它应 用模块关联,并且服务的匹配可与促进一个或多个UI应用模块、例如示为图1的可视化平 台100的一部分的应用模块112、114、116、118之间的通信关联。在其它实施例中,可提供 以上所述的任何组合。
在一些实施例中,例如可嵌入传统平台、应用模块和/或瘦或胖客户端而不是在 主机平台上实现的实施例等,方法500可在框520继续进行,其中还可将主机平台的一个或 多个平台服务变换成传统平台、应用模块和/或客户端的一个或多个平台服务。例如并且 参照图4,适配器415和420可适合将主机平台的一个或多个平台服务变换成现有应用模 块410的一个或多个平台服务,以便提供互用。在另一个实施例中,适配器415和420可将 主机平台的一个或多个平台服务变换成客户端405的一个或多个平台服务。在其它实施例 中,可使用以上所述的任何组合。
大家会理解,本发明的实施例可以是技术无关的,并且可允许不同类型的UI应用 模块以集成方式运行。例如,实现和设计用于胖客户端的应用模块可使用上述应用模块和 /或部件的一个或多个与相同UI环境中的web瘦客户端采用级联式操作。因此,虽然以上 参照系统、方法、设备和/或计算机程序产品的框图和流程图来描述本发明,但是这些参照 仅作为本发明的示例实施例来提供。
另外,框图和流程图的框支持用于执行指定功能的部件组合、用于执行指定功能 的元件或步骤的组合以及用于执行指定功能的程序指令部件。根据本发明的一些实施例, 框图和流程图的某些框可以不一定需要按照所提供的顺序来执行,或者可以不一定需要完 全执行。
大家还会理解,框图和流程图的各框以及框图和流程图中的框的组合可通过执行 指定功能的基于硬件的专用计算机系统或元件或者专用硬件和计算机指令的组合来实现。 这些实施例还可采用其它计算机系统配置来实施,其中包括手持装置、多处理器系统、基于 微处理器的或者可编程消费电子产品、小型计算机、大型计算机等等。
本发明的某些实施例也可通过运行于计算机的操作系统的应用程序来实现。作为 补充或替代,应用程序(整体或部分)可位于远程存储器或者存储装置中,以便允许实践本 发明的某些实施例,其中任务由通过通信网络所链接的远程处理装置来执行。
大家还会理解,框图和流程图的一个或多个框以及框图和流程图中的框的组合可 分别可通过计算机可执行程序指令来实现。当通过计算机可执行指令来实现本发明的实施 例时,计算机程序指令可加载到通用计算机、专用计算机或者其它可编程数据处理设备以 产生机器,使得运行于计算机或其它可编程数据处理设备的指令创建用于实现本文所述的 框图的各框或者框图的框的组合的功能性的部件。这些计算机程序指令还可存储在计算机 可读存储器中,它们可指导计算机或其它可编程数据处理设备以特定方式起作用-包括实 现框中指定的功能,使得计算机可读存储器中存储的指令产生制造产品。这种制造产品可 包括用于实现流程图框中指定的一个或多个功能的指令部件。
本文提出的本发明的许多修改和其它实施例显然具有以上描述和附图中提供的 教导的有益效果。因此,要理解,本发明并不局限于所公开的具体实施例,并且修改和其它 实施例预计包含在所附权利要求书的范围之内。虽然本文中采用具体术语,但是它们仅以 一般的描述意义来使用,而不是用于限制。
部件表
100系统210模块定义库
102新应用模块215服务模块
104现有应用模块220平台实现模块
108模块管理器250现有应用模块
110平台服务255 XML方案
112本地可视化平台应用模块260模块定义库
120窗口管理器265服务模块
122会话管理270 .NET平台实现模块
124本地消息总线275平台适配器
126.NET平台适配器400系统
128Java平台适配器402可嵌入可视化平台微核
130浏览器类型平台适配器405客户端
200新应用模块410传统应用模块
205XML方案415窗口管理器适配器
500方法420会话管理适配器
505框515框
510框520框
114.NET应用框架的现有应用模块
116Java应用框架的现有应用模块
118浏览器类型应用框架的现有应用模块
权利要求
1.一种系统(100),包括用于存储数据和计算机可执行指令的至少一个存储器; 至少一个计算机接口 ;以及至少一个处理器,与所述至少一个计算机接口进行通信,配置成访问所述至少一个存 储器,且还配置成执行计算机可执行指令以用于接收(505)来自至少一个应用模块(112,114,116,118)的一个或多个用户界面服务请 求,其中所述至少一个应用模块(112,114,116,118)与第一平台关联;把来自所述至少一个应用模块的所述一个或多个用户界面服务请求变换(510)成对 主机平台的一个或多个用户界面服务请求;以及把来自所述至少一个应用模块(1 ,1 ,130)的一个或多个经变换的用户界面服务 请求与一个或多个平台服务(110)进行匹配(515),以在所述主机平台上向用户提供具有 所述至少一个应用模块(112,114,116,118)的可视界面。
2.如权利要求1所述的系统(100),其中,所述第一平台和所述主机平台适合与公共应 用框架配合操作。
3.如权利要求1所述的系统(100),其中,所述第一平台关联于适合与Java应用框架 配合操作的平台。
4.如权利要求1所述的系统(100),其中,所述第一平台关联于适合与Microsoft.NET 应用框架配合操作的平台。
5.如权利要求1所述的系统(100),其中,所述第一平台关联于适合与基于web的应用 框架配合操作的平台。
6.如权利要求1所述的系统(100),其中,至少一个应用模块(112,114,116,118)包括 声明式应用模块,并且所述至少一个处理器配置成执行计算机可执行指令以用于接收(50 来自所述声明式应用模块的一个或多个用户界面服务请求; 把来自所述声明式应用模块的所述一个或多个用户界面服务请求变换(510)成对所 述主机平台的一个或多个用户界面服务请求;以及把来自所述至少一个声明式应用模块的一个或多个经变换的用户界面服务请求与一 个或多个平台服务进行匹配(515),以在所述主机平台上向用户提供具有所述声明式应用 模块的可视界面。
7.如权利要求6所述的系统(100),其中,所述声明式应用模块配置成通过所述web服 务描述语言来定义所述一个或多个用户界面服务请求。
8.如权利要求1所述的系统(100),其中,所述可视界面是图形用户界面。
9.如权利要求1所述的系统(100),其中,与所述第一平台关联的所述至少一个应用模 块与下列至少一个关联Java应用框架、Microsoft. NET框架和基于web的应用框架。
10.一种在计算机可读介质上包含的用于在主机平台上提供面向服务的用户界面集成 总线的计算机程序,所述计算机程序包括执行下列步骤的指令接收(505)来自至少一个应用模块(112,114,116,118)的一个或多个用户界面服务请 求,其中所述至少一个应用模块(112,114,116,118)与第一平台关联;把来自所述至少一个应用模块(112,114,116,118)的所述一个或多个用户界面服务 请求变换(510)成对主机平台的一个或多个用户界面服务请求;以及把来自所述至少一个应用模块(1 ,1 ,130)的一个或多个经变换的用户界面服务 请求与一个或多个平台服务(110)进行匹配(515)以便在所述主机平台上向用户提供具有 所述至少一个应用模块(112,114,116,118)的可视界面。
全文摘要
本发明的实施例可提供用于提供面向服务的用户界面集成总线的系统和方法。根据一个实施例,可提供系统(100),其中具有用于存储计算机可执行指令的存储器以及经由计算机接口与存储器进行通信的处理器。处理器可适合运行计算机可执行指令,并且配置成接收(505)来自与第一平台关联的应用模块(112,114,116,118)的用户界面服务请求。处理器还可适合把来自应用模块(112,114,116,118)的用户界面服务请求变换(510)成对主机平台的用户界面服务请求。处理器还可适合将经变换的用户界面服务请求(126,128,130)与平台服务(110)进行匹配,以在主机平台上向用户提供具有应用模块(112,114,116,118)的可视界面。
文档编号G06F9/44GK102033745SQ20101050704
公开日2011年4月27日 申请日期2010年9月30日 优先权日2009年9月30日
发明者A·塞尔霍恩, R·拉森 申请人:通用电气公司