專利名稱:用于提供面向服務的用戶界面集成總線的系統(tǒng)和方法
用于提供面向服務的用戶界面集成總線的系統(tǒng)和方法技術領域
一般來說,本發(fā)明涉及用戶界面,更具體來說,涉及用于提供面向服務的用戶界面 集成總線的系統(tǒng)和方法。
背景技術:
常規(guī)用戶界面(“UI”)集成技術允許用戶與一個或多個計算機應用程序進行合 作和交互。常規(guī)UI集成技術的示例包括與MicrosoftWindows配合使用的ActiveX以及 與例如Eclipse應用程序框架等平臺配合使用的開放服務網(wǎng)關規(guī)范(“OSGi”)。雖然這 些常規(guī)UI集成技術用于允許用戶與特定部件接口的它們的預計目的,但是它們是技術相 關的。例如,OSGi是語言相關的,以Java代碼編寫。而ActiveX局限于基于Microsoft的 平臺。因此,由于常規(guī)UI集成技術不是技術中立的,所以常規(guī)UI集成技術具有有限互用性 (interoperability),并且在它們可在技術之間轉移之前可能要求相當大的重新設計。
另外,常規(guī)UI集成技術針對部件集成而不是應用程序集成(application integration)。隨著為了增加的效率而集成不同系統(tǒng)的主動性的出現(xiàn),常規(guī)UI集成技術必 須重新設計,以便允許用戶使用公共平臺與來自這些系統(tǒng)的應用程序接口。這種主動性的 一個示例是智能電網(wǎng)。智能電網(wǎng)針對通過公共平臺將一組新的應用程序與傳統(tǒng)電力網(wǎng)系統(tǒng) 集成以用于進行實時監(jiān)測和控制。通過使公共平臺能夠代替多個判定器在更本地的等級進 行能量分配判定,智能電網(wǎng)針對增加與公用電力網(wǎng)關聯(lián)的效率。但是,這些增加的效率要求 在公共平臺的用戶與傳統(tǒng)系統(tǒng)所提供的各種應用程序進行交互,因而要求通過公共平臺來 集成不同的應用程序。常規(guī)UI集成技術不適合應用程序集成,因此不允許用戶在公平平臺 的交互。
因此,需要使用戶能夠使用公共平臺、以技術中立方式與來自不同技術的各種應 用程序接口。更具體來說,需要用于提供面向服務的用戶界面集成總線的系統(tǒng)和方法。發(fā)明內容
本發(fā)明的實施例可解決上述部分或全部需要。本發(fā)明的某些實施例一般針對用于 提供面向服務的用戶界面集成總線的系統(tǒng)和方法。根據(jù)一個實施例,可提供一種用于在主 機平臺上提供面向服務的用戶界面集成總線的方法。該方法可包括接收來自應用模塊的用 戶界面服務請求。應用模塊可與作為公共的或者與主機平臺不同的第一平臺關聯(lián)。該方法 還可包括把來自應用模塊的用戶界面服務請求變換成對主機平臺的用戶界面服務請求。該 方法還可包括將經(jīng)變換的用戶界面服務請求與一個或多個平臺服務進行匹配,以便通過主 機平臺向用戶提供具有應用模塊的可視界面。
根據(jù)另一個實施例,可提供一種用于提供面向服務的用戶界面集成總線的系統(tǒng)。 該系統(tǒng)可包括用于存儲計算機可執(zhí)行指令的存儲器以及經(jīng)由計算機接口與存儲器進行通 信的處理器。處理器可通過計算機可執(zhí)行指令配置成接收來自與第一平臺關聯(lián)的應用模塊 的用戶界面服務請求。處理器還可適合把來自應用模塊的用戶界面服務請求變換成對主機平臺的用戶界面服務請求。處理器還可適合將經(jīng)變換的用戶界面服務請求與平臺服務進行 匹配,以便在主機平臺上向用戶提供具有應用模塊的可視界面。
根據(jù)本發(fā)明的又一個實施例,可提供一種在計算機可讀介質上包含的用于在主機 平臺上提供面向服務的用戶界面集成總線的計算機程序。計算機程序可包括用于使處理器 適合接收來自應用模塊的用戶界面服務請求的指令。計算機程序還可包括使處理器適合把 來自應用模塊的用戶界面服務請求變換成對主機平臺的用戶界面服務請求的指令。計算機 程序還可包括使處理器適合將經(jīng)變換的用戶界面服務請求與一個或多個平臺服務進行匹 配以通過主機平臺向用戶提供具有應用模塊的可視界面的指令。
通過以下結合附圖的描述,本發(fā)明的其它實施例和方面將會顯而易見。
通過以這種方式概括地描述了本發(fā)明,現(xiàn)在將參照附圖,附圖不一定按比例繪制, 包括
圖1示出根據(jù)另一個實施例、用于提供面向服務的用戶界面集成總線的示例系 統(tǒng)。
圖2示出根據(jù)本發(fā)明的一個實施例、作為面向服務的用戶界面集成總線的一部分 的示范應用模塊。
圖3示出根據(jù)另一個實施例、用于提供面向服務的用戶界面集成總線的示例系統(tǒng) 和方法。
圖4示出根據(jù)另一個實施例、用于提供嵌入式面向服務的用戶界面集成總線的示 例系統(tǒng)。
圖5示出根據(jù)另一個實施例、用于提供面向服務的用戶界面集成總線的示例方法。
具體實施方式
下面參照附圖更全面地描述本發(fā)明,附圖中表示本發(fā)明的示例實施例。但是,本發(fā) 明可通過許多不同的形式來實施,而不應當理解為局限于本文所提出的示例實施例;相反, 提供這些實施例使得本公開將向本領域的技術人員傳遞本發(fā)明的范圍。相似的標號通篇表 示相似的元件。
本發(fā)明的某些實施例可把來自不同技術的用戶界面(“UI”)應用程序集成到單個 面向服務的UI中。這樣,本發(fā)明的某些實施例可為系統(tǒng)開發(fā)人員提供公共平臺來支持現(xiàn)有 應用程序或者為一系列現(xiàn)有或正開發(fā)的技術和/或系統(tǒng)提供新應用程序。換言之,本發(fā)明 的某些實施例可提供不同技術的互用,無論這類技術是由不同團隊設計還是為不同目的而 獲取,使得可從單個清楚定義的集成運行時間環(huán)境來操作它們。例如,本發(fā)明的某些實施例 可以是智能電網(wǎng)的實現(xiàn)技術,它從一個統(tǒng)一圖形用戶界面來支持使用戶能夠控制和監(jiān)測往 往采用大量相異系統(tǒng)的整個配電網(wǎng)的系統(tǒng)。因此,互用是本發(fā)明的某些實施例的至少一種 技術效果。
另外,本發(fā)明的某些實施例可減少重新設計并且提高與系統(tǒng)集成關聯(lián)的效率。在 某些實施例中,可提供對傳統(tǒng)系統(tǒng)中的應用程序的訪問,因而減少現(xiàn)代設計中對重新實現(xiàn)傳統(tǒng)應用程序的需要。在其它實施例中,傳統(tǒng)應用程序的能力可通過啟用可支持這些傳統(tǒng) 系統(tǒng)的更先進UI應用程序的實現(xiàn)得到擴展。因此,在提供對傳統(tǒng)應用程序的可互用接口 中,減少對重新實現(xiàn)現(xiàn)有功能性的需要。從成本角度來看,通過實現(xiàn)對現(xiàn)有應用程序的訪問 而不是將現(xiàn)有應用程序重新實現(xiàn)為新系統(tǒng)的新應用程序,本發(fā)明的某些實施例可提供與傳 統(tǒng)系統(tǒng)集成關聯(lián)的成本降低。因此,以降低成本的系統(tǒng)集成是本發(fā)明的某些實施例的至少 另外一種技術效果。
圖1示出根據(jù)一個實施例、用于提供面向服務的用戶界面集成總線的示例系統(tǒng) 100。大家會理解,雖然在圖1中示出并且針對圖1描述系統(tǒng)100,但是僅作為舉例來提供系 統(tǒng)100。許多其它系統(tǒng)操作環(huán)境、體系結構和/或配置是可能的。相應地,本發(fā)明的實施例 不應當被理解為局限于圖1中所示并且針對圖1所述的任何特定操作環(huán)境、體系結構或配置。
一般來說,系統(tǒng)100可描述為可視化平臺100。可視化平臺可用于為用戶提供數(shù)據(jù) 可視化(供操縱數(shù)據(jù))以及與數(shù)據(jù)進行交互的數(shù)據(jù)開發(fā)環(huán)境。但是與常規(guī)技術相比,可視 化平臺100包括新特征,它們可使現(xiàn)有傳統(tǒng)UI應用模塊(可在不同應用框架上實現(xiàn)的)和 新UI應用模塊(可以或者可以不在主機平臺的應用框架上實現(xiàn)的)能夠在主機平臺上在 一個或多個UI運行時間環(huán)境中運行和通信。在示例實施例中,這種功能性可通過所示的示 例高級體系結構來提供。
作為這種高級體系結構的一部分,可提供一種面向服務的用戶界面集成總線。在 示例實施例中,可視化平臺100可包括適合與模塊管理器108接口的一個或多個UI應用 模塊。在一個實施例中,可視化平臺100可包括新應用模塊102,它可對應于可適合在主機 平臺或第一平臺中的操作的一個或多個UI應用模塊。在另一個實施例中,可視化平臺100 可包括現(xiàn)有應用模塊104,它可對應于也適合在第一平臺中的操作的一個或多個UI應用模 塊。在一個實施例中,第一平臺可與主機平臺共享公共應用框架。在其它實施例中,第一平 臺和主機平臺可適應不同的應用框架。
在示例實施例中,例如新應用模塊102和現(xiàn)有應用模塊104等UI應用模塊可向模 塊管理器108描述它們可提供的UI服務以及它們可消費的UI服務。UI服務描述由UI應 用模塊所使用的服務,使得可將一個或多個顯示提供給用戶。在一個實施例中,例如當UI 應用模塊和主機平臺共享公用應用框架時,模塊管理器108可在接收到來自一個或多個UI 應用模塊的UI服務請求之后,將從主機平臺可得到的一個或多個UI服務與一個或多個UI 應用模塊進行匹配。在另一個實施例中,例如當UI應用模塊和主機平臺沒有共享公用應用 框架時,模塊管理器108可把來自UI應用模塊的UI服務請求變換成對主機平臺的UI服務 請求。確定了對主機平臺的UI服務請求,模塊管理器108可將經(jīng)變換的UI服務請求與從 主機平臺可得到的UI服務進行匹配。
在提供UI集成總線時,模塊管理器108可采用從主機平臺可得到的UI服務、如平 臺服務110來促進現(xiàn)有UI應用模塊104與新UI應用模塊102之間的通信。一旦將UI服 務與一個或多個應用模塊進行匹配,模塊管理器108可與平臺服務110接口,以便在主機平 臺上向用戶提供可視界面。至少通過這種方式,通過將從主機平臺可得到的UI服務與這些 不同應用模塊所請求的UI服務進行匹配以向用戶提供公共界面,可視化平臺100可以是面 向服務的。
圖2示出UI應用模塊200-它可表示例如本地可視化平臺應用模塊112等的新應 用模塊102的一個實施例-和UI應用模塊250-它可表示例如UI應用模塊114等的現(xiàn)有 應用模塊104的一個實施例。在一個實施例中,UI應用模塊200可以是聲明式的或者呈現(xiàn) 聲明式特征,表示UI應用模塊200可包括技術無關特征。在另一個實施例中,UI應用模塊 200可以是技術相關的,并且可與一個或多個應用框架關聯(lián)。
UI應用模塊200可包括四個部件(1)基于可擴展標記語言(“XML”)的方案庫 205 ;⑵模塊定義庫210 ; (3)服務模塊215 ;以及(4)平臺實現(xiàn)模塊220。XML方案庫205 可定義UI應用模塊200的一個或多個對象。模塊定義庫210可包含UI應用模塊200的一 個或多個定義特性,例如與主機平臺上的UI應用模塊200的實現(xiàn)關聯(lián)的信息和/或模塊名 稱、模塊版本信息、模塊依存關系(cbpendency)。服務模塊215可定義用于實現(xiàn)主機平臺上 的UI應用模塊200的XML方案205的一個或多個XML對象的本地服務。
平臺實現(xiàn)模塊220可按照主機平臺的應用框架來提供由服務模塊215所請求的UI 服務。也就是說,在示例實施例中,平臺實現(xiàn)模塊220可按照主機平臺上的UI應用模塊200 的本地服務215來實現(xiàn)XML方案205。為了進行說明,XML方案205中定義的一個或多個數(shù) 據(jù)對象可要求在UI中實現(xiàn)的一個或多個服務215。為此,平臺實現(xiàn)模塊220可在主機平臺 上實現(xiàn)用于XML方案205中定義的一個或多個數(shù)據(jù)對象的服務215。
大家會理解,雖然在示例實施例中,新應用模塊102和200可被集成和/或設計為 在主機平臺上現(xiàn)有的應用框架上進行操作,但是新應用模塊102和200也可與可為其它平 臺存在的應用框架關聯(lián)。也就是說,在一些實施例中,平臺實現(xiàn)模塊220可與不同于主機平 臺的應用框架關聯(lián)。在這類實施例中,當平臺實現(xiàn)模塊220與不同于主機平臺的應用框架 關聯(lián)時,一個或多個適配器還可與UI應用模塊200結合使用以用于提供技術中立和/或無 關性。下面相對于現(xiàn)有應用模塊250來描述示例適配器。
大家還會理解,由于在一些實施例中,新應用模塊102和200可呈現(xiàn)技術無關特 征,這些特征可與上述模塊或庫的一個或多個關聯(lián)。也就是說,在UI應用模塊102和UI應 用模塊200可以是聲明式的實施例中,XML方案205、模塊定義庫210和服務模塊215的一 個或多個可例如通過一種或多種編程語言呈現(xiàn)技術無關特征。在示例實施例中,UI應用模 塊102和UI應用模塊200可使用萬維網(wǎng)服務描述語言(“WSDL”)的變型來定義UI服務, 但例外的是,不是定義萬維網(wǎng)服務,UI應用模塊102和UI應用模塊200而是可通過平臺實 現(xiàn)模塊220向模塊管理器108請求UI本地服務,以便通過主機來提供公共UI。更具體來 說,作為聲明式模塊,服務模塊215可明確請求UI本地服務,表示服務模塊215可描述一個 或多個XML對象205的要求的服務,而不管主機平臺上的實現(xiàn)。平臺實現(xiàn)220在接收到按 照服務定義庫215所定義的對服務的明確呼叫(call)之后,則可與在主機平臺上實現(xiàn)這些 服務關聯(lián)。
繼續(xù)參照圖1和圖2,現(xiàn)有應用模塊250可對應于現(xiàn)有應用模塊104、如UI應用模 塊114,它可適合于在不同于主機平臺的應用框架、如示例實施例中的Microsoft. NET應用 框架上的操作。在示例實施例中,現(xiàn)有UI應用模塊250示為包括可以是聲明式的一個或多 個部件,其中包括XML方案255、模塊定義庫260和服務定義庫沈5。大家會理解,雖然示例 實施例將現(xiàn)有應用模塊250呈現(xiàn)為具有聲明式方面,但是本發(fā)明的其它實施例可與具有更 少、更多或者沒有聲明式方面的現(xiàn)有應用模塊關聯(lián)。
除了聲明式模塊之外,現(xiàn)有應用模塊250還可包括用于在可與主機平臺不同的 平臺上實現(xiàn)現(xiàn)有應用模塊250的實現(xiàn)模塊。在示例實施例中,將實現(xiàn)模塊呈現(xiàn)為用于在 Microsoft. NET應用框架中實現(xiàn)現(xiàn)有應用模塊250的Microsoft. NET實現(xiàn)模塊270。例如 Microsoft. NET實現(xiàn)模塊270等實現(xiàn)模塊可按照一個或多個主機平臺的現(xiàn)有應用框架來提 供由服務模塊260所請求的UI服務。由于現(xiàn)有應用模塊250配置成在單個應用框架上進 行操作,所以現(xiàn)有應用模塊250不是技術中立的。換言之,在常規(guī)系統(tǒng)中,用戶不能從具有 與實現(xiàn)模塊270所提供的應用框架不同的應用框架的平臺與現(xiàn)有應用模塊250進行交互。 但是,本發(fā)明的某些實施例可例如通過圖2所示的一個或多個平臺適配器275和圖1所示 的平臺適配器126、128、130來提供技術中立。
平臺適配器275提供用于當現(xiàn)有應用模塊250與不同于主機平臺的應用框架關聯(lián) 時在主機平臺上實現(xiàn)現(xiàn)有應用模塊250的適配器的一個示例實施例。平臺適配器275通過 模塊管理器108來提供現(xiàn)有應用模塊250的實現(xiàn)模塊270與主機平臺上實現(xiàn)的應用框架之 間的橋接。
例如,平臺適配器1 和1 可允許模塊管理器108主管應用模塊,這些應用模塊 采用與多個應用框架、如示例實施例中所示的Microsoft. NET和Java應用框架關聯(lián)的語言 所編寫。如web應用適配器130等適配器可允許模塊管理器108集成來自附加應用框架和 /或平臺的應用模塊,如瀏覽器應用模塊和胖客戶端(thick client)。在兩種情況下,模塊 管理器108可將單個用戶界面作為提供技術中立的可視化平臺100的一部分來提供。
為了參照可視化平臺100進行說明,在框104提供包含在一個或多個平臺適配器 中的現(xiàn)有應用模塊。通過經(jīng)由模塊管理器108橋接現(xiàn)有應用模塊104的實現(xiàn)特征與主機平 臺的實現(xiàn)特征,適配器126、1觀和130可允許可視化平臺100支持現(xiàn)有應用模塊104,同時 還支持新應用模塊102,而無需對現(xiàn)有應用模塊104的修改。這種支持可與改進互用性關 聯(lián)。在示例實施例中,現(xiàn)有應用模塊104可包括下列平臺適配器的任一個或多個(1)平臺 適配器1 可關聯(lián)于使Microsoft. NET應用模塊適合與可視化平臺100集成;( 平臺適 配器1 可關聯(lián)于使Java應用模塊適合與可視化平臺100集成;以及( 平臺適配器130 可關聯(lián)于使基于web的和/或因特網(wǎng)瀏覽器應用模塊與可視化平臺100集成。
平臺適配器1沈、1觀和130可將現(xiàn)有應用模塊104與可視化平臺100關聯(lián),而無 需修改現(xiàn)有應用程序104的功能性,即使這些應用模塊可設計和配置成運行于與多個平臺 關聯(lián)的多個應用框架上。要實現(xiàn)這一點,平臺適配器126、1觀和130可通過模塊管理器108 將現(xiàn)有應用模塊104所請求的UI服務與通過可視化平臺100所提供的一個或多個UI服務 橋接。例如,在一個實施例中,模塊管理器108可將可視化平臺100所提供的對于用戶界面 的一個或多個平臺服務110與來自一個或多個應用模塊114、116、118、通過一個或多個平 臺適配器1沈、1觀、130提供給模塊管理器108的一個或多個UI服務請求進行匹配。
例如,如果現(xiàn)有應用程序114具有清楚定義的開窗系統(tǒng)(windowing system),則 應用適配器、如Microsoft. NET適配器1 可把來自現(xiàn)有應用模塊114的UI服務請求變換 成與一個或多個開窗系統(tǒng)應用編程接口(“API”)對應的UI服務請求。模塊管理器108還 可將Microsoft. NET平臺適配器1 所提供的經(jīng)變換的UI服務請求映射到可視化平臺100 所提供的一個或多個主機平臺服務110,下面更全面地進行描述。這樣,現(xiàn)有應用程序114 可與可視化平臺100集成,而無需干擾模塊114的核心功能性。8
除了向現(xiàn)有應用模塊104提供從主機平臺可得到的一個或多個UI服務之外,模塊 管理器108還可提供一個或多個現(xiàn)有應用模塊104之間、如應用模塊116(它可配置用于 Java應用框架)與模塊114(它可配置用于Microsoft. NET應用框架)之間的互用。
為了參照圖3進行說明,現(xiàn)有應用模塊116可向傳統(tǒng)Java應用框架請求UI服務。 平臺適配器1 可把來自應用模塊116的UI服務請求變換成主機平臺的UI服務請求,它 在示例實施例中示為基于XML的UI服務請求??蓪⒒赬ML的UI服務請求提供給模塊管 理器108。模塊管理器108可將基于XML的服務請求與主機平臺的一個或多個UI服務進行 匹配,然后通過平臺適配器1 來調用應用模塊114中的UI服務請求。平臺適配器1 可 配置成把來自模塊管理器108、與主機平臺的UI服務對應的UI服務請求變換成對現(xiàn)有模塊 114(其配置用于Microsoft. NET應用框架)的UI服務請求(在一個實施例中例如通過使 用Java本地接口)。當現(xiàn)有應用模塊104對應于基于web的和/或因特網(wǎng)瀏覽器應用模塊 時,Java本地接口也可用于把來自web應用模塊118的UI服務請求變換和映射到通過模 塊管理器108可得到的UI服務。至少通過這些方式,可視化平臺100可提供一個或多個現(xiàn) 有應用模塊104之間的互用。
在示例實施例中,模塊管理器108與提供一個或多個應用模塊102和104之間的 互用以及與在主機平臺上實現(xiàn)應用模塊102和104關聯(lián)。應用模塊的實現(xiàn)可以例如通過新 應用模塊102的實現(xiàn)模塊直接進行,或者例如通過平臺適配器1沈、1觀和130間接進行。當 直接實現(xiàn)應用模塊(這在應用模塊102包括與主機平臺的應用框架對應的實現(xiàn)模塊時可發(fā) 生)時,模塊管理器108可把來自應用模塊的UI服務請求傳遞給主機平臺的平臺服務模塊 110。當間接實現(xiàn)應用模塊(這在現(xiàn)有應用模塊104包括不與主機平臺的應用框架對應的 實現(xiàn)模塊時可發(fā)生)時,模塊管理器108可參照現(xiàn)有應用模塊104來識別適當適配器并且 加載適當適配器。
大家會理解,為了與一個或多個適當平臺適配器進行交互以及提供上述功能性, 模塊管理器108可通過任何適當編程語言來實現(xiàn)和適當?shù)嘏渲?。例如,在一個實施例中,模 塊管理器108可通過Java來實現(xiàn)。為了與示為配置用于Microsoft. NET平臺的可視化平 臺100中的現(xiàn)有應用模塊114進行交互,可提供Microsoft. NET適配器126以便將模塊管 理器108橋接到現(xiàn)有應用模塊114。在一個實施例中,Microsoft. NET適配器1 可對應于 基于Java本地接口(Java NativeInterface)的適配器,用于允許應用模塊114與Java編 碼的模塊管理器108進行交互?;贘ava本地接口的適配器也可對應于平臺適配器130。 這樣,平臺適配器130可把來自web應用模塊118的UI服務請求變換成模塊管理器108的 Java API。
又參照圖1,在框110可提供用于平臺支持的一個或多個平臺服務。與針對部件集 成的常規(guī)UI技術不同,可視化平臺100可包括可針對解決與UI應用集成相關的問題的一 組平臺服務。也就是說,可視化平臺100可提供采用模塊管理器108支持UI集成的一個或 多個服務。
這些服務可包括例如窗口管理器120所提供的開窗服務。窗口管理器120可管理 在主機平臺上向用戶顯示的窗口,以及例如通過上述平臺適配器來為用戶提供修改一個或 多個應用模塊的操作的能力。窗口管理器120還可允許用戶創(chuàng)建窗口對象,以及通過模塊 管理器108在一個或多個應用模塊之間引導數(shù)據(jù)。在提供開窗服務時,窗口管理器120可管理可視化平臺100與基于窗口的操作環(huán)境或者與本領域已知的其它操作環(huán)境的集成。
平臺服務110還可包括由會話管理模塊122所提供的會話管理服務。會話管理模 塊122可管理主機平臺的系統(tǒng)資源以適應來自上述各種應用模塊的UI服務請求,以便提供 主機平臺的可靠操作。會話管理模塊122還可允許一個或多個應用模塊共享會話信息,以 及提供用戶服務、例如與登錄、注銷和用戶消息關聯(lián)的用戶服務。
平臺服務110還可包括本地總線管理器124,用于通過模塊管理器108來管理一 個或多個應用模塊之間的消息。大家會理解,雖然相對上述服務來描述平臺服務110,但是 所述的特定服務僅為了進行示例來提供,并且意在傳送一組可能的服務以支持通過模塊管 理器108的UI集成。相應地,本發(fā)明的實施例不應當被理解為局限于所述的特定平臺服務 110。
大家還會理解,雖然相對圖1所述的高級體系結構包括用于以技術中立方式提供 UI服務的一個或多個適配器和方法,但是,按照本發(fā)明的其它實施例,可采用附加體系結 構。例如,可手動并且以點對點方式而不是通過所述的一個或多個適配器來集成不同技術。 因此,大家會理解,除了相對圖1所示和所述的高級體系結構之外,還可存在本發(fā)明的其它 實施例。
例如,本發(fā)明的其它實施例可嵌入傳統(tǒng)平臺中,而不是在新主機平臺上實現(xiàn)。也 就是說,在一些實施例中,可視化平臺100可嵌入傳統(tǒng)系統(tǒng)中,它可允許設計用于圖1的面 向服務的用戶集成總線的應用模塊在傳統(tǒng)系統(tǒng)上操作,由此擴展傳統(tǒng)系統(tǒng)的功能性和實用 性,而無需重新設計和重新實現(xiàn)傳統(tǒng)系統(tǒng)中的這些應用模塊。
這種實施例如圖4的系統(tǒng)400所示。系統(tǒng)400可以是傳統(tǒng)應用模塊或者具有可嵌 入可視化平臺微核402的計算機系統(tǒng)客戶端405的一部分。微核402可與客戶端405中的 現(xiàn)有傳統(tǒng)應用模塊410 —起運行,由此允許傳統(tǒng)應用模塊410與新應用模塊102進行交互, 該新應用模塊102可設計和實現(xiàn)為與傳統(tǒng)系統(tǒng)不可互用的主機平臺的面向服務的用戶集 成總線的一部分。換言之,可能希望包括語言和平臺中立部件的傳統(tǒng)應用模塊410和傳統(tǒng) 系統(tǒng)、如客戶端405可通過使用嵌入微核402來如此進行。
微核402可經(jīng)由若干平臺機制集成在客戶端405中,取決于與傳統(tǒng)系統(tǒng)或應用模 塊關聯(lián)的技術。例如,在一個實施例中,Java客戶端可經(jīng)由Java本地接口嵌入對于面向服 務的用戶集成總線的應用模塊。在另一個實施例中,Microsoft客戶端可經(jīng)由一個或多個 基于Microsoft的技術、如部件對象模型(“COM”)和ActiveX來嵌入對于面向服務的用戶 集成總線的應用模塊。
在一個實施例中,可視化平臺微核402可嵌入客戶端405中,并且適合通過一個或 多個適配器415、420與傳統(tǒng)應用模塊410接口。適配器415和420可提供傳統(tǒng)系統(tǒng)的基本 服務,例如開窗、會話管理和應用程序間通信。適配器415和420可作為微核402的一部分 配置成向微核402中包含的應用模塊112提供本地功能性,而無需修改新應用模塊102的 功能性或實現(xiàn)。在一個實施例中,適配器415和420可將主機平臺的一個或多個平臺服務 變換成現(xiàn)有應用模塊410的一個或多個平臺服務,以便提供互用。在另一個實施例中,適配 器415和420可將主機平臺的一個或多個平臺服務變換成客戶端405的一個或多個平臺服 務。
例如,窗口管理器模塊120可適合經(jīng)由適配器415使可視化平臺100的本地應用模塊112寄宿(hosted)在客戶端405所使用的開窗系統(tǒng)內部。例如,在一個實施例中,當嵌 入微核402是Java客戶端時,客戶端405可以是Microsoft. NET客戶端。在這種情況下, 適配器415可與把來自窗口管理器120的基于Java的窗口服務請求變換成客戶端405的 Microsoft. NET窗口服務請求關聯(lián)。在例如客戶端405可能缺少開窗系統(tǒng)等的其它實施例 中,適配器415和/或420可以是可選的。
圖5示出根據(jù)本發(fā)明一個實施例、用于提供面向服務的用戶界面集成總線的示例 方法500。如圖5所示,方法500在框505開始,其中從應用模塊接收UI服務請求。UI服 務請求可從關聯(lián)第一平臺的應用模塊接收。在一個實施例中,第一平臺可與主機平臺共享 公共應用框架。例如并且參照圖1,可從可集成和/或設計為在主管可視化平臺100的平臺 上進行操作的例如本地可視化平臺應用模塊112等的新應用模塊102來接收UI服務請求。 來自新應用模塊102的UI服務請求可由模塊管理器108或者在其它實施例中直接由一個 或多個平臺服務110來接收。
在另一個實施例中,可從關聯(lián)于具有應用框架(與主機平臺不同)的第一平臺的 應用模塊來接收UI服務請求。例如,在一個實施例中,可從關聯(lián)于適合與Microsoft. NET 應用框架配合操作的平臺的應用模塊、如可視化平臺100中的應用模塊114來接收UI服務 請求。在另一個實施例中,應用模塊可與適合與Java應用框架配合操作的平臺關聯(lián),例如 可視化平臺100中的應用模塊116。在另一個實施例中,應用模塊可與基于web的和/或因 特網(wǎng)瀏覽器平臺關聯(lián),例如可視化平臺100中的應用模塊118。在又一些實施例中,可使用 以上實施例的任何一個或多個。
大家會理解,由于應用模塊可與不同于主機平臺的平臺關聯(lián),所以應用模塊也可 以是聲明式的或者具有聲明式特征。換言之,在一些實施例中,應用模塊的一個或多個方面 不需要與任何特定平臺或應用框架關聯(lián),表示這類應用模塊可具有技術無關特征。在又一 些實施例中,應用模塊可與主機平臺的應用框架關聯(lián)。
方法500在框510繼續(xù)進行,其中可把來自應用模塊的UI服務請求變換成對主機 平臺的UI服務請求。例如并且參照可視化平臺100,來自應用模塊114的UI服務請求可由 平臺適配器1 接收,并且變換成對主管可視化平臺100的平臺的UI服務請求。在一個實 施例中,應用模塊和平臺適配器可與Microsoft. NET應用框架關聯(lián),如平臺適配器1 和應 用模塊114那樣。在另一個實施例中,應用模塊和平臺適配器可與Java應用框架關聯(lián),例 如平臺適配器1 和應用模塊116。在另一個實施例中,應用模塊和平臺適配器可與基于 web的應用框架關聯(lián),例如平臺適配器130和應用模塊118。在其它實施例中,以上所述的 任何組合可被使用和/或與附加應用框架組合。
在框515,方法500可繼續(xù)進行,其中可把來自應用模塊的經(jīng)變換的UI服務請求 與一個或多個平臺服務進行匹配。在一個實施例中,平臺服務可與主機平臺關聯(lián),并且服務 的匹配可經(jīng)由主機平臺向用戶提供可視界面、如圖形用戶界面。例如并且參照可視化平臺 100,經(jīng)變換的UI服務請求可由模塊管理器108接收,并且由模塊管理器108將其與通過平 臺服務110可得到的一個或多個UI服務進行匹配。在其它實施例中,平臺服務可與其它應 用模塊關聯(lián),并且服務的匹配可與促進一個或多個UI應用模塊、例如示為圖1的可視化平 臺100的一部分的應用模塊112、114、116、118之間的通信關聯(lián)。在其它實施例中,可提供 以上所述的任何組合。
在一些實施例中,例如可嵌入傳統(tǒng)平臺、應用模塊和/或瘦或胖客戶端而不是在 主機平臺上實現(xiàn)的實施例等,方法500可在框520繼續(xù)進行,其中還可將主機平臺的一個或 多個平臺服務變換成傳統(tǒng)平臺、應用模塊和/或客戶端的一個或多個平臺服務。例如并且 參照圖4,適配器415和420可適合將主機平臺的一個或多個平臺服務變換成現(xiàn)有應用模 塊410的一個或多個平臺服務,以便提供互用。在另一個實施例中,適配器415和420可將 主機平臺的一個或多個平臺服務變換成客戶端405的一個或多個平臺服務。在其它實施例 中,可使用以上所述的任何組合。
大家會理解,本發(fā)明的實施例可以是技術無關的,并且可允許不同類型的UI應用 模塊以集成方式運行。例如,實現(xiàn)和設計用于胖客戶端的應用模塊可使用上述應用模塊和 /或部件的一個或多個與相同UI環(huán)境中的web瘦客戶端采用級聯(lián)式操作。因此,雖然以上 參照系統(tǒng)、方法、設備和/或計算機程序產品的框圖和流程圖來描述本發(fā)明,但是這些參照 僅作為本發(fā)明的示例實施例來提供。
另外,框圖和流程圖的框支持用于執(zhí)行指定功能的部件組合、用于執(zhí)行指定功能 的元件或步驟的組合以及用于執(zhí)行指定功能的程序指令部件。根據(jù)本發(fā)明的一些實施例, 框圖和流程圖的某些框可以不一定需要按照所提供的順序來執(zhí)行,或者可以不一定需要完 全執(zhí)行。
大家還會理解,框圖和流程圖的各框以及框圖和流程圖中的框的組合可通過執(zhí)行 指定功能的基于硬件的專用計算機系統(tǒng)或元件或者專用硬件和計算機指令的組合來實現(xiàn)。 這些實施例還可采用其它計算機系統(tǒng)配置來實施,其中包括手持裝置、多處理器系統(tǒng)、基于 微處理器的或者可編程消費電子產品、小型計算機、大型計算機等等。
本發(fā)明的某些實施例也可通過運行于計算機的操作系統(tǒng)的應用程序來實現(xiàn)。作為 補充或替代,應用程序(整體或部分)可位于遠程存儲器或者存儲裝置中,以便允許實踐本 發(fā)明的某些實施例,其中任務由通過通信網(wǎng)絡所鏈接的遠程處理裝置來執(zhí)行。
大家還會理解,框圖和流程圖的一個或多個框以及框圖和流程圖中的框的組合可 分別可通過計算機可執(zhí)行程序指令來實現(xiàn)。當通過計算機可執(zhí)行指令來實現(xiàn)本發(fā)明的實施 例時,計算機程序指令可加載到通用計算機、專用計算機或者其它可編程數(shù)據(jù)處理設備以 產生機器,使得運行于計算機或其它可編程數(shù)據(jù)處理設備的指令創(chuàng)建用于實現(xiàn)本文所述的 框圖的各框或者框圖的框的組合的功能性的部件。這些計算機程序指令還可存儲在計算機 可讀存儲器中,它們可指導計算機或其它可編程數(shù)據(jù)處理設備以特定方式起作用-包括實 現(xiàn)框中指定的功能,使得計算機可讀存儲器中存儲的指令產生制造產品。這種制造產品可 包括用于實現(xiàn)流程圖框中指定的一個或多個功能的指令部件。
本文提出的本發(fā)明的許多修改和其它實施例顯然具有以上描述和附圖中提供的 教導的有益效果。因此,要理解,本發(fā)明并不局限于所公開的具體實施例,并且修改和其它 實施例預計包含在所附權利要求書的范圍之內。雖然本文中采用具體術語,但是它們僅以 一般的描述意義來使用,而不是用于限制。
部件表
100系統(tǒng)210模塊定義庫
102新應用模塊215服務模塊
104現(xiàn)有應用模塊220平臺實現(xiàn)模塊
108模塊管理器250現(xiàn)有應用模塊
110平臺服務255 XML方案
112本地可視化平臺應用模塊260模塊定義庫
120窗口管理器265服務模塊
122會話管理270 .NET平臺實現(xiàn)模塊
124本地消息總線275平臺適配器
126.NET平臺適配器400系統(tǒng)
128Java平臺適配器402可嵌入可視化平臺微核
130瀏覽器類型平臺適配器405客戶端
200新應用模塊410傳統(tǒng)應用模塊
205XML方案415窗口管理器適配器
500方法420會話管理適配器
505框515框
510框520框
114.NET應用框架的現(xiàn)有應用模塊
116Java應用框架的現(xiàn)有應用模塊
118瀏覽器類型應用框架的現(xiàn)有應用模塊
權利要求
1.一種系統(tǒng)(100),包括用于存儲數(shù)據(jù)和計算機可執(zhí)行指令的至少一個存儲器; 至少一個計算機接口 ;以及至少一個處理器,與所述至少一個計算機接口進行通信,配置成訪問所述至少一個存 儲器,且還配置成執(zhí)行計算機可執(zhí)行指令以用于接收(505)來自至少一個應用模塊(112,114,116,118)的一個或多個用戶界面服務請 求,其中所述至少一個應用模塊(112,114,116,118)與第一平臺關聯(lián);把來自所述至少一個應用模塊的所述一個或多個用戶界面服務請求變換(510)成對 主機平臺的一個或多個用戶界面服務請求;以及把來自所述至少一個應用模塊(1 ,1 ,130)的一個或多個經(jīng)變換的用戶界面服務 請求與一個或多個平臺服務(110)進行匹配(515),以在所述主機平臺上向用戶提供具有 所述至少一個應用模塊(112,114,116,118)的可視界面。
2.如權利要求1所述的系統(tǒng)(100),其中,所述第一平臺和所述主機平臺適合與公共應 用框架配合操作。
3.如權利要求1所述的系統(tǒng)(100),其中,所述第一平臺關聯(lián)于適合與Java應用框架 配合操作的平臺。
4.如權利要求1所述的系統(tǒng)(100),其中,所述第一平臺關聯(lián)于適合與Microsoft.NET 應用框架配合操作的平臺。
5.如權利要求1所述的系統(tǒng)(100),其中,所述第一平臺關聯(lián)于適合與基于web的應用 框架配合操作的平臺。
6.如權利要求1所述的系統(tǒng)(100),其中,至少一個應用模塊(112,114,116,118)包括 聲明式應用模塊,并且所述至少一個處理器配置成執(zhí)行計算機可執(zhí)行指令以用于接收(50 來自所述聲明式應用模塊的一個或多個用戶界面服務請求; 把來自所述聲明式應用模塊的所述一個或多個用戶界面服務請求變換(510)成對所 述主機平臺的一個或多個用戶界面服務請求;以及把來自所述至少一個聲明式應用模塊的一個或多個經(jīng)變換的用戶界面服務請求與一 個或多個平臺服務進行匹配(515),以在所述主機平臺上向用戶提供具有所述聲明式應用 模塊的可視界面。
7.如權利要求6所述的系統(tǒng)(100),其中,所述聲明式應用模塊配置成通過所述web服 務描述語言來定義所述一個或多個用戶界面服務請求。
8.如權利要求1所述的系統(tǒng)(100),其中,所述可視界面是圖形用戶界面。
9.如權利要求1所述的系統(tǒng)(100),其中,與所述第一平臺關聯(lián)的所述至少一個應用模 塊與下列至少一個關聯(lián)Java應用框架、Microsoft. NET框架和基于web的應用框架。
10.一種在計算機可讀介質上包含的用于在主機平臺上提供面向服務的用戶界面集成 總線的計算機程序,所述計算機程序包括執(zhí)行下列步驟的指令接收(505)來自至少一個應用模塊(112,114,116,118)的一個或多個用戶界面服務請 求,其中所述至少一個應用模塊(112,114,116,118)與第一平臺關聯(lián);把來自所述至少一個應用模塊(112,114,116,118)的所述一個或多個用戶界面服務 請求變換(510)成對主機平臺的一個或多個用戶界面服務請求;以及把來自所述至少一個應用模塊(1 ,1 ,130)的一個或多個經(jīng)變換的用戶界面服務 請求與一個或多個平臺服務(110)進行匹配(515)以便在所述主機平臺上向用戶提供具有 所述至少一個應用模塊(112,114,116,118)的可視界面。
全文摘要
本發(fā)明的實施例可提供用于提供面向服務的用戶界面集成總線的系統(tǒng)和方法。根據(jù)一個實施例,可提供系統(tǒng)(100),其中具有用于存儲計算機可執(zhí)行指令的存儲器以及經(jīng)由計算機接口與存儲器進行通信的處理器。處理器可適合運行計算機可執(zhí)行指令,并且配置成接收(505)來自與第一平臺關聯(lián)的應用模塊(112,114,116,118)的用戶界面服務請求。處理器還可適合把來自應用模塊(112,114,116,118)的用戶界面服務請求變換(510)成對主機平臺的用戶界面服務請求。處理器還可適合將經(jīng)變換的用戶界面服務請求(126,128,130)與平臺服務(110)進行匹配,以在主機平臺上向用戶提供具有應用模塊(112,114,116,118)的可視界面。
文檔編號G06F9/44GK102033745SQ20101050704
公開日2011年4月27日 申請日期2010年9月30日 優(yōu)先權日2009年9月30日
發(fā)明者A·塞爾霍恩, R·拉森 申請人:通用電氣公司