欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

知曉系統(tǒng)全景的應(yīng)用間通信基礎(chǔ)架構(gòu)的制作方法

文檔序號:7762057閱讀:236來源:國知局
專利名稱:知曉系統(tǒng)全景的應(yīng)用間通信基礎(chǔ)架構(gòu)的制作方法
技術(shù)領(lǐng)域
本公開涉及有關(guān)知曉系統(tǒng)全景的應(yīng)用間通信基礎(chǔ)架構(gòu)(systemlandscape aware inter-application communication infrastructure)白勺系統(tǒng)、方^去禾口軟^f牛。更具體: 說, 本公開包括創(chuàng)建或使用一個元模型(在各種所涉及的應(yīng)用中一致地使用)來描述應(yīng)用或其 它程序如何參與應(yīng)用間的通信。
背景技術(shù)
也可以稱為應(yīng)用(application)(如商業(yè)應(yīng)用)的計算機程序在運行環(huán)境中運 行。在有些情況下,運行環(huán)境是計算機操作系統(tǒng),如地址為1020 102ndAve NE Bellevue, WA 98004 的 Microsoft Corporation (微軟公司)提供的 Microsoft Windows。在有些情 況下,運行環(huán)境提供可供運行在該運行環(huán)境中的一個或多個應(yīng)用使用的基本的或必要的以 及可選的操作能力或特征。典型地,運行環(huán)境的特征是事先已知的,而應(yīng)用則是基于這些預(yù) 知信息構(gòu)造或配置的。也就是說,應(yīng)用是基于已知將由運行環(huán)境提供的特征而特別構(gòu)造的。 更具體地說,通常所安裝的軟件來自不同廠商、有不同的版本并使用不同的技術(shù)。即便是對 于僅涉及單一廠商的全景(landscape)來說,業(yè)務(wù)也可能運行在范圍廣泛的不同版本的不 同產(chǎn)品上(并且即使是這些單一廠商的產(chǎn)品也可能基于不同的技術(shù)、語言、協(xié)議或消息傳 輸結(jié)構(gòu))。因此,即使通過動態(tài)鏈接庫實現(xiàn),各種應(yīng)用和運行環(huán)境之間也存在靜態(tài)關(guān)系。

發(fā)明內(nèi)容
本公開的一個方面涉及知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)。例如,用于通過知曉全 景的應(yīng)用間通信基礎(chǔ)架構(gòu)進行通信的計算機程序產(chǎn)品包括存儲計算機可讀指令的有形存 儲介質(zhì)。在一種情況下,指令可操作用來收集存儲在存儲器中的用于與異構(gòu)應(yīng)用通信的信 息,然后至少部分地使用所收集的信息生成以該異構(gòu)應(yīng)用為目標的消息。該計算機程序產(chǎn) 品將該消息傳送給應(yīng)用間通信基礎(chǔ)架構(gòu),以便隨后發(fā)送給該異構(gòu)應(yīng)用。在此,該應(yīng)用間通信 基礎(chǔ)架構(gòu)能夠識別用于該異構(gòu)應(yīng)用的通信結(jié)構(gòu),并基于該識別出的結(jié)構(gòu)翻譯該消息。在另一種情況下,應(yīng)用間通信基礎(chǔ)架構(gòu)從第一異構(gòu)應(yīng)用接收消息,該消息以第二 異構(gòu)應(yīng)用為目標。該計算機程序產(chǎn)品中的指令可操作用于動態(tài)識別所存儲的用于該第二異 構(gòu)應(yīng)用的通信結(jié)構(gòu),該通信結(jié)構(gòu)由該第二異構(gòu)應(yīng)用披露(expose)。應(yīng)用間通信基礎(chǔ)架構(gòu)基 于該識別出的結(jié)構(gòu)將消息翻譯成與第二異構(gòu)應(yīng)用兼容的消息,然后將翻譯后的消息傳送給 該第二異構(gòu)應(yīng)用以進行處理。不同的實施例可以實現(xiàn)或采用以下特征中的一個或多個。具體地說,通信結(jié)構(gòu)可 以存儲異構(gòu)應(yīng)用的可用輸入和輸出。在另一例子中,通信結(jié)構(gòu)可以存儲異構(gòu)應(yīng)用的可用輸 入端口(in port)和輸出端口(out port)。在又一例子中,通信結(jié)構(gòu)可以存儲具體消息的 每個參數(shù)的數(shù)據(jù)類型、基數(shù)(cardinality)以及強制性(mandatory)。在再一個例子中,通 信結(jié)構(gòu)可以是與異構(gòu)應(yīng)用分離的披露的文件,該披露的文件是XML文件。雖然被一般性地描述為處理和變換相應(yīng)數(shù)據(jù)的計算機實現(xiàn)的軟件,但所述方面的一些或全部可以是計算機實現(xiàn)的方法或進一步包括在用于執(zhí)行所述功能的相應(yīng)系統(tǒng)或其 它設(shè)備中。本公開的這些和其它方面以及實施例的細節(jié)在附圖和以下描述中闡述。通過說 明書和附圖,以及通過權(quán)利要求,本公開的優(yōu)點將變得清楚。


圖1示出根據(jù)本公開的一個實現(xiàn)方案的、通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)進 行通信的示例系統(tǒng);圖2示出在圖1描述的系統(tǒng)中的高層組件的示例配置;圖3A和;3B是根據(jù)本公開的一個實現(xiàn)方案的示例混搭(mash-up)配置;圖4A和4B示出通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)傳送數(shù)據(jù)流的示例流程圖。
具體實施例方式本公開的一方面涉及知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)。在特定配置中,該基 礎(chǔ)架構(gòu)不局限于客戶端一側(cè)或服務(wù)器一側(cè)的措施,也不局限于特定系統(tǒng)全景(system landscape),并且也不局限于任何具體的UI (用戶接口)技術(shù)。更具體地說,該應(yīng)用間通信 基礎(chǔ)架構(gòu)可以實現(xiàn)一個元模型(一致地應(yīng)用于所涉及的應(yīng)用中),用以描述應(yīng)用如何參與 應(yīng)用間的通信。該元模型可以描述應(yīng)用接受的輸入?yún)?shù)及其可能的輸出。在典型的混搭 (mashup)場景中這也稱為各個應(yīng)用的輸入/輸出。無論如何,該元模型通常不僅僅單純定 義輸入/輸出數(shù)據(jù)的存在,而且還定義結(jié)構(gòu)(諸如數(shù)據(jù)類型或基數(shù))以及該數(shù)據(jù)對應(yīng)用的 消息傳輸來說是否是強制性的(mandatory)(或可選的(optional))。元數(shù)據(jù)將被披露或 以其它方式為所涉及的應(yīng)用可用,基于元數(shù)據(jù),存在一種定義應(yīng)用之間的通信流的協(xié)議。在 混搭場景中,這可以稱為應(yīng)用之間的“連線”(wiring)。換言之,應(yīng)用的元模型以及該協(xié)議 幫助定義應(yīng)用的連線并實現(xiàn)了對所需的應(yīng)用間通信的描述。在元模型之外,還可以存在對 系統(tǒng)全景(即,每個所涉及的應(yīng)用正在哪臺機器/技術(shù)棧/UI技術(shù)上運行)的描述,可以將 該描述更簡單地稱為“通信模型”。通信模型可以由為所涉及的應(yīng)用平臺實現(xiàn)的通信運行時 (runtime)來執(zhí)行。通信運行時通常是通信中心(communication hub)的一部分。如此, 通信中心能夠彼此連接并由此能夠保證基于當前系統(tǒng)場景的最優(yōu)化通信處理。在特定實施 例中,知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)幫助解決將現(xiàn)有的功能/應(yīng)用組合成新的組合應(yīng)用 /場景的需求。換句話說,如果企業(yè)或其它機構(gòu)確定需要擁有更寬松耦合的應(yīng)用場景,就有 可能相應(yīng)地期望一種能夠采用現(xiàn)有(異構(gòu))系統(tǒng)全景的、靈活的應(yīng)用間通信基礎(chǔ)架構(gòu)。所提到的用于應(yīng)用間通信的基礎(chǔ)架構(gòu)可被用于許多版本、實例及類型(例如基于 事件)的應(yīng)用間通信。根據(jù)實現(xiàn)方案,其可以被用作JAVA棧、ABAP棧兩者的一部分或者其 它語言或組合的一部分。一個示例實現(xiàn)方案涉及混搭場景,在混搭場景中,(潛在地運行于 不同UI技術(shù)之上的)應(yīng)用的連接方式使得其組合猶如一個單一的應(yīng)用。事件驅(qū)動的應(yīng)用 間通信基礎(chǔ)架構(gòu)可以幫助實現(xiàn)應(yīng)用之間的數(shù)據(jù)流。在本例中,如果存在不同機器和/或UI 技術(shù)間的混合,則根據(jù)應(yīng)用間的具體連線,通信將不再必須僅在客戶端一側(cè)或服務(wù)器一側(cè) 執(zhí)行?,F(xiàn)在轉(zhuǎn)向示出的實施例,圖1示出實現(xiàn)知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)的示例系 統(tǒng)100。系統(tǒng)100可以是跨越一個或多個網(wǎng)絡(luò),如網(wǎng)絡(luò)112,的分布式客戶端/服務(wù)器系統(tǒng)。在這樣的實現(xiàn)方案中,可以使用任何標準的或?qū)S械募用芩惴ㄒ约用芨袷絺魉突虼鎯?shù) 據(jù)。但是系統(tǒng)100也可以處于專用的企業(yè)環(huán)境中——跨越局域網(wǎng)或子網(wǎng)——或者處于其它 任何適當?shù)沫h(huán)境中,而不脫離本公開的范圍。系統(tǒng)100可以包括服務(wù)器102、一個或多個客 戶端104以及網(wǎng)絡(luò)112,或可通信地與它們耦合。服務(wù)器102包括可操作用以接收、發(fā)送、處理和存儲與系統(tǒng)100相關(guān)的數(shù)據(jù)的電 子計算設(shè)備。一般來說,圖1僅提供了可以用于本公開的計算機的一個示例。每個計算 機一般都旨在包含任何適當?shù)奶幚碓O(shè)備。例如,盡管圖1示出了可用于本公開的一個服務(wù) 器102,但系統(tǒng)100也能夠使用服務(wù)器以外的計算機來實現(xiàn),或者使用服務(wù)器池來實現(xiàn)。實 際上,服務(wù)器102可以是任何計算機或處理設(shè)備,如刀片式服務(wù)器、通用個人計算機(PC)、 Macintosh、工作站、基于Unix的計算機,或任何其它合適的設(shè)備。換言之,本公開考慮了通 用計算機以外的計算機以及沒有常規(guī)操作系統(tǒng)的計算機。服務(wù)器102可被適配為執(zhí)行任何 操作系統(tǒng),包括Linux、UNIX、WindowsServer,或任何其它合適的操作系統(tǒng)。根據(jù)一個實施 例,服務(wù)器102還可以包括web服務(wù)器和/或郵件服務(wù)器,或與它們可通信地耦合。服務(wù)器102可以包括本地存儲器120。存儲器120是任何有形的計算機可讀存儲 器,其可包括任何易失性或非易失性存儲器形式的存儲器或數(shù)據(jù)庫模塊,包括但不局限于 磁介質(zhì)、光介質(zhì)、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可移動介質(zhì),或任何其它合適 的本地或遠程存儲組件。所示出的存儲器120除其它項目以外可以包括知曉全景的應(yīng)用間 通信基礎(chǔ)架構(gòu)130以及多個應(yīng)用140,這些將在以下詳述。此外,存儲器120可以包括一個 或多個運行環(huán)境135。存儲器120還可以包括其它類型的數(shù)據(jù),如環(huán)境和/或應(yīng)用描述數(shù) 據(jù)、用于一個或多個應(yīng)用的應(yīng)用數(shù)據(jù),以及涉及VPN應(yīng)用或服務(wù)、防火墻策略、安全或訪問 日志、打印或其它報告文件、超文本標記語言(HTML)文件或模板、相關(guān)及不相關(guān)的軟件應(yīng) 用或子系統(tǒng)等等的數(shù)據(jù)。因此,存儲器120也可以被看作是數(shù)據(jù)倉庫,如來自一個或多個應(yīng) 用的本地數(shù)據(jù)倉庫。更具體地說,應(yīng)用140是任何應(yīng)用、程序、模塊、過程或其它能夠使用本身也是軟 件的知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)或有助于使用知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)的軟 件。不管具體實現(xiàn)方案如何,“軟件”可以包括軟件、固件、連線的或編程的硬件,或包含 在有形計算機可讀介質(zhì)上的它們的任何組合。實際上,形式變換模塊130可以用任何適 當?shù)挠嬎銠C語言來編寫或描述,包括C、C++、Java, Visual Basic、匯編語言、Perl、任何 合適版本的4GL,等等。例如,形式變換模塊130可以是復(fù)合應(yīng)用,其一些部分可以被實 現(xiàn)為Enterprise Java Beans (EJBs),或者,設(shè)計時(design-time)組件可以具有將運行 時實現(xiàn)(run-time implementation)生成到不同平臺中的能力,所述平臺如J2EE(Java 2Platform, Enterprise Edition, Java 2 平臺企業(yè)版)、ABAP(Advanced Business Application Programming,高級商務(wù)應(yīng)用編程)對象,或Microsoft的.NET。應(yīng)該理解,雖 然圖1所示應(yīng)用140為單個模塊,但應(yīng)用140也可以包括大量其它子模塊,或者也可以替代 為通過各種對象、方法或其它過程實現(xiàn)各種特征和功能的單個多任務(wù)模塊。此外,雖然被示 為在服務(wù)器102的內(nèi)部,但與應(yīng)用140相關(guān)的一個或多個過程可以被遠程地存儲、引用或執(zhí) 行。例如,應(yīng)用140的一部分可以是遠程調(diào)用的web服務(wù),而應(yīng)用140的另一部分則可以是 為在遠程客戶端104進行處理而捆綁(bundle)的接口對象。再有,應(yīng)用140可以是其它軟 件模塊或企業(yè)應(yīng)用的子代(child)或子模塊(未示出)而不脫離本公開的范圍。
為了使用知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu),多個應(yīng)用140——不管是在同一計算 機上還是跨過網(wǎng)絡(luò)112——通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)130相互可通信地耦合。 該耦合例如可以使用HTTP連接或任何其它合適的、可工作用以以期望格式傳送消息的通 信通道來實現(xiàn)。應(yīng)用間通信基礎(chǔ)架構(gòu)130通常包括事件驅(qū)動的模塊,該模塊在運行時能夠 識別目標異構(gòu)應(yīng)用的通信結(jié)構(gòu),并基于該識別出的結(jié)構(gòu)翻譯消息。例如,應(yīng)用間通信基礎(chǔ)架 構(gòu)130可以從第一異構(gòu)應(yīng)用接收消息,該消息的目標為第二異構(gòu)應(yīng)用。然后,應(yīng)用間通信基 礎(chǔ)架構(gòu)130動態(tài)地識別用于第二異構(gòu)應(yīng)用的、所存儲的通信結(jié)構(gòu),該通信結(jié)構(gòu)是由該第二 異構(gòu)應(yīng)用披露的。應(yīng)用間通信基礎(chǔ)架構(gòu)130基于該識別出的結(jié)構(gòu)將所述消息翻譯成與該第 二異構(gòu)應(yīng)用兼容的消息,并將翻譯后的消息傳送給第二異構(gòu)應(yīng)用以進行處理。根據(jù)一些實現(xiàn)方案,通信結(jié)構(gòu)145可以是一個或多個可擴展標記語言(XML) 文檔文件或部分或結(jié)構(gòu)化查詢語言(“SQL”)語句或腳本語言的腳本或擴展語言的形 式。例如,通信結(jié)構(gòu)145可以被格式化、存儲、或定義為文本文件、虛擬存儲器存取方法 (Virtual Storage Access Method,VSAM)文件、平面文件、Btrieve 文件、逗號分隔值 (comma-separated-value, CSV)文件、內(nèi)部變量或一個或多個庫中的各種數(shù)據(jù)結(jié)構(gòu)。除了 XML,其它示例的腳本語言可以包括Javakript、層疊樣式表單(Cascading Style Sheets, CSS)、HTML、異步 JavaScript 和 XML (asynchronous JavaScript and XML,AJAX),等等。無 論具體語言或格式如何,應(yīng)理解的是,通信結(jié)構(gòu)145可以是與具體應(yīng)用140緊密相關(guān)的文 件、由具體應(yīng)用140披露的在物理上分離的文件,或與用于多個應(yīng)用140的知曉全景的應(yīng)用 間通信基礎(chǔ)架構(gòu)130相關(guān)聯(lián)的單個文件。以下示出的示例通信結(jié)構(gòu)145的形式是用于假設(shè)域名xyz. com的XML腳本。具體 地說,在這樣的基礎(chǔ)架構(gòu)中使用的協(xié)議可以是例如基于XML的。例如可以在應(yīng)用間發(fā)送“命 令”或其它消息的通信結(jié)構(gòu)145的一個XML部分可能遵循以下示例格式< ? xml version = " 1.0〃 encoding = " iso-8859-l" ? ><ccp:CommandsIn xmlns:ccp = " http://www.xyz.com/namespaces/ccp" ><ccp: Command name = " FireInport" ><ccp:Port name =〃 airline" ><atom:feed xmlns:atom = " http://www.w3.org/2005/ Atom" ><atom: event)<CARRID>UA</CARRID></atom:event)〈/atom: feed〉</ccp:Port></ccp: Command)</ccp: CommandsIn> 在此,轉(zhuǎn)發(fā)(forward)命令“Firehport,,,并且輸入端口(inport)的具體數(shù)據(jù)以 ATOM兼容的格式定義。在其之后的XML綱要(XML schema)在結(jié)尾定義“通信模型”。當然,應(yīng)該理解,以上僅僅是出于說明的目的,并非想要限制本公開的范圍。換言之,以上示例腳 本是為了幫助提供上下文和描述,其它腳本可以實現(xiàn)與之不同的功能和功能性而仍在本公 開的范圍內(nèi)。服務(wù)器102還可以包括處理器125。處理器125執(zhí)行指令,如前述軟件,并操縱數(shù) 據(jù)以執(zhí)行服務(wù)器102的操作,并且服務(wù)器102例如可以是中央處理單元(CPU)、刀片式服務(wù) 器、專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)。盡管圖1示出的是服務(wù)器102中的 單個處理器125,但根據(jù)特定的需要也可以使用多個處理器125,并且提到處理器125時即 意味著在適當?shù)那闆r下包括多個處理器125。在所示出的實施例中,處理器125執(zhí)行應(yīng)用 140和應(yīng)用間通信基礎(chǔ)架構(gòu)130。服務(wù)器102還可以包括用于在客戶端-服務(wù)器或其它分布式環(huán)境中通過網(wǎng)絡(luò)112 與其它計算機系統(tǒng),如客戶端104,通信的接口 117。在特定實施例中,服務(wù)器102通過接口 117接收來自內(nèi)部或外部發(fā)送者的數(shù)據(jù)以存儲在存儲器120中和/或由處理器125處理。 一般來說,接口 117包括以適當組合的軟件和/或硬件編碼并可工作用以與網(wǎng)絡(luò)112通信 的邏輯。更具體來說,接口 117可以包括支持一個或多個與通信網(wǎng)絡(luò)112相關(guān)聯(lián)的通信協(xié) 議的軟件或可操作用以傳送物理信號的硬件。網(wǎng)絡(luò)112便利計算機服務(wù)器102和任何其它本地或遠程計算機(如客戶端104)之 間的無線或有線通信。網(wǎng)絡(luò)112可以是企業(yè)或安全網(wǎng)絡(luò)的全部或一部分。在另一示例中, 網(wǎng)絡(luò)112可以是僅僅在服務(wù)器102和客戶端104之間的跨越有線線路或無線鏈接的VPN。 這樣的示例無線鏈接可以經(jīng)由802. Ila,802. lib,802. Ilg,802. 20、WiMax,等等。雖然所示 出的是單一的或連續(xù)的網(wǎng)絡(luò),但網(wǎng)絡(luò)112可以在邏輯上劃分為各種分支網(wǎng)絡(luò)或虛擬網(wǎng)絡(luò)而 不脫離本公開的范圍,只要網(wǎng)絡(luò)112的至少一部分能夠便利服務(wù)器102和至少一個客戶端 104之間的通信即可。例如,服務(wù)器102可以通過一個子網(wǎng)可通信地耦合到數(shù)據(jù)倉庫,同時 通過另一個子網(wǎng)可通信地耦合到某個客戶端104。換言之,網(wǎng)絡(luò)112包括任何可工作用以 便利系統(tǒng)100中的各種計算組件之間的通信的內(nèi)部或外部網(wǎng)、網(wǎng)絡(luò)、子網(wǎng)或它們的組合。網(wǎng) 絡(luò)112例如可以在網(wǎng)絡(luò)地址間傳送網(wǎng)際協(xié)議(Internet Protocol, IP)分組、幀中繼幀、異 步傳輸模式(ATM)信元、語音、視頻、數(shù)據(jù),以及其它適當?shù)男畔ⅰ>W(wǎng)絡(luò)112可以包括一個或 多個局域網(wǎng)(LAN)、無線接入網(wǎng)(RAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、被稱為互聯(lián)網(wǎng)的全球計 算機網(wǎng)絡(luò)的全部或部分,和/或位于一個或多個地點的任何其它通信系統(tǒng)。在特定實施例 中,網(wǎng)絡(luò)112可以是用戶可以通過特定的本地或遠程客戶端104訪問的安全網(wǎng)絡(luò)。客戶端104可以是任何可工作用以使用任何通信鏈路與服務(wù)器102或網(wǎng)絡(luò)112連 接或通信的計算設(shè)備。在高層,每個客戶端104至少包括或執(zhí)行⑶I (圖形用戶接口)136, 并且每個客戶端包括可工作用以接收、發(fā)送、處理和存儲任何與系統(tǒng)100相關(guān)聯(lián)的合適的 數(shù)據(jù)的電子計算設(shè)備。應(yīng)理解的是,可以有任何數(shù)量的客戶端104與服務(wù)器102可通信地 耦合。此外,“客戶端104”和“用戶”可以適當?shù)亟粨Q使用而不會脫離本公開的范圍。此外, 為易于說明,每個客戶端104被描述為由一個用戶使用。但本公開也考慮到了許多用戶可 以使用一臺計算機或一個用戶可以使用多臺計算機的情況。如在本公開中使用的,客戶端 104旨在包括個人計算機、觸摸屏終端、工作站、網(wǎng)絡(luò)計算機、信息亭、無線數(shù)據(jù)端口、智能手 機、個人數(shù)據(jù)助理(PDA)、在這些設(shè)備或其它設(shè)備中的一個或多個處理器,或任何其它合適 的處理設(shè)備。例如,客戶端104可以是可工作用以與外部或非安全網(wǎng)絡(luò)無線連接的PDA。在另一個例子中,客戶端104可以包括便攜式計算機,該便攜式計算機包括如鍵區(qū)、觸摸屏、 鼠標或其它能夠接受信息的設(shè)備的輸入設(shè)備,以及傳達與服務(wù)器102或客戶端104的操作 相關(guān)聯(lián)的信息,包括數(shù)字數(shù)據(jù)、可視信息或GUI 136,的輸出設(shè)備。輸入設(shè)備和輸出設(shè)備都可 以包括固定的或可移動的存儲介質(zhì),如計算機磁盤、CD-ROM,或其它能夠通過顯示器、即GUI 的客戶端部分或應(yīng)用接口 136從客戶端104的用戶接收輸入并向客戶端104的用戶提供輸 出的合適的介質(zhì)。⑶I 136包括可工作用以允許客戶端104的用戶與系統(tǒng)100的至少一部分為任何 合適的目的(如查看應(yīng)用或其它事務(wù)數(shù)據(jù))而接口的圖形用戶接口。例如,⑶I 136可以呈 現(xiàn)有關(guān)通過應(yīng)用間通信基礎(chǔ)架構(gòu)130在異構(gòu)的應(yīng)用140間通信的業(yè)務(wù)信息的各種視圖。一 般來說,GUI 136向特定用戶提供由系統(tǒng)100提供的或在系統(tǒng)100內(nèi)通信的數(shù)據(jù)的有效且用 戶友好的表示。GUI 136可以包括多個具有交互欄、下拉列表和由用戶操作的按鈕的可定制 的畫面或視圖。⑶I 136還可以呈現(xiàn)多個入口(portal)或應(yīng)用程序控制面板(dashboard)。 例如,⑶I 136可以顯示允許用戶輸入和定義用于一個或多個模塊的搜索參數(shù)的安全網(wǎng)頁。 應(yīng)理解,術(shù)語“圖形用戶接口,,可用作單數(shù)或復(fù)數(shù),以描述一個或多個圖形用戶接口以及特 定圖形用戶接口的每個顯示。實際上,不脫離本公開的范圍,在適當?shù)那闆r下,提到GUI 136 可以指應(yīng)用130的前端或組件,以及通過客戶端104可訪問的特定接口。因此,⑶I 136考 慮了任何在系統(tǒng)100中處理信息并有效地向用戶呈現(xiàn)結(jié)果的圖形用戶接口,如通用web瀏 覽器或觸摸屏。服務(wù)器102可以通過web瀏覽器(如Microsoft Internet Explorer或 Netscape Navigator)從客戶端104接受數(shù)據(jù)并利用網(wǎng)絡(luò)112向瀏覽器返回適當?shù)腍TML或 XML響應(yīng)。圖2示出系統(tǒng)100中的高層組件的示例配置200。具體來說,圖2示出三個分別 在相應(yīng)的應(yīng)用運行時內(nèi)執(zhí)行一個或多個應(yīng)用140的示例系統(tǒng)(X、Y和Z)。此外,每個系統(tǒng) 都實現(xiàn)了包括(或鏈接到)通信運行時模塊和通信模型的通信中心。在該實現(xiàn)方案中,可 以將其它應(yīng)用收集在混搭(mashup)場景中,混搭場景更容易跨越相異的運行時實現(xiàn)動態(tài) 數(shù)據(jù)流。替代通過遠程調(diào)用在本地系統(tǒng)上處理所述數(shù)據(jù)流,可以由遠程系統(tǒng)通過通信元模 型(部分地或全部地)實現(xiàn)該數(shù)據(jù)流。換言之,本地系統(tǒng)可以通過通信基礎(chǔ)架構(gòu)知曉遠程 異構(gòu)應(yīng)用,然后通信基礎(chǔ)架構(gòu)允許遠程應(yīng)用以期望的協(xié)議接收數(shù)據(jù)消息。圖3示出更詳細 的配置,其中示出包括連線(wiring)實現(xiàn)通信元模型的擴展的混搭場景。例如,ABAP可以 表示包括CHIP (芯片)模塊或applet (小應(yīng)用程序)的后端系統(tǒng)。通信元模型允許連線存 在于前端和后端之一或兩者之上。換言之,Java前端可以知曉一個或多個后端系統(tǒng)正在執(zhí) 行ABAP運行時,但不需要到ABAP系統(tǒng)各種組件的“硬連線”鏈路。通過這種方式,ABAP系 統(tǒng)可以更有效地管理ABAP應(yīng)用或子模塊間的消息和數(shù)據(jù)流,即便它們是由能夠極大減少 往返并提高性能的Java系統(tǒng)產(chǎn)生的。對于運行的一個方面,圖4A是示出示例計算機過程400的流程圖,計算機過程400 用于在系統(tǒng)X(如圖2中描述的系統(tǒng))中的應(yīng)用Al和應(yīng)用Bl之間進行通信。為表達清楚 起見,以下在圖2所示的環(huán)境200的上下文中一般地描述方法400。但是應(yīng)理解,方法400 也可以替代地通過任何其它合適的系統(tǒng)、環(huán)境或合適的系統(tǒng)和環(huán)境的組合來執(zhí)行。所示方法400于步驟402開始,該步驟通過定義通信模型(即適當?shù)脑獢?shù)據(jù))使 得能夠在設(shè)計時中進行該通信。在本例中,該通信模型定義從應(yīng)用Al至應(yīng)用Bl的數(shù)據(jù)流。盡管未示出,但在該數(shù)據(jù)流中可以包含任何種類的數(shù)據(jù)變換器,例如將應(yīng)用Al披露的地址 數(shù)據(jù)變換成應(yīng)用Bl需要的緯度/經(jīng)度數(shù)據(jù)。在步驟404,確定數(shù)據(jù)流要被執(zhí)行或正被執(zhí)行。這一執(zhí)行步驟可通過點擊Al中的 按鈕、改變Al中的表選擇或任何其它合適的運行時動作來觸發(fā)。然后,在步驟406,調(diào)用通 信運行時。下一步,在步驟408通信運行時了解所定義的通信模型并檢查是否有為Al定義 的、外發(fā)的(outgoing)數(shù)據(jù)流。在步驟410,通信運行時處理該數(shù)據(jù)流(包括數(shù)據(jù)變換步 驟),在步驟412,最終(在合適的時候)將數(shù)據(jù)轉(zhuǎn)發(fā)給應(yīng)用運行時B。應(yīng)用運行時B將該數(shù) 據(jù)轉(zhuǎn)發(fā)給應(yīng)用Bi,并且應(yīng)用Bl被該新數(shù)據(jù)更新。對于運行的另一方面,圖4B是使出示例計算機過程450的流程圖,計算機過程450 用于在運行于不同系統(tǒng)(如圖2所描述的環(huán)境)上的應(yīng)用之間的應(yīng)用間通信。為表述清楚 起見,以下在圖2所示的環(huán)境200的上下文中一般地描述方法450。例如,利用圖2所示的 環(huán)境,可以有定義為從系統(tǒng)Y上的應(yīng)用Bl至系統(tǒng)X上的應(yīng)用Al再到系統(tǒng)X上的應(yīng)用B2的 三步數(shù)據(jù)流。但是應(yīng)理解,方法450也可以替代地用任何其它合適的系統(tǒng)、環(huán)境或合適的系 統(tǒng)和環(huán)境的組合來執(zhí)行。對于過程450來說,所示出的第一步驟包括在步驟452在設(shè)計時中定義元數(shù)據(jù)/ 通信模型。在這種情況下,為了在運行時實現(xiàn)最優(yōu)化的且知曉系統(tǒng)全景的處理,要在步驟 454使該通信模型為數(shù)據(jù)流所涉及的合適的分布式系統(tǒng)可用??梢酝ㄟ^任何適當?shù)姆绞絹?實現(xiàn)這種可用性,包括將在設(shè)計時的數(shù)據(jù)復(fù)制到所涉及的系統(tǒng)(即復(fù)制到所涉及的通信運 行時)、使用中央倉庫來存儲通信模型(以使在本例中通信運行時通過適當?shù)倪h程調(diào)用訪 問該通信模型)、以及將數(shù)據(jù)存儲在一個系統(tǒng)中并在運行時將數(shù)據(jù)傳遞給數(shù)據(jù)流所涉及的 系統(tǒng)。在示例的運行時,在步驟454,數(shù)據(jù)流從系統(tǒng)Y上的應(yīng)用Bl開始(如在以上的簡 單例子中那樣通過任何種類的用戶交互開始)。在步驟456,應(yīng)用運行時B將其轉(zhuǎn)發(fā)給通信 運行時。在步驟458,通信運行時檢查通信模型并確定數(shù)據(jù)流是遠程的。一旦確定,就在步 驟460調(diào)用目標應(yīng)用本地的或以其他方式與目標應(yīng)用關(guān)聯(lián)的通信運行時,從而如果需要可 以將其啟動。在步驟462,當前通信運行時將其轉(zhuǎn)發(fā)給系統(tǒng)X上的目標通信運行時。在步驟 464,目標通信運行時利用可用的通信模型來處理數(shù)據(jù)。由于通信模型在系統(tǒng)X上也可用, 因此系統(tǒng)X上的通信運行時能夠處理數(shù)據(jù)流中的下兩個步驟而不用反向調(diào)用系統(tǒng)Y上的在 前的通信運行時。如此,跨越兩個系統(tǒng)上運行的三個應(yīng)用處理了數(shù)據(jù)流,但這種處理方式盡 可能地避免了遠程調(diào)用。雖然本公開使用多個數(shù)據(jù)流和處理流以及相關(guān)描述來舉例說明與所公開的各種 方法和技術(shù)相關(guān)的示例技術(shù),但系統(tǒng)100考慮了使用或?qū)崿F(xiàn)任何合適的技術(shù)以用于執(zhí)行這 些和其他任務(wù)。應(yīng)理解,這些技術(shù)僅為說明的目的,可以在任何適當?shù)臅r間執(zhí)行所描述的或 類似的技術(shù),包括并發(fā)執(zhí)行、單獨執(zhí)行或組合執(zhí)行。此外,這些流程中的許多步驟可以同時 發(fā)送和/或以與所示出和描述的不同的順序發(fā)生。再有,系統(tǒng)100可以使用具有附加步驟、 較少步驟和/或不同步驟的過程和方法,只要這些過程和方法仍然是合適的。簡言之,盡管 根據(jù)一定的實現(xiàn)方案和一般關(guān)聯(lián)的方法對本公開進行了描述,但是這些實現(xiàn)方案和方法的 變更和置換對本領(lǐng)域技術(shù)人員來說是顯而易見的。因此,其它實現(xiàn)方案也在本公開的范圍 內(nèi)。10
權(quán)利要求
1.一種計算機實現(xiàn)的方法,用于通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)進行通信,該方 法包括由一個或多個處理器執(zhí)行的以下步驟收集存儲在存儲器中的用于與異構(gòu)應(yīng)用通信的信息;至少部分地使用所收集的信息產(chǎn)生以異構(gòu)應(yīng)用為目標的消息;以及將該消息傳送給事件驅(qū)動的應(yīng)用間通信基礎(chǔ)架構(gòu),以便隨后傳輸給該異構(gòu)應(yīng)用,該應(yīng) 用間通信基礎(chǔ)架構(gòu)能夠識別用于該異構(gòu)應(yīng)用的通信結(jié)構(gòu)并基于該識別出的結(jié)構(gòu)翻譯所述 消息。
2.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)的方法,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用 輸入和輸出。
3.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)的方法,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用 輸入端口和輸出端口。
4.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)的方法,所述通信結(jié)構(gòu)包括與所述異構(gòu)應(yīng)用分離 的披露的文件。
5.根據(jù)權(quán)利要求4所述的計算機實現(xiàn)的方法,所述披露的文件包括XML文件。
6.根據(jù)權(quán)利要求1所述的計算機實現(xiàn)的方法,所述通信結(jié)構(gòu)存儲具體消息的每個參數(shù) 的數(shù)據(jù)類型、基數(shù)以及強制性。
7.一種計算機程序產(chǎn)品,用于通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)進行通信,該計算 機程序產(chǎn)品包括存儲計算機可讀指令的有形存儲介質(zhì),所述計算機可讀指令在被執(zhí)行時能 夠操作用以收集存儲在存儲器中的用于與異構(gòu)應(yīng)用通信的信息;至少部分地使用所收集的信息產(chǎn)生以異構(gòu)應(yīng)用為目標的消息;以及將該消息傳送給事件驅(qū)動的應(yīng)用間通信基礎(chǔ)架構(gòu),以便隨后傳輸給該異構(gòu)應(yīng)用,該應(yīng) 用間通信基礎(chǔ)架構(gòu)能夠識別用于該異構(gòu)應(yīng)用的通信結(jié)構(gòu)并基于該識別出的結(jié)構(gòu)翻譯所述 消息。
8.根據(jù)權(quán)利要求7所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用輸 入和輸出。
9.根據(jù)權(quán)利要求7所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用輸 入端口和輸出端口。
10.根據(jù)權(quán)利要求7所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)包括與所述異構(gòu)應(yīng)用分離 的披露的文件。
11.根據(jù)權(quán)利要求8所述的計算機程序產(chǎn)品,所述披露的文件包括XML文件。
12.根據(jù)權(quán)利要求7所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲具體消息的每個參數(shù) 的數(shù)據(jù)類型、基數(shù)以及強制性。
13.根據(jù)權(quán)利要求7所述的計算機程序產(chǎn)品,所述應(yīng)用間通信基礎(chǔ)架構(gòu)和所述異構(gòu)應(yīng) 用各自在相異的運行環(huán)境中的不同處理器上執(zhí)行。
14.一種計算機程序產(chǎn)品,用于通過知曉全景的應(yīng)用間通信基礎(chǔ)架構(gòu)進行通信,該計算 機程序產(chǎn)品包括存儲計算機可讀指令的有形存儲介質(zhì),所述計算機可讀指令在被執(zhí)行時能 夠操作用以接收來自第一異構(gòu)應(yīng)用的消息,該消息以第二異構(gòu)應(yīng)用為目標;動態(tài)地識別所存儲的用于該第二異構(gòu)應(yīng)用的通信結(jié)構(gòu),該通信結(jié)構(gòu)由該第二異構(gòu)應(yīng)用 披露;基于該識別出的結(jié)構(gòu)將所述消息翻譯成與該第二異構(gòu)應(yīng)用兼容的消息;以及將該翻譯后的消息傳送給該第二異構(gòu)應(yīng)用以進行處理。
15.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用 輸入和輸出。
16.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲所述異構(gòu)應(yīng)用的可用 輸入端口和輸出端口。
17.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)包括與所述異構(gòu)應(yīng)用分離 的披露的文件。
18.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述通信結(jié)構(gòu)存儲具體消息的每個參數(shù) 的數(shù)據(jù)類型、基數(shù)以及強制性。
19.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述異構(gòu)應(yīng)用在相異的運行環(huán)境中的不 同處理器上執(zhí)行。
20.根據(jù)權(quán)利要求14所述的計算機程序產(chǎn)品,所述異構(gòu)應(yīng)用基于相異的計算機程序語 言,各自采用不同的消息結(jié)構(gòu)。
全文摘要
本公開涉及有關(guān)知曉系統(tǒng)全景的應(yīng)用間通信基礎(chǔ)架構(gòu)的系統(tǒng)、方法和軟件。該應(yīng)用間通信基礎(chǔ)架構(gòu)可以實現(xiàn)一個元模型來描述應(yīng)用如何參與應(yīng)用間通信。該元模型能夠描述應(yīng)用接受的輸入?yún)?shù)及其可能的輸出?;趯⒈慌痘蛞云渌绞绞顾婕暗膽?yīng)用可用的元數(shù)據(jù),存在一種定義應(yīng)用間的通信流的協(xié)議。
文檔編號H04L29/06GK102043665SQ201010506209
公開日2011年5月4日 申請日期2010年10月14日 優(yōu)先權(quán)日2009年10月14日
發(fā)明者約肯·古爾特勒 申請人:Sap股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
内黄县| 普兰店市| 永吉县| 武川县| 平顶山市| 万宁市| 江华| 常德市| 珠海市| 远安县| 资阳市| 宁蒗| 遂宁市| 白水县| 漯河市| 扬中市| 蓝田县| 龙游县| 林周县| 海城市| 夏邑县| 大田县| 宁南县| 新郑市| 靖边县| 永仁县| 彭阳县| 河间市| 垣曲县| 莎车县| 株洲市| 冷水江市| 仁化县| 黄梅县| 临湘市| 禹州市| 茌平县| 孝义市| 渝北区| 麻栗坡县| 祁门县|