專利名稱:企業(yè)數(shù)據(jù)集成系統(tǒng)的體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,具體來說,涉及數(shù)據(jù)集成系統(tǒng)領(lǐng)域。
背景技術(shù):
計算機應(yīng)用程序使得許多業(yè)務(wù)進(jìn)程更快、更加有效率。然而,使用不同的數(shù)據(jù)結(jié)構(gòu)、通信協(xié)議、語言以及平臺的不同的計算機應(yīng)用程序的推廣已經(jīng)導(dǎo)致典型的商業(yè)企業(yè)的信息技術(shù)基礎(chǔ)架構(gòu)越來越復(fù)雜化。典型的企業(yè)內(nèi)的不同的業(yè)務(wù)進(jìn)程可以使用完全不同的計算機應(yīng)用程序,每一個計算機應(yīng)用程序都是為特定業(yè)務(wù)進(jìn)程開發(fā)和優(yōu)化的,而不是針對企業(yè)整體開發(fā)的。例如,一個企業(yè)可以具有一個用于跟蹤應(yīng)付帳款的計算機應(yīng)用程序,以及用于跟蹤客戶聯(lián)系人的另一個應(yīng)用程序。甚至同一個業(yè)務(wù)進(jìn)程也可以使用一個以上的計算機應(yīng)用程序,如當(dāng)企業(yè)維護(hù)了集中的客戶聯(lián)系人數(shù)據(jù)庫,但雇員維護(hù)了他們自己的聯(lián)系信息,如在個人信息管理器中。
專門化的計算機應(yīng)用程序的優(yōu)點為它們帶來的低效率所抵銷,如重復(fù)的輸入,冗余的數(shù)據(jù)處理,或當(dāng)企業(yè)執(zhí)行另一個可能受益于與一個進(jìn)程關(guān)聯(lián)的數(shù)據(jù)時該企業(yè)未能認(rèn)識到其企業(yè)數(shù)據(jù)集的互連并利用該數(shù)據(jù)。例如,如果應(yīng)付帳款進(jìn)程與供應(yīng)鏈和訂購進(jìn)程分離,企業(yè)可能接受并滿足來自其信用歷史可能會導(dǎo)致企業(yè)拒絕訂單的客戶的訂單??梢蕴峁┰S多其他企業(yè)將受益于對跨不同計算機應(yīng)用程序的所有數(shù)據(jù)的一致訪問的示例。
許多公司已經(jīng)認(rèn)識到并解決了跨商業(yè)企業(yè)中的不同的應(yīng)用程序共享數(shù)據(jù)的需求。如此,企業(yè)應(yīng)用程序集成或EAI已經(jīng)作為用于尋求來自不同來源的數(shù)據(jù)的基于消息的策略而出現(xiàn)。隨著計算機應(yīng)用程序的復(fù)雜性的增大以及數(shù)量的增多,EAI工作遇到了許多挑戰(zhàn),從需要處理不同的協(xié)議,需要處理越來越多的數(shù)據(jù)和許多事務(wù),以及越來越強烈的更快地將數(shù)據(jù)集成起來的愿望。已經(jīng)采取了EAI的各種方法,包括最小公分母方法、原子方法,以及橋類型方法。然而,EAI基于單個應(yīng)用程序之間的通信。作為一個嚴(yán)重的缺點,EAI解決方案的復(fù)雜性隨著平臺和應(yīng)用程序的線性增加而幾何地增大。
盡管數(shù)據(jù)集成系統(tǒng)提供了滿足企業(yè)的需求的有用工具,但是,這樣的系統(tǒng)通常是作為自定義解決方案部署的。它們具有冗長的開發(fā)周期,并可能需要復(fù)雜的技術(shù)培訓(xùn)才能適應(yīng)業(yè)務(wù)結(jié)構(gòu)和信息需求的變化。在變化的業(yè)務(wù)環(huán)境中,仍需要允許使用、重復(fù)使用,以及修改功能的數(shù)據(jù)集成系統(tǒng)工具,也需要支持設(shè)計和使用數(shù)據(jù)集成系統(tǒng)的改善的體系結(jié)構(gòu)。
發(fā)明內(nèi)容
這里公開了用于構(gòu)建和管理數(shù)據(jù)集成進(jìn)程的體系結(jié)構(gòu)。該體系結(jié)構(gòu)可以為集成設(shè)計過程的許多方面提供模塊性和擴(kuò)展性,包括用戶界面、編程接口、服務(wù)、組件、運行時引擎,以及外部連接器。該體系結(jié)構(gòu)還可以在整個設(shè)計過程中使用通用集成元數(shù)據(jù)共享方法,以允許在設(shè)計的各個階段之間進(jìn)行無縫過渡,并實施數(shù)據(jù)集成進(jìn)程。
在一個方面,根據(jù)本發(fā)明的數(shù)據(jù)集成系統(tǒng)包括用于執(zhí)行多個數(shù)據(jù)集成任務(wù)的用戶界面,所述用戶界面包括對應(yīng)于一個項目的工作流的多個階段的多個菜單;將所選擇的數(shù)據(jù)集成任務(wù)與所選擇的菜單相關(guān)聯(lián)的任務(wù)矩陣;包括服務(wù)的注冊表的面向服務(wù)的體系結(jié)構(gòu),一個或多個所述服務(wù)與所述用戶界面的每一個數(shù)據(jù)集成任務(wù)相關(guān)聯(lián);與所述用戶界面以及面向服務(wù)的體系結(jié)構(gòu)的服務(wù)中的一個或多個所述服務(wù)關(guān)聯(lián)的知識庫,該知識庫存儲所述項目的工作流的一個以上階段的共同元數(shù)據(jù)模型;用于執(zhí)行項目的一個或多個運行時引擎;以及用于將所述一個或多個運行時引擎連接到一個或多個外部資源的一個或多個連接器,所述連接器使用模塊化組件和合成物進(jìn)行數(shù)據(jù)吞吐。
在另一個方面,用于管理數(shù)據(jù)集成進(jìn)程的方法可以包括提供用于執(zhí)行多個數(shù)據(jù)集成任務(wù)的用戶界面,所述用戶界面包括對應(yīng)于一個項目的工作流的多個階段的多個菜單;將所選擇的數(shù)據(jù)集成任務(wù)與所選擇的菜單相關(guān)聯(lián);提供包括服務(wù)的注冊表的面向服務(wù)的體系結(jié)構(gòu);將一個或多個所述服務(wù)與所述用戶界面的每一個數(shù)據(jù)集成任務(wù)相關(guān)聯(lián);將知識庫與所述用戶界面以及面向服務(wù)的體系結(jié)構(gòu)的服務(wù)中的一個或多個所述服務(wù)相關(guān)聯(lián);在知識庫中存儲所述項目的工作流的一個以上階段的共同元數(shù)據(jù)模型;使用一個或多個運行時引擎執(zhí)行項目,所述運行時引擎使用模塊化組件和合成物進(jìn)行所述項目的數(shù)據(jù)處理;以及將所述一個或多個運行時引擎連接到一個或多個外部資源。
數(shù)據(jù)集成系統(tǒng)或方法可以進(jìn)一步在用戶界面以及面向服務(wù)的體系結(jié)構(gòu)之間包括智能自動化層,所述智能自動化層向所述用戶界面的用戶提供特定于上下文的內(nèi)容。數(shù)據(jù)集成系統(tǒng)或方法可以進(jìn)一步包括用于運行時引擎的運行時優(yōu)化層,該運行時優(yōu)化層在各個運行時引擎之間自主地分配進(jìn)程。
在另一個方面,向數(shù)據(jù)集成系統(tǒng)提供用戶界面的方法可以包括在面向服務(wù)的體系結(jié)構(gòu)中提供多個數(shù)據(jù)集成服務(wù);給嚴(yán)重分離的用戶界面提供模塊化控件;將控件與面向服務(wù)的體系結(jié)構(gòu)的一個或多個所述服務(wù)相關(guān)聯(lián);以及作為用戶界面的控件中的任務(wù)呈現(xiàn)一個或多個所述服務(wù)。數(shù)據(jù)集成進(jìn)程的用戶界面系統(tǒng)可以包括面向服務(wù)的體系結(jié)構(gòu)中的多個數(shù)據(jù)集成服務(wù);具有模塊化控件的嚴(yán)重分離的用戶界面,所述用戶界面被配置為作為用戶界面的控件中的任務(wù)呈現(xiàn)一個或多個數(shù)據(jù)集成服務(wù);以及將用戶界面的控件與面向服務(wù)的體系結(jié)構(gòu)的一個或多個所述服務(wù)關(guān)聯(lián)的任務(wù)矩陣。
服務(wù)可以包括與共享的元數(shù)據(jù)的實時關(guān)系。對共享的元數(shù)據(jù)的更改可以立即對共享的元數(shù)據(jù)的其他用戶可見。用戶界面可以包括上下文相關(guān)的幫助。服務(wù)可以包括與外部源代碼控制系統(tǒng)的連接器。服務(wù)可以包括映射、數(shù)據(jù)凈化、以及數(shù)據(jù)豐富中的至少一個。用戶界面可以是面向任務(wù)的。用戶界面可以是技能級別敏感的或角色敏感的。角色可以包括監(jiān)視、部署,和/或操作控制。用戶界面可以包括囊括了通過用戶界面可訪問的所有服務(wù)的集成的會話歷史。用戶界面可以是用戶可定義的。用戶界面可以被改編以在移動設(shè)備上使用??梢栽诘图墑e的控件的庫中提供模塊化控件。方法或系統(tǒng)可以包括提供可重復(fù)使用的對話框的庫。
用于在數(shù)據(jù)集成系統(tǒng)中提供服務(wù)的面向服務(wù)的體系結(jié)構(gòu)可以包括動態(tài)地定位和實例化服務(wù)的服務(wù)目錄,所述服務(wù)包括合成為工具的多個分離的可重復(fù)使用的和可共享的服務(wù),作為服務(wù)暴露外來資源連接器的組件服務(wù),以及用于訪問存儲在知識庫中的元數(shù)據(jù)模型的一個或多個知識庫服務(wù);以及用于使用服務(wù)的數(shù)據(jù)集成進(jìn)程的用戶設(shè)計的分離的用戶界面。用于在數(shù)據(jù)集成系統(tǒng)中提供面向服務(wù)的服務(wù)的方法可以包括在服務(wù)目錄中注冊多個服務(wù),所述服務(wù)包括合成為工具的多個分離的可重復(fù)使用的和可共享的服務(wù),作為服務(wù)暴露外來資源連接器的組件服務(wù),以及用于訪問存儲在知識庫中的元數(shù)據(jù)模型的一個或多個知識庫服務(wù);動態(tài)地定位注冊表內(nèi)的多個服務(wù)中的一個服務(wù);實例化多個服務(wù)中所述被定位的服務(wù);以及提供用于使用多個服務(wù)中所述被定位的服務(wù)的數(shù)據(jù)集成進(jìn)程的用戶設(shè)計的分離的用戶界面。
一個或多個所述服務(wù)可以是內(nèi)部業(yè)務(wù)和/或外部服務(wù)。服務(wù)可以使用不同的技術(shù)。一個或多個所述服務(wù)可以是同步的和/或異步的。服務(wù)可以包括控制下列各項中的一個或多個的多個功能審核、日志記錄、監(jiān)視、管理、安全、用戶配置文件、會話管理、以及報告,事務(wù)、業(yè)務(wù)流程、用戶目錄、組件服務(wù)、配置、系統(tǒng)管理、源控制、源和目標(biāo)元數(shù)據(jù)的導(dǎo)入/導(dǎo)出,元數(shù)據(jù)查詢、訪問、分析、報告、以及預(yù)訂,樣本數(shù)據(jù)、數(shù)據(jù)剖析、進(jìn)程編輯、進(jìn)程編譯、數(shù)據(jù)驗證、設(shè)計部署、設(shè)計執(zhí)行、安裝和升級、演示安裝、部署、版本管理、同步、數(shù)據(jù)剖析、數(shù)據(jù)凈化、調(diào)查和調(diào)整、模板的應(yīng)用、測試、以及問題報告。
在另一個方面,共享知識庫中的元數(shù)據(jù)模型的方法可以包括將元數(shù)據(jù)模型存儲在知識庫中;在服務(wù)目錄中注冊一個或多個被配置用于動態(tài)定位和實例化知識庫服務(wù)的知識庫服務(wù);在面向服務(wù)的體系結(jié)構(gòu)中部署服務(wù)目錄和一個或多個知識庫服務(wù);以及通過一個或多個知識庫服務(wù)中的至少一個訪問元數(shù)據(jù)模型。用于共享元數(shù)據(jù)模型知識庫的系統(tǒng)可以包括存儲了至少一個元數(shù)據(jù)模型的知識庫;被配置為動態(tài)定位和實例化面向服務(wù)的體系結(jié)構(gòu)中的一個或多個知識庫服務(wù)的服務(wù)目錄;以及通過一個或多個知識庫服務(wù)中的至少一個對至少一個元數(shù)據(jù)模型進(jìn)行共享訪問的接口。
一個或多個知識庫服務(wù)可以包括一個或多個模型注冊、導(dǎo)入/導(dǎo)出、版本管理、導(dǎo)航訪問、搜索/查詢訪問、持久性,以及簽入/簽出服務(wù)。知識庫可以包括一個或多個個人知識庫、團(tuán)隊知識庫、項目知識庫、基于部門的知識庫、企業(yè)知識庫、集中知識庫、以及分散的知識庫。
在另一個方面,用于將數(shù)據(jù)集成系統(tǒng)連接到外部資源的方法可以包括將數(shù)據(jù)集成系統(tǒng)作為多個服務(wù)部署在面向服務(wù)的體系結(jié)構(gòu)中;將一個或多個連接器組件作為服務(wù)注冊到數(shù)據(jù)集成系統(tǒng)的服務(wù)目錄中,每一個連接器組件被配置為連接到外部資源;以及從數(shù)據(jù)集成系統(tǒng)內(nèi)使用作為服務(wù)的一個連接器組件來建立到外部資源的連接。用于將數(shù)據(jù)集成系統(tǒng)連接到外部資源的系統(tǒng)可以包括包括服務(wù)目錄和多個服務(wù)的面向服務(wù)的體系結(jié)構(gòu);作為服務(wù)目錄中的服務(wù)注冊的一個或多個連接器組件,每一個連接器組件被配置為連接到外部資源;以及使用作為服務(wù)的一個連接器組件來從數(shù)據(jù)集成系統(tǒng)內(nèi)建立到外部資源的連接的至少一個運行時引擎。
連接器組件可以提供對外部資源文件的所有訪問。至少一個連接器組件可以包括轉(zhuǎn)換進(jìn)程。連接器組件可以用于數(shù)據(jù)集成進(jìn)程的設(shè)計過程中和/或運行時過程中。連接器組件可以包括到特定外部資源的接口。與外部資源的連接可以包括事件監(jiān)聽和資源訪問。與外部資源的連接可以是永久性的。
在另一個方面,這里所描述的用于將數(shù)據(jù)集成系統(tǒng)連接到外部資源的方法包括將數(shù)據(jù)集成系統(tǒng)作為多個服務(wù)部署在面向服務(wù)的體系結(jié)構(gòu)中;將一個或多個連接器組件作為服務(wù)注冊到數(shù)據(jù)集成系統(tǒng)的服務(wù)目錄中,每一個連接器組件被配置為連接到外部資源;以及從數(shù)據(jù)集成系統(tǒng)內(nèi)使用作為服務(wù)的一個連接器組件來建立到外部資源的連接。
連接器組件可以提供對外部資源文件的所有訪問。至少一個連接器組件可以包括轉(zhuǎn)換進(jìn)程。連接器組件可以用于數(shù)據(jù)集成進(jìn)程的設(shè)計過程中。連接器組件在運行時過程中可用。連接器組件可以包括到特定外部資源的接口。與外部資源的連接可以包括事件監(jiān)聽和資源訪問。與外部資源的連接可以是永久性的。外部資源可以至少包括一個數(shù)據(jù)源或至少一個數(shù)據(jù)目標(biāo)。連接器組件可以提供對外部資源的元數(shù)據(jù)的訪問。連接器組件可以提供對外部資源的數(shù)據(jù)的訪問。
在另一個方面,這里所說明的系統(tǒng)包括包括服務(wù)目錄的面向服務(wù)的體系結(jié)構(gòu);相關(guān)計算機程序產(chǎn)品套件的多個功能,每一個功能作為服務(wù)在服務(wù)目錄中注冊;以及用于調(diào)用一個或多個所述服務(wù)的一個或多個實例的接口,從而相關(guān)的計算機產(chǎn)品套件部署在面向服務(wù)的體系結(jié)構(gòu)中。
相關(guān)計算機程序產(chǎn)品套件可以包括數(shù)據(jù)集成套件。功能可以包括下列各項中的一個或多個審核、日志記錄、監(jiān)視、管理、安全、用戶配置文件、會話管理、以及報告,事務(wù)、業(yè)務(wù)流程、用戶目錄、組件服務(wù)、配置、系統(tǒng)管理、源控制、源和目標(biāo)元數(shù)據(jù)的導(dǎo)入/導(dǎo)出,元數(shù)據(jù)查詢、訪問、分析、報告、以及預(yù)訂,樣本數(shù)據(jù)、數(shù)據(jù)剖析、進(jìn)程編輯、進(jìn)程編譯、數(shù)據(jù)驗證、設(shè)計部署、設(shè)計執(zhí)行、安裝和升級、演示安裝、部署、版本管理、同步、數(shù)據(jù)剖析、數(shù)據(jù)凈化、調(diào)查和調(diào)整、模板的應(yīng)用、測試、以及問題報告。一個或多個參數(shù)被傳遞到一個或多個所述服務(wù)的一個或多個實例。一個或多個所述服務(wù)可以至少包括一個所有相關(guān)計算機程序產(chǎn)品所共有的通用服務(wù)。
在其他方面,計算機程序產(chǎn)品可以包括其中包含計算機可讀取程序代碼的計算機可使用介質(zhì),其中,當(dāng)在一個或多個計算機上執(zhí)行時所述計算機可讀取程序代碼使一個或多個計算機執(zhí)行上述方法中的任何一個或多個。
這里所使用的“International Business Machines”或“IBM”應(yīng)該是指位于紐約Armonk的International Business MachinesCorporation(IBM公司)。
如這里所使用的,“數(shù)據(jù)源”或“數(shù)據(jù)目標(biāo)”具有與這些術(shù)語一致的最廣泛的可能的含義,并應(yīng)該包括一個數(shù)據(jù)庫、多個數(shù)據(jù)庫、知識庫信息管理器、隊列、消息服務(wù)、知識庫、數(shù)據(jù)設(shè)施、數(shù)據(jù)存儲設(shè)施、數(shù)據(jù)提供程序、網(wǎng)站、服務(wù)器、計算機、計算機存儲設(shè)施、CD、DVD、移動存儲設(shè)施、中央存儲設(shè)施、硬盤、多個協(xié)調(diào)數(shù)據(jù)存儲設(shè)施、RAM、ROM、快閃存儲器、存儲器卡、臨時存儲設(shè)施、永久存儲設(shè)施、磁帶、本地連接的計算設(shè)施、遠(yuǎn)程連接的計算設(shè)施、無線設(shè)施、有線設(shè)施、移動設(shè)施、中央設(shè)施、Web瀏覽器、客戶端、膝上型電腦、個人數(shù)字助理(“PDA”)、電話、蜂窩電話、移動電話、信息平臺、分析設(shè)施、處理設(shè)施,商業(yè)企業(yè)系統(tǒng)或其中對數(shù)據(jù)進(jìn)行處理其他設(shè)施,或提供的用于存儲數(shù)據(jù)或其他信息的其他設(shè)施,以及用于維護(hù)上述系統(tǒng)中的任何系統(tǒng)中所使用的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)的任何文件或文件類型,或任何流式的、消息化的、事件驅(qū)動的,或以別的方式提供的數(shù)據(jù),以及前面的方式的任何組合,除非特別指明特定含義或上下文需要別的方式。存儲機制是任何物理或邏輯器件,資源,或能夠充當(dāng)數(shù)據(jù)源或數(shù)據(jù)目標(biāo),或以別的方式以可恢復(fù)的形式存儲數(shù)據(jù)的設(shè)施。
“Enterprise Java Bean(EJB)”應(yīng)該包括針對J2EE平臺的服務(wù)器端組件體系結(jié)構(gòu)。EJB支持分布式、事務(wù)性的、安全和可移植性Java應(yīng)用程序的迅速而簡化的開發(fā)。EJB支持允許消息的并行的消耗的容器體系結(jié)構(gòu),并為分布式事務(wù)提供支持,以致于數(shù)據(jù)庫更新、消息處理、與使用J2EE體系結(jié)構(gòu)的企業(yè)系統(tǒng)的連接可以參與相同的事務(wù)上下文中。
“JMS”應(yīng)該意指Java Message Service(Java消息服務(wù)),這是對于基于Java的J2EE企業(yè)體系結(jié)構(gòu)的企業(yè)消息服務(wù)。“JCA”應(yīng)該意指下面更加具體地描述的J2EE平臺的J2EE連接器體系結(jié)構(gòu)。應(yīng)該理解,盡管EJB、JMS,以及JCA通常在當(dāng)代的分布式事務(wù)環(huán)境中的軟件工具中使用,但是,提供類似功能的任何平臺、系統(tǒng)或體系結(jié)構(gòu)都可以與這里所描述的數(shù)據(jù)集成系統(tǒng)一起使用。
如這里所使用的,“實時”應(yīng)該包括近似業(yè)務(wù)交易或業(yè)務(wù)的持續(xù)時間的時間段,并應(yīng)該包括在業(yè)務(wù)經(jīng)營或業(yè)務(wù)進(jìn)程過程中發(fā)生的進(jìn)程或服務(wù),而不是離線發(fā)生的,如在夜間批處理操作中。取決于業(yè)務(wù)進(jìn)程的持續(xù)時間,實時可以包括秒、秒、分鐘、小時、甚至天的分?jǐn)?shù)。
如這里所使用的,“業(yè)務(wù)進(jìn)程”、“業(yè)務(wù)邏輯”和“業(yè)務(wù)交易”,應(yīng)該包括可以由企業(yè)執(zhí)行的任何方法、服務(wù)、操作、進(jìn)程或交易,包括,但不僅限于,銷售、市場營銷、履約、庫存管理、定價、產(chǎn)品設(shè)計、專業(yè)服務(wù)、金融服務(wù)、行政管理、財務(wù)、簽名、分析、合同、信息技術(shù)服務(wù)、數(shù)據(jù)存儲、數(shù)據(jù)挖掘、投遞信息、選定貨運路線、調(diào)度、通信、投資、交易、優(yōu)惠出售、促銷、廣告、報價、工程、制造、供應(yīng)鏈管理、人力資源管理、數(shù)據(jù)處理、數(shù)據(jù)集成、工作流管理、軟件生產(chǎn)、硬件生產(chǎn)、新產(chǎn)品開發(fā)、研究、開發(fā)、策略功能、質(zhì)量控制和保證、包裝、物流、顧客關(guān)系管理、處理折扣和退貨、客戶支持、產(chǎn)品維護(hù)、電話推銷、公司的通信、投資者關(guān)系,以及許多其它事項。
如這里所使用的“面向服務(wù)的體系結(jié)構(gòu)(SOA)”,應(yīng)該包括構(gòu)成商業(yè)企業(yè)的基礎(chǔ)架構(gòu)的一部分的服務(wù)。在SOA中,服務(wù)可以變成應(yīng)用程序開發(fā)和部署的構(gòu)件,從而可以進(jìn)行快速的應(yīng)用程序開發(fā),避免了冗余的代碼。每一個服務(wù)都可以實現(xiàn)一組業(yè)務(wù)邏輯或業(yè)務(wù)規(guī)則,這些規(guī)則可以綁定到周圍環(huán)境,如服務(wù)的數(shù)據(jù)輸入的來源或服務(wù)的輸出數(shù)據(jù)的目標(biāo)。在下面的描述中提供了SOA的不同的實例。
如這里所使用的,“元數(shù)據(jù)”應(yīng)該包括給正在被處理的帶來上下文的數(shù)據(jù),有關(guān)數(shù)據(jù)的數(shù)據(jù),有關(guān)相關(guān)的信息的上下文的信息,有關(guān)數(shù)據(jù)的起源的信息,有關(guān)數(shù)據(jù)的位置的信息,有關(guān)數(shù)據(jù)的含義的信息,有關(guān)數(shù)據(jù)的年齡的信息,有關(guān)數(shù)據(jù)的標(biāo)題的信息,有關(guān)數(shù)據(jù)的單元的信息,有關(guān)數(shù)據(jù)的字段的信息,有關(guān)涉及數(shù)據(jù)的上下文的任何其他信息的信息。
如這里所使用的“WSDL”或“Web服務(wù)描述語言”,包括XML格式,用于將網(wǎng)絡(luò)服務(wù)(常常是Web服務(wù))描述為對包含面向文檔的或者面向過程的信息的消息操作的消息操作的終結(jié)點組。抽象地描述了操作和消息,然后綁定到具體網(wǎng)絡(luò)協(xié)議和消息格式,以定義終結(jié)點。相關(guān)的具體終結(jié)點被合并到抽象的終結(jié)點(服務(wù))。WSDL是可擴(kuò)展的,允許描述終結(jié)點和它們的消息,不管使用什么消息格式或網(wǎng)絡(luò)協(xié)議來進(jìn)行通信。
圖1是具有多個業(yè)務(wù)進(jìn)程的商業(yè)企業(yè)的示意圖,每一個業(yè)務(wù)進(jìn)程都可以包括多個不同的計算機應(yīng)用程序和數(shù)據(jù)源。
圖2是顯示了跨商業(yè)企業(yè)的多個業(yè)務(wù)進(jìn)程的數(shù)據(jù)集成的示意圖。
圖3是顯示了用于為商業(yè)企業(yè)的多個數(shù)據(jù)源提供數(shù)據(jù)集成的體系結(jié)構(gòu)的示意圖。
圖4是顯示了數(shù)據(jù)集成作業(yè)的發(fā)現(xiàn)設(shè)施的詳細(xì)信息的示意圖。
圖5是顯示了用于實現(xiàn)數(shù)據(jù)集成進(jìn)程的發(fā)現(xiàn)步驟的步驟的流程圖。
圖6是顯示了數(shù)據(jù)集成進(jìn)程的凈化設(shè)施的示意圖。
圖7是顯示了數(shù)據(jù)集成進(jìn)程的凈化進(jìn)程的步驟的流程圖。
圖8是顯示了數(shù)據(jù)集成進(jìn)程的轉(zhuǎn)換設(shè)施的示意圖。
圖9是顯示了作為數(shù)據(jù)集成進(jìn)程的一部分的轉(zhuǎn)換數(shù)據(jù)的步驟的流程圖。
圖10描述了使用圖形用戶界面模型化的抵押數(shù)據(jù)的轉(zhuǎn)換進(jìn)程的示例。
圖11A是顯示了用于將數(shù)據(jù)集成進(jìn)程連接到商業(yè)企業(yè)的其他進(jìn)程的多個連接設(shè)施的示意圖。
圖11B顯示了使用橋模型的多個連接設(shè)施。
圖12是顯示了將數(shù)據(jù)集成進(jìn)程連接到商業(yè)企業(yè)的其他進(jìn)程的步驟的流程圖。
圖13顯示了包括數(shù)據(jù)集成系統(tǒng)的企業(yè)計算系統(tǒng)。
圖14A顯示了數(shù)據(jù)集成作業(yè)中的元數(shù)據(jù)的管理。
圖14B顯示了可以在數(shù)據(jù)集成作業(yè)中使用的面向方面的編程環(huán)境。
圖15是顯示了與數(shù)據(jù)集成作業(yè)一起使用元數(shù)據(jù)設(shè)施的另外的步驟的流程圖。
圖16是顯示了與數(shù)據(jù)集成作業(yè)一起使用元數(shù)據(jù)設(shè)施的另外的步驟的流程圖。
圖16A是顯示了與數(shù)據(jù)集成作業(yè)一起使用元數(shù)據(jù)設(shè)施的另外的步驟的流程圖。
圖17是顯示了數(shù)據(jù)集成進(jìn)程的多個進(jìn)程的并行執(zhí)行的設(shè)施的示意圖。
圖18是顯示了數(shù)據(jù)集成進(jìn)程的多個進(jìn)程的并行執(zhí)行的步驟的流程圖。
圖19是顯示了數(shù)據(jù)集成作業(yè)的示意圖,包括來自多個數(shù)據(jù)源的輸入以及到多個數(shù)據(jù)目標(biāo)的輸出。
圖20是顯示了數(shù)據(jù)集成作業(yè)的示意圖,包括來自多個數(shù)據(jù)源的輸入以及到多個數(shù)據(jù)目標(biāo)的輸出。
圖21顯示了其中商業(yè)企業(yè)的數(shù)據(jù)管理員可以設(shè)計數(shù)據(jù)集成作業(yè)的圖形用戶界面。
圖22顯示了其中數(shù)據(jù)管理員可以設(shè)計數(shù)據(jù)集成作業(yè)的圖形用戶界面的另一個實施例。
圖23是將實時數(shù)據(jù)集成服務(wù)設(shè)施與數(shù)據(jù)集成進(jìn)程集成的體系結(jié)構(gòu)的示意圖。
圖24是顯示了商業(yè)企業(yè)的面向服務(wù)的體系結(jié)構(gòu)的示意圖。
圖25是顯示了SOAP消息格式的示意圖。
圖26是顯示了Web服務(wù)的WSDL描述的元素的示意圖。
圖27是顯示了啟用企業(yè)的實時數(shù)據(jù)集成進(jìn)程的元素的示意圖。
圖28是啟用實時集成服務(wù)的服務(wù)器的實施例。
圖29顯示了典型的J2EE服務(wù)器的體系結(jié)構(gòu)和功能。
圖30代表對RTI服務(wù)進(jìn)行管理的RTI控制臺。
圖31顯示了啟用RTI服務(wù)的體系結(jié)構(gòu)的進(jìn)一步詳細(xì)信息。
圖32是RTI服務(wù)的內(nèi)部體系結(jié)構(gòu)的示意圖。
圖33顯示了RTI服務(wù)器和RTI代理的交互的一個方面。
圖34顯示了在金融服務(wù)企業(yè)中使用的RTI服務(wù)。
圖35顯示了一個企業(yè)如何使用RTI服務(wù)更新客戶記錄。
圖36顯示了包括主客戶數(shù)據(jù)庫的數(shù)據(jù)集成系統(tǒng)。
圖37顯示了可以實現(xiàn)一組數(shù)據(jù)轉(zhuǎn)換、驗證和標(biāo)準(zhǔn)化例程的RTI服務(wù)。
圖38顯示了訪問實時集成服務(wù)的應(yīng)用程序。
圖39顯示了沒有數(shù)據(jù)集成服務(wù)的簽名進(jìn)程。
圖40顯示了使用了RTI服務(wù)的簽名進(jìn)程。
圖41顯示了使用多個RTI服務(wù)的企業(yè)。
圖42顯示了使用實時集成服務(wù)的貨車運輸代理企業(yè)。
圖43顯示了駕駛員可以諸如通過使用移動設(shè)備作為Web服務(wù)訪問的一組數(shù)據(jù)集成服務(wù)支持應(yīng)用程序。
圖44顯示了用于財務(wù)報表的數(shù)據(jù)集成系統(tǒng)。
圖45顯示了用于在零售業(yè)中維護(hù)權(quán)威性的客戶數(shù)據(jù)庫的數(shù)據(jù)集成系統(tǒng)。
圖46顯示了在制藥行業(yè)中使用的數(shù)據(jù)集成系統(tǒng)。
圖47顯示了在制造業(yè)中使用的數(shù)據(jù)集成系統(tǒng)。
圖48顯示了用于對臨床試驗研究結(jié)果進(jìn)行分析的數(shù)據(jù)集成系統(tǒng)。
圖49顯示了用于對科學(xué)研究數(shù)據(jù)的進(jìn)行評估的數(shù)據(jù)集成系統(tǒng)。
圖50顯示了用于管理跨多個商業(yè)系統(tǒng)的客戶數(shù)據(jù)的數(shù)據(jù)集成系統(tǒng)。
圖51顯示了用于提供具有現(xiàn)有的客戶記錄的入站客戶數(shù)據(jù)的按需自動匹配的數(shù)據(jù)集成系統(tǒng)。
圖52顯示了數(shù)據(jù)集成服務(wù)的體系結(jié)構(gòu)的高級別示意圖。
圖52A顯示了作為若干個任務(wù)定義用戶界面的任務(wù)矩陣。
圖53顯示了圖形用戶界面GUI的更加詳細(xì)的示意圖。
圖54顯示了體系結(jié)構(gòu)中的SOA角色和關(guān)系的UML圖表。
圖55顯示了體系結(jié)構(gòu)的SOA環(huán)境的示意圖。
圖56顯示了知識庫服務(wù)中的模型的示意圖。
圖57顯示了知識庫服務(wù)體系結(jié)構(gòu)的示意圖。
圖58顯示了組件和合成物模型的高級別UML類圖表。
圖59顯示了合成物模型的EIL示例。
圖60顯示了客戶端、服務(wù),以及組件的關(guān)系的UML類圖表。
圖61顯示了數(shù)據(jù)表示法從一個組件傳遞到另一個組件的示意圖。
圖62顯示了體系結(jié)構(gòu)的通用轉(zhuǎn)換框架。
圖63顯示了體系結(jié)構(gòu)的連接。
具體實施例方式
在整個下列討論中,除非特別聲明,相同的元素編號用于表示相同的元素。
這里所說明的本發(fā)明可以呈現(xiàn)完全是硬件、完全是軟件或包含硬件和軟件元素兩者的實施方式的形式。在優(yōu)選實施例中,本發(fā)明是以軟件實現(xiàn)的,包括但不僅限于固件、常駐軟件、微代碼等等。
此外,本發(fā)明還可以呈現(xiàn)計算機程序產(chǎn)品的形式,該產(chǎn)品可以從計算機可使用的或計算機可讀的介質(zhì)進(jìn)行訪問,介質(zhì)提供了程序代碼,供計算機或任何指令執(zhí)行系統(tǒng)使用或與它們一起使用。對于此說明書,計算機可使用的或計算機可讀取的介質(zhì)可以是可以包含、存儲、傳遞、傳播或傳輸供指令執(zhí)行系統(tǒng)、設(shè)備一起使用或與它們一起使用的程序的程序的任何設(shè)備。
介質(zhì)可以是電子的、磁性的、光學(xué)的、電磁的、紅外線的或半導(dǎo)體系統(tǒng)(或設(shè)備)或傳播介質(zhì)。計算機可讀的介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲器,磁帶,可移動計算機磁盤,隨機存取存儲器(RAM),只讀存儲器(ROM),硬磁盤和光盤。光盤的當(dāng)前示例包括光盤-只讀存儲器(CD-ROM),光盤讀取/寫入(CD-R/W)和DVD。
適用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將至少包括一個通過系統(tǒng)總線直接或間接地連接到存儲器元件處理器。存儲器元件可以包括在程序代碼的實際執(zhí)行過程中使用的本地存儲器,大容量存儲器,以及高速緩沖存儲器,該高速緩沖存儲器提供了至少某些程序代碼的臨時存儲器,以便減少在執(zhí)行過程中必須從大容量存儲器檢索代碼的次數(shù)。
輸入/輸出或I/O設(shè)備(包括但不僅限于,鍵盤、顯示器、指示設(shè)備,等等)可以直接或者通過I/O控制器連接到系統(tǒng)。
網(wǎng)絡(luò)適配器也可以連接到系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)通過私有的或公共網(wǎng)絡(luò)連接到其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機或存儲設(shè)備。調(diào)制解調(diào)器,電纜調(diào)制解調(diào)器和以太網(wǎng)卡只是幾個當(dāng)前可用的的網(wǎng)絡(luò)適配器類型。
圖1代表了用于促進(jìn)商業(yè)企業(yè)的各種數(shù)據(jù)的集成的平臺100。該平臺包括多個業(yè)務(wù)進(jìn)程,每一個業(yè)務(wù)進(jìn)程都可以包括多個不同的計算機應(yīng)用程序和數(shù)據(jù)源。該平臺可以包括諸如上文所描述的那些多種數(shù)據(jù)源102。這些數(shù)據(jù)源可以包括來自多種物理位置的多種數(shù)據(jù)類型。例如,數(shù)據(jù)源可以包括來自諸如Sybase、Microsoft、Informix、Oracle、Inlomover、EMC、Trillium、First Logic、Siebel、PeopleSoft、IBM、Apache或Netscape之類的提供程序的系統(tǒng)。數(shù)據(jù)源102可以包括使用諸如IMS、DB2、ADABAS、VSAM、MD Series、UDB、XML、復(fù)雜的平面文件或FTP文件之類的數(shù)據(jù)庫產(chǎn)品或標(biāo)準(zhǔn)的系統(tǒng)。數(shù)據(jù)源102包括由諸如Microsoft Outlook、Microsoft Word、MicrosoftExcel、Microsoft Access創(chuàng)建或使用的文件,以及諸如ASCII、CSV、GIF、TIF、PNG、PDF等等之類的標(biāo)準(zhǔn)格式的文件。數(shù)據(jù)源102可以來自各種位置,也可以將它們集中地放置。從數(shù)據(jù)源102提供的數(shù)據(jù)可以是各種形式,并可以具有不同的格式,格式可以彼此兼容,也可以不兼容。
在本說明書中的稍后討論了數(shù)據(jù)目標(biāo)。一般而言,這些數(shù)據(jù)目標(biāo)可以是上文所提及的數(shù)據(jù)源102中的任何一種。術(shù)語的這種差異通常表示數(shù)據(jù)系統(tǒng)是在數(shù)據(jù)集成進(jìn)程中提供數(shù)據(jù)還是接收數(shù)據(jù)。然而,應(yīng)該理解,這種區(qū)別并不意味著在數(shù)據(jù)源和數(shù)據(jù)目標(biāo)之間的功能上存在任何差異(除非特別聲明),因為在常規(guī)數(shù)據(jù)集成系統(tǒng)中,數(shù)據(jù)源可以接收數(shù)據(jù),數(shù)據(jù)目標(biāo)可以提供數(shù)據(jù)。
圖1中所顯示的平臺還包括數(shù)據(jù)集成系統(tǒng)104。例如,數(shù)據(jù)集成系統(tǒng)可以作為數(shù)據(jù)集成系統(tǒng)104接收到的查詢或檢索命令的結(jié)果,促進(jìn)從數(shù)據(jù)源102收集數(shù)據(jù)。數(shù)據(jù)集成系統(tǒng)104可以向一個或多個數(shù)據(jù)源102發(fā)送命令,以便數(shù)據(jù)源向數(shù)據(jù)集成系統(tǒng)104提供數(shù)據(jù)。由于接收到的數(shù)據(jù)可以是多種格式,包括不同的元數(shù)據(jù),因此,數(shù)據(jù)集成系統(tǒng)可以重新配置接收到的數(shù)據(jù),以便它稍后可以組合起來,以便進(jìn)行集成的處理。下面將比較詳細(xì)地描述可以由數(shù)據(jù)集成系統(tǒng)104執(zhí)行的功能。
平臺100還包括多種檢索系統(tǒng)108。檢索系統(tǒng)108可以包括數(shù)據(jù)庫或處理平臺,用于進(jìn)一步操縱從數(shù)據(jù)集成系統(tǒng)104傳遞的數(shù)據(jù)。例如,數(shù)據(jù)集成系統(tǒng)104可以凈化、組合,轉(zhuǎn)換或以別的方式操縱它從數(shù)據(jù)源102接收到的數(shù)據(jù),以便檢索系統(tǒng)108可以使用處理過的數(shù)據(jù),以產(chǎn)生對企業(yè)有用處的報告110。報告110可以用來報告數(shù)據(jù)關(guān)聯(lián)、回答復(fù)雜的查詢,回答簡單的查詢,或形成對企業(yè)或用戶有用處的其他報告,并可以包括原始數(shù)據(jù)、表、圖表、圖形,以及來自檢索系統(tǒng)108的任何其他數(shù)據(jù)的表示方法。
平臺100也可以包括數(shù)據(jù)庫或數(shù)據(jù)庫管理系統(tǒng)112。數(shù)據(jù)庫112可以用來臨時存儲信息或進(jìn)行永久的或長期的存儲。例如,數(shù)據(jù)集成系統(tǒng)104可以從一個或多個數(shù)據(jù)源102收集數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)換為彼此兼容的形式或兼容以便彼此組合起來的形式。一旦轉(zhuǎn)換了數(shù)據(jù),數(shù)據(jù)集成系統(tǒng)104就可以以分解形式、組合形式或其他形式將數(shù)據(jù)存儲在數(shù)據(jù)庫112中,供以后檢索。
圖2是顯示了跨商業(yè)企業(yè)的多個實體和業(yè)務(wù)進(jìn)程的數(shù)據(jù)集成的示意圖。在所顯示的實施例中,數(shù)據(jù)集成系統(tǒng)104促進(jìn)了用戶接口系統(tǒng)202和數(shù)據(jù)源102之間的信息流動。數(shù)據(jù)集成系統(tǒng)104可以從接口系統(tǒng)202接收查詢,在那里,查詢需要提取和/或轉(zhuǎn)換駐留在一個或多個數(shù)據(jù)源102中的數(shù)據(jù)。接口系統(tǒng)202可以包括與數(shù)據(jù)集成系統(tǒng)104進(jìn)行通信的任何設(shè)備或程序,如在膝上型電腦或臺式計算機上操作的Web瀏覽器,蜂窩電話、個人數(shù)字助理(“PDA”),聯(lián)網(wǎng)的平臺和連接到平臺的設(shè)備,或可以與數(shù)據(jù)集成系統(tǒng)104連接的任何其他設(shè)備或系統(tǒng)。
例如,用戶可以對PDA進(jìn)行操作,并通過WiFi或無線訪問協(xié)議/無線標(biāo)記語言(“WAP/WML”)接口向數(shù)據(jù)集成系統(tǒng)104發(fā)出信息請求。數(shù)據(jù)集成系統(tǒng)104可以接收請求,生成任何所需的查詢,以從諸如FTP文件站點之類的網(wǎng)站或其他數(shù)據(jù)源102訪問信息??梢蕴崛碜詳?shù)據(jù)源102的數(shù)據(jù),并將其轉(zhuǎn)換成與發(fā)出請求的接口系統(tǒng)202(在本示例中為PDA)兼容的格式,然后傳遞到接口系統(tǒng)202,供用戶查看和操縱。在另一個實施例中,可以預(yù)先從數(shù)據(jù)源中提取數(shù)據(jù),并存儲在單獨的數(shù)據(jù)庫112中,該數(shù)據(jù)庫可以是由數(shù)據(jù)集成系統(tǒng)104使用的數(shù)據(jù)倉庫或其他數(shù)據(jù)設(shè)施。數(shù)據(jù)可以以轉(zhuǎn)換后的狀態(tài)也可以以其原始狀態(tài)存儲在數(shù)據(jù)庫112中。例如,數(shù)據(jù)可以以轉(zhuǎn)換的狀態(tài)存儲,以便來自許多數(shù)據(jù)源102的數(shù)據(jù)可以在另一個轉(zhuǎn)換進(jìn)程中組合起來。例如,來自PDA的查詢可以傳輸?shù)綌?shù)據(jù)集成系統(tǒng)104,數(shù)據(jù)集成系統(tǒng)104可以從數(shù)據(jù)庫112提取信息。在提取之后,在向PDA傳輸之前,數(shù)據(jù)集成系統(tǒng)104可以將數(shù)據(jù)轉(zhuǎn)換為與PDA兼容的組合格式。
圖3是顯示了用于為商業(yè)企業(yè)的多個數(shù)據(jù)源102提供數(shù)據(jù)集成的體系結(jié)構(gòu)的示意圖。數(shù)據(jù)集成系統(tǒng)104的實施例可以包括可能與其他進(jìn)程一起執(zhí)行的發(fā)現(xiàn)數(shù)據(jù)級302,從數(shù)據(jù)源提取數(shù)據(jù)以及分析源數(shù)據(jù)的列值和表結(jié)構(gòu)。發(fā)現(xiàn)數(shù)據(jù)級302也可以生成有關(guān)表結(jié)構(gòu)、關(guān)系以及數(shù)據(jù)目標(biāo)的鍵的建議。比較復(fù)雜的壓型和審核功能可以包括日期范圍驗證、計算的精度,假設(shè)評估的精度等等。發(fā)現(xiàn)數(shù)據(jù)級302可以通過諸如消除冗余依賴關(guān)系及源數(shù)據(jù)中的其他異常來規(guī)范化數(shù)據(jù)。發(fā)現(xiàn)數(shù)據(jù)級302可以提供附加功能,如深入到數(shù)據(jù)源102內(nèi)的異常以便進(jìn)行進(jìn)一步的分析,或允許對大型機數(shù)據(jù)進(jìn)行直接的壓型。發(fā)現(xiàn)數(shù)據(jù)級302的商業(yè)實施例的一個非限制性示例可以在Ascential的ProfileStage產(chǎn)品中找到。
數(shù)據(jù)集成系統(tǒng)104還可以包括數(shù)據(jù)準(zhǔn)備級304,在那里準(zhǔn)備數(shù)據(jù),將它們標(biāo)準(zhǔn)化、匹配或以別的方式對它們進(jìn)行操縱,以產(chǎn)生以后轉(zhuǎn)換的質(zhì)量數(shù)據(jù)。數(shù)據(jù)準(zhǔn)備級304可以執(zhí)行一般性的數(shù)據(jù)質(zhì)量功能,如調(diào)和不一致性或檢查數(shù)據(jù)內(nèi)的正確的匹配(包括一對一的匹配,一對多的匹配和去除重復(fù))。數(shù)據(jù)準(zhǔn)備級304也可以提供特定數(shù)據(jù)增強功能。例如,數(shù)據(jù)準(zhǔn)備級304可以確保地址符合多國郵政參考,以便確保改善的國際通信。數(shù)據(jù)準(zhǔn)備級304可以使位置數(shù)據(jù)符合多國地理編碼標(biāo)準(zhǔn),以便于進(jìn)行空間信息管理。數(shù)據(jù)準(zhǔn)備級可以修改或添加到地址中,以確保符合美國郵政郵費率的地址信息根據(jù)GovernmentCertified U.S.Address Correction打折扣。可以為加拿大和澳大利亞的郵政系統(tǒng)(它們?yōu)榈刂氛_的郵件提供折扣)提供類似的分析和數(shù)據(jù)修訂。數(shù)據(jù)準(zhǔn)備級304的商業(yè)實施例的一個非限制性示例可以在Ascential的QualityStage產(chǎn)品中找到。
數(shù)據(jù)集成系統(tǒng)還可以包括數(shù)據(jù)轉(zhuǎn)換級308,以轉(zhuǎn)換、豐富和提供轉(zhuǎn)換的數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換級308可以執(zhí)行瞬變的服務(wù),如改組和重新格式化數(shù)據(jù),并基于系統(tǒng)用戶的業(yè)務(wù)規(guī)則和算法進(jìn)行計算。數(shù)據(jù)轉(zhuǎn)換級308還可以將目標(biāo)數(shù)據(jù)組織為被稱為“數(shù)據(jù)市場”或“多維數(shù)據(jù)集”的子集,用于在某些分析上下文中對對數(shù)據(jù)進(jìn)行高度協(xié)調(diào)的處理。數(shù)據(jù)轉(zhuǎn)換級308可以使用橋、轉(zhuǎn)換器或其他接口(如下面一般性地討論的),以橫跨由數(shù)據(jù)集成系統(tǒng)104使用的各種數(shù)據(jù)源和數(shù)據(jù)目標(biāo)的各種軟件和硬件體系結(jié)構(gòu)。數(shù)據(jù)轉(zhuǎn)換級308可以包括圖形用戶界面、命令行界面、或這些界面的某種組合,以跨平臺100地設(shè)計數(shù)據(jù)集成作業(yè)。數(shù)據(jù)轉(zhuǎn)換級308的商業(yè)實施例的一個非限制性示例可以在Ascential的DataStage產(chǎn)品中找到。
可以使用并行執(zhí)行系統(tǒng)310或以串行或組合方式執(zhí)行數(shù)據(jù)集成系統(tǒng)104的級302、304、308,以優(yōu)化系統(tǒng)104的性能。
數(shù)據(jù)集成系統(tǒng)104還可以包括元數(shù)據(jù)管理系統(tǒng)312,用于管理與數(shù)據(jù)源102關(guān)聯(lián)的元數(shù)據(jù)。一般而言,元數(shù)據(jù)管理系統(tǒng)312可以用于跨數(shù)據(jù)集成環(huán)境中的所有工具地互換、集成、管理和分析元數(shù)據(jù)。例如,元數(shù)據(jù)管理系統(tǒng)312可以在不同的源中,如Ascential′s ODBCMetaBroker、CA ERwin、Ascential PrifileStage、Ascential DataStage、Ascential QualityStage、IBM DB2 Cube Views,以及CognosImpromptu中,提供通用普遍地可訪問的數(shù)據(jù)視圖。元數(shù)據(jù)管理系統(tǒng)312還可以提供分析工具,用于對數(shù)據(jù)結(jié)構(gòu)的更改的數(shù)據(jù)譜系和影響分析。元數(shù)據(jù)管理系統(tǒng)312可以進(jìn)一步用于為數(shù)據(jù)集成系統(tǒng)104內(nèi)的數(shù)據(jù)準(zhǔn)備數(shù)據(jù)定義、算法,以及業(yè)務(wù)上下文的業(yè)務(wù)數(shù)據(jù)詞匯表,該詞匯表可以發(fā)布,以在整個企業(yè)中使用。元數(shù)據(jù)管理系統(tǒng)312的商業(yè)實施例的一個非限制性示例可以在Ascential的MegaStage產(chǎn)品中找到。
圖4是顯示了實現(xiàn)數(shù)據(jù)集成作業(yè)的發(fā)現(xiàn)數(shù)據(jù)級302的設(shè)施的詳細(xì)信息的示意圖。在此實施例中,發(fā)現(xiàn)數(shù)據(jù)級302查詢數(shù)據(jù)庫402(可以是上文所描述的數(shù)據(jù)源102中的任何一種),以確定數(shù)據(jù)庫402中的數(shù)據(jù)的內(nèi)容和結(jié)構(gòu)。數(shù)據(jù)庫402將結(jié)果提供到發(fā)現(xiàn)數(shù)據(jù)級302,而發(fā)現(xiàn)數(shù)據(jù)級302隨后將提取的數(shù)據(jù)傳遞到數(shù)據(jù)集成系統(tǒng)104的其他部分。在一個實施例中,發(fā)現(xiàn)數(shù)據(jù)級302可以查詢許多數(shù)據(jù)源102,以便數(shù)據(jù)集成系統(tǒng)104可以凈化數(shù)據(jù),并將數(shù)據(jù)合并為中心數(shù)據(jù)庫或知識庫信息管理器。
圖5是顯示了用于實現(xiàn)數(shù)據(jù)集成進(jìn)程500的發(fā)現(xiàn)步驟的步驟的流程圖。盡管下面描述了特定數(shù)據(jù)集成進(jìn)程500,但是,這里所使用的數(shù)據(jù)集成進(jìn)程500可以是指使用數(shù)據(jù)源102和數(shù)據(jù)目標(biāo),數(shù)據(jù)庫112,數(shù)據(jù)集成系統(tǒng)104,及這里所描述的其他組件的任何進(jìn)程。在一個實施例中,示例發(fā)現(xiàn)步驟的處理步驟可以包括第一個步驟502諸如上文所描述的發(fā)現(xiàn)數(shù)據(jù)級302之類的發(fā)現(xiàn)設(shè)施,接收從一個或多個數(shù)據(jù)源102提取數(shù)據(jù)的命令。在接收到提取命令之后,發(fā)現(xiàn)設(shè)施可以標(biāo)識其中駐留了要被提取的數(shù)據(jù)的適當(dāng)?shù)臄?shù)據(jù)源102,如步驟504所示??梢栽诿钪袠?biāo)識數(shù)據(jù)源102,也可以不標(biāo)識。如果標(biāo)識了數(shù)據(jù)源102,則發(fā)現(xiàn)設(shè)施可以查詢標(biāo)識的數(shù)據(jù)源102。在命令中沒有標(biāo)識數(shù)據(jù)源102的情況下,發(fā)現(xiàn)設(shè)施可以根據(jù)數(shù)據(jù)提取命令請求的數(shù)據(jù)類型或根據(jù)命令中的另一個信息片段,確定數(shù)據(jù)源102,或在確定與所需要的其他數(shù)據(jù)的關(guān)聯(lián)之后數(shù)據(jù)源102。例如,查詢可以是針對客戶的地址,客戶地址數(shù)據(jù)的第一部分可以駐留在第一數(shù)據(jù)源102中,而第二部分駐留在第二數(shù)據(jù)源102中。發(fā)現(xiàn)設(shè)施可以處理提取命令,并將其提取活動定向到兩個數(shù)據(jù)源102,無需命令中的進(jìn)一步的指令。一旦標(biāo)識了數(shù)據(jù)源102,數(shù)據(jù)設(shè)施可以執(zhí)行提取數(shù)據(jù)的進(jìn)程,如步驟508所示。一旦提取完數(shù)據(jù),發(fā)現(xiàn)設(shè)施就可以將數(shù)據(jù)傳遞到數(shù)據(jù)集成系統(tǒng)的另一部分。
圖6是顯示了數(shù)據(jù)集成進(jìn)程500的凈化設(shè)施的示意圖,凈化設(shè)施可以是上文所描述的數(shù)據(jù)準(zhǔn)備級304。一般而言,來自多種數(shù)據(jù)源102的數(shù)據(jù)可能存在不準(zhǔn)確,而這些不準(zhǔn)確性如果未被檢查,也未被校正,可能在最終由數(shù)據(jù)集成系統(tǒng)104產(chǎn)生的數(shù)據(jù)的解釋中產(chǎn)生錯誤。公司合并、收購、改組或數(shù)據(jù)源102的其他合并,可以通過帶來新的數(shù)據(jù)標(biāo)記、縮寫詞、度量標(biāo)準(zhǔn)、計算的方法等等,進(jìn)一步使數(shù)據(jù)質(zhì)量問題復(fù)雜化。如圖6所描述的,凈化設(shè)施可以從數(shù)據(jù)源102接收數(shù)據(jù)602。數(shù)據(jù)602可能來自一個或多個數(shù)據(jù)源102,并可能存在不一致或不準(zhǔn)確。凈化設(shè)施可以提供自動化的、半自動化的,或人工設(shè)施,用于屏蔽、校正、提純或以別的方式提高數(shù)據(jù)602的質(zhì)量。一旦數(shù)據(jù)602穿過了凈化設(shè)施,則它可以被傳遞給數(shù)據(jù)集成系統(tǒng)104的另一部分。
圖7是顯示了數(shù)據(jù)集成進(jìn)程500的凈化進(jìn)程700的步驟的流程圖。在一個實施例中,凈化進(jìn)程可以包括從一個或多個數(shù)據(jù)源102(例如,通過發(fā)現(xiàn)設(shè)施)接收數(shù)據(jù)的步驟702。凈化進(jìn)程700可以包括提純數(shù)據(jù)的一種或多種方法。例如,該進(jìn)程可以包括自動地提純數(shù)據(jù)的步驟704。該進(jìn)程可以包括半手動提純數(shù)據(jù)的步驟708。該進(jìn)程可以包括手動提純數(shù)據(jù)的步驟710。自動地校正或提純數(shù)據(jù)或數(shù)據(jù)的一部分的步驟704可以包括應(yīng)用多種技術(shù),如自動拼寫檢查和校正,比較數(shù)據(jù),比較數(shù)據(jù)的時間性、數(shù)據(jù)的狀態(tài),或用于提高數(shù)據(jù)質(zhì)量和一致性的其他技術(shù)。半自動地凈化數(shù)據(jù)的步驟708可以包括其中用戶與某些處理步驟進(jìn)行交互以及系統(tǒng)自動地執(zhí)行分配的提純?nèi)蝿?wù)的設(shè)施。半自動化的系統(tǒng)可以包括圖形用戶界面處理步驟712,在該步驟中用戶與圖形用戶界面進(jìn)行交互,以促進(jìn)用于凈化數(shù)據(jù)的進(jìn)程700。進(jìn)程700也可以包括手動校正數(shù)據(jù)的步驟710。此步驟也可以包括使用用戶界面來促進(jìn)數(shù)據(jù)的手動校正、合并和/或提純數(shù)據(jù)。經(jīng)過凈化進(jìn)程700凈化的數(shù)據(jù)可以傳輸?shù)綌?shù)據(jù)集成系統(tǒng)104中的另一個設(shè)施,如數(shù)據(jù)轉(zhuǎn)換級308。
圖8是顯示了數(shù)據(jù)集成進(jìn)程500的轉(zhuǎn)換設(shè)施的示意圖,轉(zhuǎn)換設(shè)施可以是上文所描述的數(shù)據(jù)轉(zhuǎn)換級308。轉(zhuǎn)換設(shè)施可以從凈化設(shè)施接收凈化的數(shù)據(jù)802,并執(zhí)行轉(zhuǎn)換進(jìn)程,豐富數(shù)據(jù),并將數(shù)據(jù)提供到數(shù)據(jù)集成系統(tǒng)104內(nèi)的另一進(jìn)程,或數(shù)據(jù)集成系統(tǒng)104的外部,在那里,可以查看、使用集成的數(shù)據(jù),進(jìn)一步轉(zhuǎn)換,或以別的方式操縱數(shù)據(jù)。例如,用戶可以通過數(shù)據(jù)挖掘來調(diào)查數(shù)據(jù),或生成對用戶或業(yè)務(wù)有用處的報告。
圖9是顯示了作為數(shù)據(jù)集成進(jìn)程500的一部分的變換數(shù)據(jù)的步驟的流程圖。轉(zhuǎn)換進(jìn)程900可以包括接收凈化的數(shù)據(jù)(例如,從上文所描述的數(shù)據(jù)準(zhǔn)備級308),如步驟902所示。如步驟904所示,進(jìn)程900可以對所需要的轉(zhuǎn)換的類型作出判斷。在確定轉(zhuǎn)換進(jìn)程的步驟904之后,可以執(zhí)行轉(zhuǎn)換進(jìn)程,如步驟908所示。然后,經(jīng)過轉(zhuǎn)換的數(shù)據(jù)可以傳輸?shù)搅硪粋€設(shè)施,如步驟910所示。
一般而言,可以對數(shù)據(jù)集成系統(tǒng)104進(jìn)行控制,并使用圖形用戶界面將其應(yīng)用于特定企業(yè)數(shù)據(jù)。界面可以包括用于模型化數(shù)據(jù)源、數(shù)據(jù)目標(biāo)的可視工具,以及對數(shù)據(jù)進(jìn)行操作的級或進(jìn)程,以及用于確定這些數(shù)據(jù)實體之間的關(guān)系,以便模型化所需要的數(shù)據(jù)集成任務(wù)的工具。下面將詳細(xì)描述圖形用戶界面。下面提供了描述如何在此上下文中使用用戶界面的一般示例。
圖10描述了使用圖形用戶界面1018模型化的抵押數(shù)據(jù)的轉(zhuǎn)換進(jìn)程1000的示例。對于此示例,商業(yè)企業(yè)希望生成關(guān)于某些抵押的報告。抵押結(jié)余信息可以駐留在抵押數(shù)據(jù)庫中,該數(shù)據(jù)庫可以是上文所描述的數(shù)據(jù)源102之一,諸如財產(chǎn)信息的地址之類的個人信息可以駐留在財產(chǎn)數(shù)據(jù)庫中,該數(shù)據(jù)庫也可以上文所描述的數(shù)據(jù)源102之一。可以提供圖形用戶界面1018以組織轉(zhuǎn)換進(jìn)程。例如,用戶可以選擇抵押數(shù)據(jù)庫1002的圖形表示和財產(chǎn)數(shù)據(jù)庫1012的圖形表示,使用常規(guī)的拖放操作將這些表示形式1002,1012放到界面1018內(nèi)。然后,用戶可以選擇行轉(zhuǎn)換進(jìn)程1004的圖形表示,以準(zhǔn)備組合的行。用戶可以拖放進(jìn)程流方向,在圖10內(nèi)一般表示為箭頭,以便來自數(shù)據(jù)庫的數(shù)據(jù)流入行轉(zhuǎn)換進(jìn)程。在此模型中,用戶可以選擇刪除任何不匹配的文件,并將它們發(fā)送到存儲設(shè)施中。為做到這一點,用戶可以將存儲設(shè)施6114的圖形表示放在界面1018內(nèi)。如果用戶希望進(jìn)一步處理剩余的匹配的文件,用戶可以添加組合來自兩個數(shù)據(jù)庫的數(shù)據(jù)的另一個轉(zhuǎn)換和聚合進(jìn)程1008的圖形表示。最后,用戶可以決定通過添加數(shù)據(jù)倉庫1010的圖形表示來將聚合數(shù)據(jù)發(fā)送到存儲設(shè)施。一旦用戶使用圖形用戶界面設(shè)置此進(jìn)程,用戶就可以運行轉(zhuǎn)換進(jìn)程。
圖11A是顯示了用于將數(shù)據(jù)集成進(jìn)程500連接到商業(yè)企業(yè)的其他進(jìn)程的多個連接設(shè)施的示意圖。在一個實施例中,數(shù)據(jù)集成系統(tǒng)104可以與集成的存儲設(shè)施1102關(guān)聯(lián),后者可以是上文所描述的數(shù)據(jù)源102之一。集成的存儲設(shè)施1102可以包含從多個其他數(shù)據(jù)源102提取的并通過數(shù)據(jù)集成系統(tǒng)104處理過的數(shù)據(jù)。集成的數(shù)據(jù)可以以允許一個或多個計算機平臺1108A和1108B從集成的數(shù)據(jù)存儲設(shè)施1102中檢索數(shù)據(jù)的形式存儲。計算平臺1108A和1108B可以通過轉(zhuǎn)換引擎1104A和1104B從集成的數(shù)據(jù)設(shè)施1102請求數(shù)據(jù)。例如,每一個計算平臺1108A和1108B都可以與單獨的轉(zhuǎn)換引擎1104A和1104B關(guān)聯(lián)。轉(zhuǎn)換引擎1104A和1104B可以用于將集成的數(shù)據(jù)從存儲設(shè)施1102轉(zhuǎn)換為與關(guān)聯(lián)的計算平臺1108A和1108B兼容的形式。在實施例中,轉(zhuǎn)換引擎1104A和1104B還可以與數(shù)據(jù)集成系統(tǒng)104關(guān)聯(lián)。此關(guān)聯(lián)可以用來用所需的信息更新轉(zhuǎn)換引擎1104A和1104B。此進(jìn)程還可以涉及下面將進(jìn)一步定義的元數(shù)據(jù)的處理。
盡管如圖11A所一般性地描述的數(shù)據(jù)集成的套節(jié)模型是一個用于連接到不同的計算平臺1108A、1108B及其他數(shù)據(jù)源102的模型,但是,也可以使用其他模型,如參考圖11B所描述的橋模型。應(yīng)該理解,盡管這里描述了到數(shù)據(jù)源102的連接,但是,可以使用這些模型或其他模型中任何一個,除非特別指定或上下文以別的方式指出。
圖11B顯示了使用橋模型的多個連接設(shè)施。在此系統(tǒng)中,多個數(shù)據(jù)源102,如庫存系統(tǒng)、顧客關(guān)系系統(tǒng),以及會計系統(tǒng),可以通過多個橋1120或連接設(shè)施連接到企業(yè)計算系統(tǒng)1300的數(shù)據(jù)集成系統(tǒng)104。每一個橋1120可以是供應(yīng)商特定的轉(zhuǎn)換引擎,該引擎為外部數(shù)據(jù)源102提供元數(shù)據(jù)模型,并允許在數(shù)據(jù)集成系統(tǒng)104和數(shù)據(jù)源102之間進(jìn)行信息的雙向傳輸。企業(yè)集成供應(yīng)商的數(shù)據(jù)源102可能具有專有的格式,因此,對于每一個不同的外部模型,可能需要不同的橋1120。每一個橋1120都可以為數(shù)據(jù)源102內(nèi)的所有或某些數(shù)據(jù)提供連接設(shè)施,可以為往返于每一個數(shù)據(jù)源102的連接維護(hù)單獨的映射或模型。此外,每一個橋1120都可以提供錯誤檢查、協(xié)調(diào)其他服務(wù),以在數(shù)據(jù)源102之間維護(hù)數(shù)據(jù)完整性。在數(shù)據(jù)源102如此互連的情況下,可以在系統(tǒng)之間共享或調(diào)和數(shù)據(jù),并對數(shù)據(jù)源102內(nèi)的數(shù)據(jù)執(zhí)行各種數(shù)據(jù)集成任務(wù),好像數(shù)據(jù)源102形成了單一的數(shù)據(jù)源102或倉庫。
圖12是顯示了將數(shù)據(jù)集成進(jìn)程500連接到商業(yè)企業(yè)的其他進(jìn)程的步驟的流程圖。在實施例中,連接進(jìn)程可以包括步驟1202,在該步驟中,數(shù)據(jù)集成系統(tǒng)104將它處理過的數(shù)據(jù)存儲在中央存儲設(shè)施中。數(shù)據(jù)集成系統(tǒng)104還可以在步驟1204中更新一個或多個轉(zhuǎn)換引擎。圖12中的例圖顯示了串行地發(fā)生的這些進(jìn)程,但它們還可以并行地發(fā)生,或以串行或并行的某種組合方式進(jìn)行。進(jìn)程可能涉及步驟1208,其中,計算平臺生成數(shù)據(jù)請求,并將數(shù)據(jù)請求發(fā)送到關(guān)聯(lián)的轉(zhuǎn)換引擎。步驟可能涉及轉(zhuǎn)換引擎從存儲設(shè)施中提取數(shù)據(jù)。轉(zhuǎn)換引擎還可以在步驟1212中將數(shù)據(jù)轉(zhuǎn)換為與計算平臺兼容的形式,然后,可以在步驟1214中將數(shù)據(jù)傳遞到計算平臺。
圖13顯示了包括數(shù)據(jù)集成系統(tǒng)104的企業(yè)計算系統(tǒng)1300。企業(yè)計算系統(tǒng)1300可以包括計算機、大型機、可移動的設(shè)備、數(shù)據(jù)源,及其他設(shè)備的任何組合,它們通過一個或多個局域網(wǎng)本地連接起來,和/或使用因特網(wǎng)上的虛擬專用網(wǎng)絡(luò)通過一個或多個廣域網(wǎng)或公共網(wǎng)絡(luò)遠(yuǎn)程連接起來。企業(yè)計算系統(tǒng)1300內(nèi)的設(shè)備可以互連到單一企業(yè)中,以共享數(shù)據(jù)、資源、通信,以及信息技術(shù)管理。通常,企業(yè)計算系統(tǒng)1300內(nèi)的資源由諸如企業(yè)、協(xié)會、或政府實體、或大學(xué)之類的通用實體使用。然而,在某些業(yè)務(wù)模型中,企業(yè)計算系統(tǒng)1300的資源可以由許多不同的實體擁有(租用)和使用,如應(yīng)用程序服務(wù)提供程序提供對遠(yuǎn)程執(zhí)行應(yīng)用程序的按需訪問。
企業(yè)計算系統(tǒng)1300可以包括多個工具1302,這些工具通過相應(yīng)的轉(zhuǎn)換引擎1308(在基于橋的系統(tǒng)中,可以是上文所描述的橋1120)訪問這里被稱為“知識庫信息管理器(“RIM”)”1304(下面也被稱為“套節(jié)”)的通用數(shù)據(jù)結(jié)構(gòu)。RIM 1304可以包括上文所描述的任何數(shù)據(jù)源102。應(yīng)該理解,盡管描述了三個轉(zhuǎn)換引擎1308和三個工具1302,但是,在企業(yè)計算系統(tǒng)1300內(nèi)可以使用任意數(shù)量的轉(zhuǎn)換引擎1308和工具1302,包括小于三個的數(shù)量和比三個大得多的數(shù)量。工具1302一般包括,例如,不同類型的數(shù)據(jù)庫管理系統(tǒng),及其他訪問存儲在RIM 1304中的共享的數(shù)據(jù)的應(yīng)用程序??梢栽趩我挥嬎銠C系統(tǒng)上處理和維護(hù)工具1302、RIM 1304,以及轉(zhuǎn)換引擎1308,也可以和許多計算機系統(tǒng)上處理和維護(hù)它們,這些計算機系統(tǒng)可以通過網(wǎng)絡(luò)(未顯示)互連起來,網(wǎng)絡(luò)在不同的組件1302、1304、1308之間傳輸數(shù)據(jù)訪問請求、轉(zhuǎn)換的數(shù)據(jù)訪問請求,以及響應(yīng)。
當(dāng)工具1302執(zhí)行時,它們可以生成數(shù)據(jù)訪問請求,以啟動數(shù)據(jù)訪問操作,即,從RIM 1304中檢索數(shù)據(jù)或?qū)?shù)據(jù)存儲在其中。數(shù)據(jù)可以以下面將描述的原子數(shù)據(jù)模型和格式存儲在RIM 1304中。通常,工具1302將查看以各種不同的特征數(shù)據(jù)模型和格式存儲在RIM 1304中的數(shù)據(jù),正如下文所描述的,每一個轉(zhuǎn)換引擎1308在接收到數(shù)據(jù)訪問請求時,將根據(jù)需要在相應(yīng)的工具的特征模型和格式和RIM 1304的原子模型格式之間轉(zhuǎn)換數(shù)據(jù)。例如,在檢索類型的訪問操作(將從RIM 1304中檢索數(shù)據(jù)項目)過程中,轉(zhuǎn)換引擎1308將標(biāo)識RIM 1304中的一個或多個原子數(shù)據(jù)項目(共同包括待響應(yīng)訪問請求而被檢索的數(shù)據(jù)項目),并將允許RIM 1304向其中一個轉(zhuǎn)換引擎1308提供原子數(shù)據(jù)項目。轉(zhuǎn)換引擎1308又將它從RIM 1304接收的原子數(shù)據(jù)項目聚合為工具的特征模型和格式所需要的一個或多個數(shù)據(jù)項目,或數(shù)據(jù)的“視圖”,并將聚合的數(shù)據(jù)項目提供到發(fā)出了訪問請求的工具1302。在數(shù)據(jù)存儲的過程中,RIM 304中的數(shù)據(jù)將被更新轉(zhuǎn)換引擎1308可以接收將以一個工具1302的特征模型和格式存儲的數(shù)據(jù)。轉(zhuǎn)換引擎1308可以將數(shù)據(jù)轉(zhuǎn)換為RIM 1304的原子模型和格式,并將經(jīng)過轉(zhuǎn)換的數(shù)據(jù)提供到RIM 1304進(jìn)行存儲。如果數(shù)據(jù)存儲訪問請求允許數(shù)據(jù)被更新,則RIM 1304可以用從轉(zhuǎn)換引擎1308新提供的數(shù)據(jù)替代當(dāng)前數(shù)據(jù)。另一方面,如果數(shù)據(jù)存儲訪問請求代表新的數(shù)據(jù),則RIM 1308可以將由轉(zhuǎn)換引擎1308提供的原子格式的數(shù)據(jù)添加到RIM 1308中的當(dāng)前數(shù)據(jù)中。
企業(yè)計算系統(tǒng)1300進(jìn)一步包括數(shù)據(jù)集成系統(tǒng)104,該系統(tǒng)維護(hù)和更新RIM 1304的原子格式,并將轉(zhuǎn)換引擎1308作為新的工具1302添加到系統(tǒng)1300。應(yīng)該理解,由數(shù)據(jù)集成系統(tǒng)104執(zhí)行的某些操作可以自動地執(zhí)行或在人工控制的情況下執(zhí)行。簡單來說,當(dāng)最初建立系統(tǒng)1300時或當(dāng)將一個或多個工具1302添加到其數(shù)據(jù)模型和格式不同于當(dāng)前數(shù)據(jù)模型和格式的系統(tǒng)1300時,數(shù)據(jù)集成系統(tǒng)104可以確定任何區(qū)別,并修改RIM 1304中的數(shù)據(jù)的數(shù)據(jù)模型和格式,以適應(yīng)新工具1302的數(shù)據(jù)模型和格式。在該操作中,數(shù)據(jù)集成系統(tǒng)104可以確定對于當(dāng)前在系統(tǒng)1300中的任何工具1302的數(shù)據(jù)模型和將被添加的新工具1302所共有的原子數(shù)據(jù)模型,并允許RIM 1304的數(shù)據(jù)模型被更新到新的原子數(shù)據(jù)模型。此外,數(shù)據(jù)集成系統(tǒng)104可以基于RIM 1304的更新的原子數(shù)據(jù)模型,更新與當(dāng)前在系統(tǒng)1300中的任何工具1302關(guān)聯(lián)的轉(zhuǎn)換引擎1308,也可以為新工具1302生成轉(zhuǎn)換引擎1308。相應(yīng)地,數(shù)據(jù)集成系統(tǒng)104確保了所有工具1302(包括當(dāng)前在系統(tǒng)中的任何工具1302以及將被添加的工具1302的轉(zhuǎn)換引擎1308)符合RIM 1304的原子數(shù)據(jù)模型和格式。
在繼續(xù)之前,提供說明了可以對于各種工具1302有用的特征數(shù)據(jù)模型和格式以及對于RIM 1304有用的原子數(shù)據(jù)模型和格式的特定示例是有幫助的。應(yīng)該理解,工具1302的特定特征數(shù)據(jù)模型和格式將取決于特定企業(yè)計算系統(tǒng)1300中存在的特定工具1302。此外,還應(yīng)該理解,RIM 1304的特定原子數(shù)據(jù)模型和格式還可以取決于用于工具1302的原子數(shù)據(jù)模型和格式,并可以代表系統(tǒng)1300中的所有工具1304的數(shù)據(jù)模型和格式的最細(xì)微粒度的元素的聚合或聯(lián)合。
圖14A提供了涉及諸如飲水杯之類的杯子或用于盛放液體的其他器皿的設(shè)計的數(shù)據(jù)庫的示例。該數(shù)據(jù)庫可以用于設(shè)計和制造杯子。在此應(yīng)用中,工具1302可以用來向RIM 1304中添加杯子設(shè)計元素,如設(shè)計圖紙、維度、外表面處理、顏色、材料,柄(或沒有),成本數(shù)據(jù)等等。工具1302還可以用于修改存儲在RIM 1304中的杯子設(shè)計元素,并重復(fù)使用RIM 1304中的特定杯子設(shè)計元素并將它們與許多不同的杯子設(shè)計關(guān)聯(lián)。RIM 1304和轉(zhuǎn)換引擎1308可以提供一個機制,通過該機制,許多不同的工具1302可以共享存儲在RIM1304中的元素,無需約定元素的通用架構(gòu)或模型和格式配置。
在此示例中,RIM 1304可以以實體-關(guān)系格式存儲數(shù)據(jù)項目,每一個實體都是數(shù)據(jù)項目和反映了數(shù)據(jù)項目之間的關(guān)系的關(guān)系,如下面所說明的。實體是對象的形式,對象又可以是面向?qū)ο蟮沫h(huán)境中的類和子類的成員或?qū)嵗?。?yīng)該理解,其他模型和格式也可以用于RIM1304。
圖14A描述了杯子設(shè)計數(shù)據(jù)庫的說明性元數(shù)據(jù)結(jié)構(gòu)。類結(jié)構(gòu)可以包括主類1402,從主類1402下垂的容器和把手的兩個子類1404,兩側(cè)和基座的兩個較低的級別子類1408,這兩者都從容器子類1404下垂。類1402中的每一個數(shù)據(jù)項目(被稱為實體-關(guān)系格式的“實體”),可以代表清單中的特定杯子或特定類型的杯子,具有定義了杯子的各種特征的關(guān)聯(lián)的屬性,每一個屬性都由特定屬性標(biāo)識符和屬性的數(shù)據(jù)值來標(biāo)識。
把手和容器子類1404中的每一個數(shù)據(jù)項目(也是實體-關(guān)系格式的實體),可以代表清單中的特定杯子或杯子類型的容器和把手特征。具體來說,容器子類1404中的每一個數(shù)據(jù)項目都可以代表由杯子類1402中的數(shù)據(jù)項目代表的杯子的容器特征,如顏色,側(cè)壁特征,基座特征等等。此外,把手子類1404中的每一個數(shù)據(jù)項目可以代表杯子的由杯子類1402中的數(shù)據(jù)項目代表的把手特征,如彎曲、紋理、顏色、位置等等。此外,還應(yīng)該理解,在把手子類1404和容器子類1404中的數(shù)據(jù)項目之間可以有一個或多個關(guān)系,用于鏈接子類1404之間的數(shù)據(jù)項目。
例如,可以有表示容器是否具有把手的關(guān)系。此外,或相反,可以有表示容器具有多少把手的關(guān)系。此外,還可以有說明把手在容器上的位置的位置關(guān)系。數(shù)量和位置關(guān)系可以被視為第一關(guān)系(容器具有把手)的屬性,被視為單獨的關(guān)系。兩個較低級別的子類1408可以與容器子類1404關(guān)聯(lián),可以代表容器的各種元素。在圖14A中的所描述的例圖中,子類1408可以包括側(cè)壁類型子類1408和基座類型子類1408,每一個子類都說明了杯子類1402的元素。應(yīng)該理解,杯子和杯子的屬性,如容器和把手,可以使用任何所需要的詳細(xì)級別以面向?qū)ο蟮姆绞竭M(jìn)行定義。
雖然在圖14A沒有明確地描述,但是,應(yīng)該理解,一個或多個轉(zhuǎn)換引擎1308可以協(xié)調(diào)工具1302(需要一個數(shù)據(jù)視圖),和可以以不同的格式存儲數(shù)據(jù)的RIM 1304之間的通信。一般而言,圖14A中的所描述的每一個工具1302都可以具有有點不同的或完全不同的特征數(shù)據(jù)模型和格式,來查看存儲在RIM 1304中的杯子數(shù)據(jù)。即,在數(shù)據(jù)項目是杯子的情況下,杯子的特征可以作為與數(shù)據(jù)項目關(guān)聯(lián)的杯子設(shè)計的屬性和屬性值,存儲在RIM 1304中。
在檢索訪問請求中,工具1302可以給它們的關(guān)聯(lián)的轉(zhuǎn)換引擎1308提供待檢索的杯子類1402中的杯子數(shù)據(jù)項目的標(biāo)識,并作為響應(yīng),將希望接收至少某些數(shù)據(jù)項目的屬性數(shù)據(jù)(可以在請求中標(biāo)識)。類似地,響應(yīng)存儲類型的訪問請求,這樣的工具將給它們的關(guān)聯(lián)的轉(zhuǎn)換引擎1308提供待更新或創(chuàng)建的杯子數(shù)據(jù)項目的標(biāo)識以及待更新的或在創(chuàng)建新的數(shù)據(jù)項目時使用的關(guān)聯(lián)的屬性信息。
其他工具1302可以具有這樣的特征數(shù)據(jù)模型和格式將杯子單獨地視為子類1404中的容器和把手實體,而不是具有容器和把手的屬性的主要杯子類1402。在該視圖中,可以有兩個數(shù)據(jù)項目,即,與每一個杯子關(guān)聯(lián)的“容器”和“把手”,每一個都具有描述了相應(yīng)的容器和把手的屬性。在該情況下,每一個數(shù)據(jù)項目都可以是獨立地可檢索和可更新的,可以為兩個類中的每一個類,單獨地創(chuàng)建新的數(shù)據(jù)項目。對于這樣的視圖,在檢索類型的訪問請求中,工具1302將給它們的關(guān)聯(lián)的轉(zhuǎn)換引擎1308提供待檢索的容器或把手的標(biāo)識,并作為響應(yīng),希望接收數(shù)據(jù)項目的屬性數(shù)據(jù)。類似地,響應(yīng)存儲類型的訪問請求,這樣的工具1302將給它們的關(guān)聯(lián)的轉(zhuǎn)換引擎1308提供待更新或創(chuàng)建的“容器”或“把手”數(shù)據(jù)項目的標(biāo)識以及關(guān)聯(lián)的屬性數(shù)據(jù)。相應(yīng)地,這些工具1302單獨地查看容器和把手?jǐn)?shù)據(jù),并可以單獨地檢索、更新和存儲容器和把手屬性數(shù)據(jù)。
作為使用RIM 1304中的相同的原子數(shù)據(jù)結(jié)構(gòu)的另一個示例,工具1302可以具有將杯子單獨地視為類1402-1408中的側(cè)壁、基座和把手實體的特征格式。在這樣的視圖中,可以有三個數(shù)據(jù)項目,即,與每一個杯子關(guān)聯(lián)的側(cè)壁、基座,以及把手,每一個都具有描述了杯子的相應(yīng)的側(cè)壁、基座和把手的屬性。在該情況下,可以獨立地創(chuàng)建、檢索或更新每一個數(shù)據(jù)項目。對于這樣的視圖,工具1302可以給它們的關(guān)聯(lián)的轉(zhuǎn)換引擎1308提供其數(shù)據(jù)項目將數(shù)據(jù)項目被操作的側(cè)壁、基座或把手的標(biāo)識,并可以單獨地對于每一個數(shù)據(jù)項目進(jìn)行操作(如創(chuàng)建、檢索、存儲)。
如上所述,RIM 1304可以以“原子”數(shù)據(jù)模型和格式存儲杯子數(shù)據(jù)。即,對于如圖14A所描述的類結(jié)構(gòu),RIM 1304可以將數(shù)據(jù)存儲為對應(yīng)于一致的數(shù)據(jù)結(jié)構(gòu)中的每一個類和子類的數(shù)據(jù)項目,如反映了通用工具1302使用的類結(jié)構(gòu)的最詳細(xì)的格式的數(shù)據(jù)結(jié)構(gòu)。
轉(zhuǎn)換引擎1308可以基于RIM 1304中的原子數(shù)據(jù)結(jié)構(gòu)和由工具1302使用的數(shù)據(jù)的視圖之間的關(guān)系,在由每一個工具1302維護(hù)的視圖和由RIM 1304維護(hù)的原子數(shù)據(jù)結(jié)構(gòu)之間進(jìn)行轉(zhuǎn)換。當(dāng)在工具1302視圖和RIM 1304數(shù)據(jù)結(jié)構(gòu)之間進(jìn)行轉(zhuǎn)換時,轉(zhuǎn)換引擎1308可以執(zhí)行許多功能。如組合或分離類或子類,轉(zhuǎn)換屬性名稱或標(biāo)識符,生成或刪除屬性值等等。在許多上下文中可能產(chǎn)生所需的轉(zhuǎn)換,如創(chuàng)建數(shù)據(jù)項目、檢索數(shù)據(jù)項目、刪除數(shù)據(jù)項目或修改數(shù)據(jù)項目。當(dāng)向數(shù)據(jù)集成系統(tǒng)104中添加新的工具1302時,系統(tǒng)104可以更新RIM 1304中的數(shù)據(jù)結(jié)構(gòu),以及新工具1302可能需要的轉(zhuǎn)換引擎1308。在RIM 1304內(nèi)使用的基本數(shù)據(jù)結(jié)構(gòu)已經(jīng)更改以接納新工具1302的情況下,或在由于其他理由數(shù)據(jù)結(jié)構(gòu)已經(jīng)被重新組織的情況下,現(xiàn)有的轉(zhuǎn)換引擎1308也可能需要更新。
一般而言,隨著數(shù)據(jù)集成系統(tǒng)104適應(yīng)新需求,或有關(guān)現(xiàn)有的需求的新考慮,系統(tǒng)104可以更新和重新生成RIM 1304的基礎(chǔ)類結(jié)構(gòu),以為數(shù)據(jù)創(chuàng)建新的原子模型。同時,轉(zhuǎn)換引擎1308也可以被修改,以將工具1302重新映射到RIM 1304的新的數(shù)據(jù)結(jié)構(gòu)。此后一功能可能只涉及那些專門涉及新合成的數(shù)據(jù)結(jié)構(gòu)的轉(zhuǎn)換引擎1308,而其它功能可以繼續(xù)使用,無需修改。操作員可以使用數(shù)據(jù)集成系統(tǒng)104,確定和指定數(shù)據(jù)模型和由相應(yīng)的工具1308使用的格式之間,數(shù)據(jù)模型和RIM 1304使用的格式之間的映射關(guān)系,并可以根據(jù)映射關(guān)系維護(hù)規(guī)則數(shù)據(jù)庫,該數(shù)據(jù)庫可以用來生成和更新相應(yīng)的轉(zhuǎn)換引擎1308。
為了確保通過RIM 1304的準(zhǔn)確地傳播更新,數(shù)據(jù)集成系統(tǒng)104可以將每一個工具1302與其關(guān)聯(lián)的數(shù)據(jù)項目將被視為“主物理項目”的類關(guān)聯(lián),并將特定關(guān)系(如果有的話),關(guān)聯(lián)到其他數(shù)據(jù)項目。例如,數(shù)據(jù)集成系統(tǒng)104可以將從語義上最相當(dāng)于工具的數(shù)據(jù)模型的對象的特定類選擇為主物理項目。與主物理項目關(guān)聯(lián)的其他數(shù)據(jù)項目(如果有的話),可以被視為圖形中的輔助物理項目。例如,杯子類可以包含工具1302的對整個杯子設(shè)計起作用的主物理項目。表示為圖14A中的“關(guān)系”的箭頭顯示了主物理項目和輔助物理項目之間的可能的關(guān)系。在執(zhí)行更新操作時,可以從主物理項目遍歷與待更新的數(shù)據(jù)項目關(guān)聯(lián)的有向圖,適當(dāng)?shù)膶傩院椭当桓?。在遍歷有向圖時,可以使用常規(guī)的圖形遍歷算法來確保圖形中的每一個數(shù)據(jù)項目可以作為圖形節(jié)點,被適當(dāng)?shù)卦L問和更新,從而確保數(shù)據(jù)項目被更新。
上述示例一般性地描述了面向?qū)ο蟮木幊汰h(huán)境中的元數(shù)據(jù)管理。然而,應(yīng)該理解,各種軟件范例都可以有用地與企業(yè)計算系統(tǒng)1300中的數(shù)據(jù)一起使用。例如,參考圖14B描述了面向方面的編程系統(tǒng),該系統(tǒng)可以有用地與上文所描述的企業(yè)計算系統(tǒng)1300一起使用。圖中顯示了具有功能1410的工具1302的一個示例。每一個功能1410都可以被編寫為與諸如ID日志記錄1412和元數(shù)據(jù)更新1414之類的多個外部服務(wù)進(jìn)行交互。在典型的面向?qū)ο蟮沫h(huán)境中,外部服務(wù)1412-1418必須常常是“捷徑”,以響應(yīng)調(diào)用它們的功能1410,即,被重新編碼,以對應(yīng)于工具1302的更新的功能1410的調(diào)用。
作為示例,在骨架代碼中,執(zhí)行登錄和驗證的功能1410的面向?qū)ο蟮木幊?“OOP”)看起來像DataValidation(…)//Login user code//Validate access code//Lock data objects against another functions use code
//=====Data Validation Code=====//Log out user code//Unlock data object code//Update metadata with latest access code//More operations the same as above在上面的示例中,功能1410的代碼利用外部服務(wù)1410-1414調(diào)用操作。所謂的捷徑發(fā)生在應(yīng)用程序編寫者必須重新編碼外部服務(wù)1410-1414的任何地方發(fā)生,對于代碼的適當(dāng)?shù)慕换タ赡苁切枰摹_@可能會顯著增大重新設(shè)計的復(fù)雜性,并混合時間和錯誤的可能性。
在面向方面的編程(AOP)中,功能1410的所產(chǎn)生的代碼可能類似于OOP代碼(事實上,AOP可以使用諸如C++之類的OOP平臺來部署)。但在AOP環(huán)境中,應(yīng)用程序編寫者將只對功能1410的功能特定邏輯,并使用一組weaver規(guī)則,來定義邏輯如何訪問外部服務(wù)1412-1418。weaver規(guī)則描述了功能1402應(yīng)該何時以及如何與其他服務(wù)進(jìn)行交互,因此,將工具1302的核心代碼和外部服務(wù)1412-1418編織在一起。當(dāng)編譯功能1410的代碼時,weaver將核心代碼與支持代碼組合起來,以調(diào)用適當(dāng)?shù)莫毩⒌姆?wù),創(chuàng)建最后的功能1410。在骨架代碼中,功能1410典型的AOP代碼可能看起來像DataValidation(…)//Data Validation Logic從功能1410的代碼中刪除捷徑代碼。然后,應(yīng)用程序編寫者可以創(chuàng)建weaver規(guī)則以應(yīng)用于AOP代碼。在骨架代碼中,功能1410的weaver規(guī)則可以包括1)ID log at each operation start2)ID log out at each operation end3)Update metadata after final operation功能1410的所產(chǎn)生的AOP骨架代碼可以看起來像DataValidation(…)
-ID Logger,in//Data Validation Logic-ID Logger.out-Metadata,update由應(yīng)用程序編寫者創(chuàng)建的簡化的代碼可以允許完全集中精力創(chuàng)建工具1302,無需關(guān)心所需的捷徑代碼。類似地,對服務(wù)1412-1418中的一個服務(wù)的更改,可能不需要對工具1302的功能1410的任何更改。如此結(jié)構(gòu)化代碼可以顯著減少在創(chuàng)建或修改工具1302時的編碼錯誤的可能性,并簡化了外部服務(wù)1412-1418的服務(wù)更新。
還應(yīng)該理解,轉(zhuǎn)換引擎1308只是處理企業(yè)計算系統(tǒng)1300中的數(shù)據(jù)和元數(shù)據(jù)的一種可能的方法。轉(zhuǎn)換引擎1308可以包括如上所述的橋1120,或可以使用最小公因子方法,其中流過轉(zhuǎn)換引擎1308的數(shù)據(jù)與由轉(zhuǎn)換引擎1308連接的兩個計算系統(tǒng)兼容。在再一個實施例中,可以在標(biāo)準(zhǔn)化的設(shè)施上執(zhí)行轉(zhuǎn)換,以便符合標(biāo)準(zhǔn)的所有計算平臺都可以通過標(biāo)準(zhǔn)化的設(shè)施傳遞和提取數(shù)據(jù)。有許多其他處理數(shù)據(jù)以及其關(guān)聯(lián)的元數(shù)據(jù)的方法,并可以有用地與這里所描述的企業(yè)計算系統(tǒng)1300一起使用。
利用此背景,現(xiàn)在將比較詳細(xì)地描述由數(shù)據(jù)集成系統(tǒng)104和工具1302以及轉(zhuǎn)換引擎1304執(zhí)行的特定操作。
圖15是與數(shù)據(jù)集成系統(tǒng)104一起使用元數(shù)據(jù)管理系統(tǒng)312或元數(shù)據(jù)設(shè)施的過程1500的流程圖。首先,如在步驟1502中所描述的,可以將新工具1302添加到數(shù)據(jù)集成系統(tǒng)中。如圖所示,數(shù)據(jù)集成系統(tǒng)104可以首先接收關(guān)于RIM 1304(如果有的話)的當(dāng)前原子數(shù)據(jù)模型和格式以及要添加的工具1302的數(shù)據(jù)模型和格式的信息。然后,如步驟1503所示,可以就新工具1302是否為要向數(shù)據(jù)集成系統(tǒng)104添加的第一個工具1302作出判斷。如果新工具1302是第一個工具1302,那么,過程1500可以進(jìn)入步驟1504,在該步驟中,使用工具1302所需的視圖,或者由用戶選擇的任何其他較細(xì)粒度的數(shù)據(jù)模型和格式,選擇原子數(shù)據(jù)模型。
如果新工具1302不是第一個工具1302,那么,過程1500可以進(jìn)入步驟1508,在該步驟中,將確定新工具的數(shù)據(jù)模型和格式(包括新工具的類和屬性結(jié)構(gòu)以及該類和屬性結(jié)構(gòu)之間的關(guān)聯(lián))和RIM的當(dāng)前原子數(shù)據(jù)模型和格式的類和屬性結(jié)構(gòu)之間的對應(yīng)關(guān)系??梢詮钠渲猩蒖IM 1304和轉(zhuǎn)換引擎1308更新規(guī)則數(shù)據(jù)庫。如步驟1510所示,如上所述,數(shù)據(jù)集成系統(tǒng)104可以使用規(guī)則數(shù)據(jù)庫來更新RIM的原子數(shù)據(jù)模型和格式以及現(xiàn)有的轉(zhuǎn)換引擎1308。數(shù)據(jù)集成系統(tǒng)104還可以為將要添加的工具1302建立轉(zhuǎn)換引擎1308。
如在圖16中一般性地描述的,一旦為工具1302生成或更新了轉(zhuǎn)換引擎1308,轉(zhuǎn)換引擎1308就可以與工具1302的各種操作一起使用。
如步驟1602所示,工具1302可以生成訪問請求該訪問請求可以傳輸?shù)疥P(guān)聯(lián)的轉(zhuǎn)換引擎1308。在接收訪問請求之后,轉(zhuǎn)換引擎1308可以確定請求類型,如請求是檢索請求還是存儲請求,如步驟1604所示。如步驟1608所示,如果請求是檢索請求,則轉(zhuǎn)換引擎1308可以使用其工具的數(shù)據(jù)模型和格式與RIM的數(shù)據(jù)模型和格式之間的關(guān)聯(lián),將請求轉(zhuǎn)換為對RIM 1304的一個或多個請求。在從RIM1304接收到敏感的數(shù)據(jù)項目時,轉(zhuǎn)換引擎1308可以將數(shù)據(jù)項目的從RIM 1304接收到的模型和格式轉(zhuǎn)換為工具1302所需的模型和格式,并可以以適當(dāng)格式將數(shù)據(jù)項目提供到工具1302。
如步驟1614所示,如果轉(zhuǎn)換引擎1308判斷請求是存儲請求,包括更新預(yù)先存儲的數(shù)據(jù)項目的請求,則轉(zhuǎn)換引擎1308可以利用RIM 1304從與工具1302關(guān)聯(lián)的主物理項目生成相應(yīng)的類和子類的有向圖。如果操作是更新操作,則有向圖將作為圖形節(jié)點包括相應(yīng)的類和子類中的現(xiàn)有的數(shù)據(jù)項目。如果操作是存儲新的數(shù)據(jù),則有向圖將作為圖形節(jié)點包括空的數(shù)據(jù)項目,它們可以用來存儲請求中包括的新的數(shù)據(jù)。在已經(jīng)建立有向圖之后,轉(zhuǎn)換引擎1308和RIM 1304將遍歷圖形,建立或更新請求中所需要的數(shù)據(jù)項目的內(nèi)容,如步驟1618所示。在圖形遍歷操作完成之后,轉(zhuǎn)換引擎1308可以通知工具1302,存儲操作已經(jīng)完成,如步驟1620所示。
如上所述的數(shù)據(jù)集成系統(tǒng)104可以提供顯著的優(yōu)點。例如,系統(tǒng)104可以保證由企業(yè)計算系統(tǒng)1300中的許多工具1302有效率地共享和更新信息,無需將工具1302約束到特定數(shù)據(jù)模型,并無需在不同的工具1302之間交換信息的信息交換程序。數(shù)據(jù)集成系統(tǒng)104可以提供RIM 1304,該RIM 1304以原子數(shù)據(jù)模型和格式維護(hù)數(shù)據(jù),該格式可以用于系統(tǒng)104中的任何工具1302,當(dāng)向系統(tǒng)104添加新工具1302時可以以方便的方式輕松地更新和發(fā)展格式。此外,通過明確地將每一個工具1302與主物理項目類關(guān)聯(lián),可以在RIM1304中的數(shù)據(jù)項目之間建立有向圖。結(jié)果,可以使用常規(guī)有向圖遍歷過程,有效地實現(xiàn)RIM 1304中的信息的更新。
圖17是顯示了數(shù)據(jù)集成進(jìn)程的多個進(jìn)程的并行執(zhí)行的并行執(zhí)行設(shè)施1700的示意圖。在實施例中,過程1700可能涉及進(jìn)程啟動設(shè)施1702。進(jìn)程啟動設(shè)施1702可以需要運行的作業(yè)的范圍,并判斷第一和第二進(jìn)程可以同時運行(例如,因為它們不相互依賴)。一旦作出了判斷,兩個處理設(shè)施1704和1708可以分別運行第一進(jìn)程和第二進(jìn)程。在執(zhí)行這兩個作業(yè)之后,在另一個處理設(shè)施1712上可以執(zhí)行第三進(jìn)程。一旦完成了第三進(jìn)程,對應(yīng)的處理設(shè)施1712可以向轉(zhuǎn)換設(shè)施1714傳遞信息。在實施例中,轉(zhuǎn)換設(shè)施1714可以不開始轉(zhuǎn)換進(jìn)程,直到它從一個或多個其他并行進(jìn)程(如第一和第二處理設(shè)施1704,1708)接收到了信息1718。一旦呈現(xiàn)了所有的信息,轉(zhuǎn)換設(shè)施1714就可以執(zhí)行轉(zhuǎn)換了。此并行進(jìn)程流通過同時運行多個進(jìn)程(例如,不彼此依賴的進(jìn)程),然后將兩個或更多并行執(zhí)行的信息提供到公用設(shè)施(例如,在公用設(shè)施依賴于兩個并行設(shè)施的結(jié)果的情況下),最小化了運行時間。在此實施例中,為便于說明,所描述的多個處理設(shè)施是分離的設(shè)施。然而,應(yīng)該理解,這些設(shè)施中的兩個或更多可以是相同的物理設(shè)施。還應(yīng)該理解,兩個或更多處理設(shè)施可以是不同的物理設(shè)施,并可以駐留在各種物理位置(例如,設(shè)施1704可以駐留在一個物理位置,而設(shè)施1708可以駐留在另一個物理位置)。
圖18是顯示了數(shù)據(jù)集成進(jìn)程的多個進(jìn)程的并行執(zhí)行的步驟的流程圖。在實施例中,并行進(jìn)程流可以涉及步驟1802,在該步驟中,確定作業(yè)序列。一旦確定了作業(yè)序列,就可以將作業(yè)發(fā)送給兩個或更多處理設(shè)施,如步驟1804所示。在步驟1808中,第一處理設(shè)施可以接收和執(zhí)行某些例程和程序,并將處理過的信息傳遞給第三處理設(shè)施。在步驟1810中,第二處理設(shè)施可以接收和執(zhí)行某些例程和程序,一旦完成,就將處理過的信息傳遞給第三處理設(shè)施。在運行兩個信息來源上的其自己的例程之前,第三處理設(shè)施可以等待從第一處理設(shè)施接收處理過的信息。再強調(diào)一遍,應(yīng)該理解,處理設(shè)施可以是相同的設(shè)施,或駐留在相同的位置,處理設(shè)施也可以是不同的,和/或駐留在不同的位置。
一般而言,使用并行處理的可擴(kuò)展的體系結(jié)構(gòu)可以包括SMP、群集,MPP平臺,以及網(wǎng)格計算解決方案。可以部署這些解決方案,不需要修改基礎(chǔ)數(shù)據(jù)集成進(jìn)程。可以與這里所描述的系統(tǒng)一起使用的當(dāng)前市場上可買到的并行數(shù)據(jù)庫包括IBM DB2 UDB、Oracle,以及Teradata數(shù)據(jù)庫。涉及并行性的概念是管道化的概念,其中,直接通過由作業(yè)的數(shù)據(jù)流進(jìn)行定義的一系列處理功能來移動記錄。管道化提供很多處理優(yōu)點,如去除了臨時數(shù)據(jù)存儲的要求,并去除了處理步驟之間的輸入/輸出管理。管道化可以在數(shù)據(jù)集成系統(tǒng)內(nèi)使用,以改善處理的效率。
圖19是顯示了數(shù)據(jù)集成作業(yè)1900的示意圖,包括來自多個數(shù)據(jù)源的輸入以及到多個數(shù)據(jù)目標(biāo)的輸出。希望從多個數(shù)據(jù)源1902A、1902B和1902C(它們可以是上文所描述的任何數(shù)據(jù)源102)收集數(shù)據(jù),并在商業(yè)企業(yè)中使用數(shù)據(jù)的組合。在實施例中,數(shù)據(jù)集成系統(tǒng)104可以用來收集、凈化、轉(zhuǎn)換或以別的方式操縱來自多個數(shù)據(jù)源1902A、1902B和1902C的數(shù)據(jù),并將數(shù)據(jù)存儲在通用數(shù)據(jù)倉庫或數(shù)據(jù)庫1908中,該數(shù)據(jù)庫1908可以是上文所描述的數(shù)據(jù)庫112中的任何一種,以便可以從各種工具、目標(biāo)或其他計算系統(tǒng)訪問它。這可以包括上文所描述的數(shù)據(jù)集成進(jìn)程500。數(shù)據(jù)集成系統(tǒng)104可以將收集的數(shù)據(jù)存儲在存儲設(shè)施1908中,以便可以從各種工具1910A和1910B(可以是上文所描述的工具1302)直接訪問它,或者,工具可以通過數(shù)據(jù)轉(zhuǎn)換器1904A和1904B(可以是上文所描述的轉(zhuǎn)換引擎1308)訪問數(shù)據(jù),無論是這里所描述的自動地、手動或半自動地生成的。所說明的數(shù)據(jù)轉(zhuǎn)換器1904A、1904B是分離的設(shè)施;然而,應(yīng)該理解,它們可以集成到數(shù)據(jù)集成系統(tǒng)104中、工具1302中,或以別的方式放置,以實現(xiàn)所需要的任務(wù)。
圖20是顯示了另一個數(shù)據(jù)集成作業(yè)2000的示意圖,包括來自多個數(shù)據(jù)源的輸入以及到多個數(shù)據(jù)目標(biāo)的輸出。希望從多個數(shù)據(jù)源1902A、1902B和1902C(它們可以是上文所描述的任何數(shù)據(jù)源102)收集數(shù)據(jù),并在商業(yè)企業(yè)中使用數(shù)據(jù)的組合。在實施例中,數(shù)據(jù)集成系統(tǒng)104可以收集、凈化、轉(zhuǎn)換或以別的方式操縱來自多個數(shù)據(jù)源1902A、1902B和1902C的數(shù)據(jù),并將收集的信息以組合的方式傳遞到多個目標(biāo)1910A和1910B(也可以是上文所描述的數(shù)據(jù)源102中的任何一種)。這可以實時地或以批處理模式實現(xiàn)。不是將所有收集的信息存儲在中心數(shù)據(jù)庫中以供在將來的某個時間點訪問,數(shù)據(jù)集成系統(tǒng)104可以在由目標(biāo)1910A和1910B發(fā)出了對數(shù)據(jù)的請求時或該時間附近,從數(shù)據(jù)源1902A、1902B和1902C收集和處理數(shù)據(jù)。應(yīng)該理解,數(shù)據(jù)集成系統(tǒng)104仍可以在實施例中包括存儲器。在實施例中,當(dāng)處理完成時,存儲器可以用于臨時存儲待向目標(biāo)傳遞的數(shù)據(jù)。
參考圖19和圖20所描述的數(shù)據(jù)集成作業(yè)1900的實施例是一般性的。應(yīng)該理解,這樣的數(shù)據(jù)集成作業(yè)1900可以在很多商業(yè)的、教育的、政府的,及其他環(huán)境中應(yīng)用,并可能涉及許多不同類型的數(shù)據(jù)源102、數(shù)據(jù)集成系統(tǒng)104、數(shù)據(jù)目標(biāo),和/或數(shù)據(jù)庫112。
圖21顯示了其中商業(yè)企業(yè)的數(shù)據(jù)管理員可以設(shè)計數(shù)據(jù)集成作業(yè)1900的圖形用戶界面2102。在實施例中,圖形用戶界面2102可以呈現(xiàn)給用戶,以供其設(shè)置數(shù)據(jù)集成作業(yè)。用戶界面可以包括工具2106的板,包括數(shù)據(jù)庫,轉(zhuǎn)換工具,目標(biāo)、路徑標(biāo)識符,及由用戶使用的其他工具。用戶可以使用拖放操作、下拉菜單、命令行,以及任何其他控件、工具、工具箱或其他用戶界面組件,用圖形方式將來自工具板的的工具變?yōu)楣ぷ骺臻g2104。工作空間2104可以用來規(guī)劃數(shù)據(jù)庫,數(shù)據(jù)流的路徑,轉(zhuǎn)換步驟等等,配置數(shù)據(jù)集成作業(yè),如上文所描述的數(shù)據(jù)集成作業(yè)1900。在實施例中,一旦配置了作業(yè),就可以從此用戶界面或另一個用戶界面運行??梢杂蓱?yīng)用程序或其他編程環(huán)境生成用戶界面2102,或作為用戶使用Web瀏覽器可以訪問的Web頁面來生成。
圖22顯示了數(shù)據(jù)管理員可以用來設(shè)計數(shù)據(jù)集成作業(yè)1900的圖形用戶界面2102的另一個實施例。在實施例中,用戶可以使用圖形用戶界面2102來選擇代表數(shù)據(jù)目標(biāo)/數(shù)據(jù)源的圖標(biāo),并將這些圖標(biāo)與功能或其他關(guān)系相關(guān)聯(lián)。在此環(huán)境中,用戶可以在多個圖標(biāo)之間創(chuàng)建關(guān)聯(lián)或命令結(jié)構(gòu),以創(chuàng)建數(shù)據(jù)集成作業(yè)2202,可以是上文所描述的數(shù)據(jù)集成作業(yè)1900中的任何一個。
用戶界面2102可以提供對平臺100和數(shù)據(jù)集成系統(tǒng)104內(nèi)的很多資源和設(shè)計工具的訪問。例如,用戶界面2102可以類型設(shè)計器數(shù)據(jù)對象模型化。類型設(shè)計器可以用來創(chuàng)建和管理類型樹,類型樹定義了數(shù)據(jù)結(jié)構(gòu)的屬性,定義了數(shù)據(jù)的容器,創(chuàng)建了數(shù)據(jù)驗證規(guī)則等等。類型設(shè)計器可以包括輸入器,用于為以諸如XML、COBOL、Copybooks之類的格式所描述的數(shù)據(jù)自動地生成類型樹(即,數(shù)據(jù)對象定義),以及諸如SAP R/3、BEA、Tuxedo,以及PeopleSoftEnterpriseOne之類的應(yīng)用程序特定的結(jié)構(gòu)。
用戶界面2102可以包括映射設(shè)計器,用于制定轉(zhuǎn)換和業(yè)務(wù)規(guī)則。映射設(shè)計器可以使用利用類型設(shè)計器創(chuàng)建的數(shù)據(jù)對象的定義作為輸入和輸出,并可以用來指定轉(zhuǎn)換和路由數(shù)據(jù)的規(guī)則,以及分析、編譯和測試正在開發(fā)的映射的環(huán)境。
可以提供數(shù)據(jù)庫設(shè)計界面作為模型化組件,以導(dǎo)入有關(guān)查詢、表和存儲在關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)的存儲過程的元數(shù)據(jù)。數(shù)據(jù)庫設(shè)計界面可以標(biāo)識各種對象的諸如更新鍵和數(shù)據(jù)庫觸發(fā)器之類的特征,以符合映射和執(zhí)行要求。集成流設(shè)計器可以用來定義和管理數(shù)據(jù)集成進(jìn)程。集成流設(shè)計器可以比較專門地用于定義映射和映射的系統(tǒng)之間的交互,以驗證工作流的邏輯一致性,準(zhǔn)備要運行的映射的系統(tǒng)??梢蕴峁┟罘?wù)器組件,以便在圖形用戶界面內(nèi)完成命令驅(qū)動的執(zhí)行。這可以用于映射設(shè)計器環(huán)境內(nèi)的映射的測試。資源注冊表可以提供資源別名知識庫,用于使用在執(zhí)行時間解析為企業(yè)內(nèi)的特定資源的別名來提取參數(shù)設(shè)置。
用戶界面2102還可以提供對各種管理工具的訪問。例如,可以提供事件服務(wù)器管理工具,用戶可以從該工具指定部署目錄、配置用戶和用戶訪問權(quán)限、指定監(jiān)聽端口,并為Java遠(yuǎn)程方法調(diào)用(“RMI”)定義屬性。管理控制臺可以為事件服務(wù)器提供管理和監(jiān)視,用戶可以從該控制臺啟動、停止、暫停和恢復(fù)系統(tǒng),并查看有關(guān)正在運行的事件服務(wù)器和映射的狀態(tài)的信息。事件服務(wù)器監(jiān)視器可以提供單個映射在運行時的動態(tài)詳細(xì)視圖,并創(chuàng)建特定時間的活動的快照。
圖23代表了用于促進(jìn)商業(yè)企業(yè)的各種數(shù)據(jù)的集成的平臺2300。平臺可以是上文所描述的平臺100,并可以包括集成套件,該套件能夠提供已知的企業(yè)應(yīng)用程序集成(EAI)服務(wù),如從各種源提取數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換為所需要的格式,將數(shù)據(jù)加載到各種目標(biāo)中,有時被稱為ETL(提取、轉(zhuǎn)換、加載)。平臺2300可以包括實時集成(“RTI”)服務(wù)2704,用于作為服務(wù)暴露常規(guī)數(shù)據(jù)集成平臺2702,該服務(wù)可以被企業(yè)的計算機應(yīng)用程序訪問,包括通過諸如EnterpriseJava Beans(“EJB”)和Java消息服務(wù)(“IMS”)之類的Web服務(wù)協(xié)議2302進(jìn)行訪問。盡管產(chǎn)品套件可以是數(shù)據(jù)集成或企業(yè)應(yīng)用程序集成套件,如下面的示例中所詳細(xì)描述的,但是,應(yīng)該理解,可以使用這里所描述的原理,作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù),來部署和管理相互關(guān)聯(lián)的程序或功能的任何套件。如此,產(chǎn)品套件可以包括辦公室自動化效率套件,包括諸如自動化的文件匯編、字處理、電子表格等等之類的工具。產(chǎn)品套件也可以是計算機自動化設(shè)計套件,分離的軟件程序包或功能作為各種服務(wù),例如,設(shè)計、可視呈現(xiàn)、成本核算、模擬、等等各種服務(wù)來部署。作為另一個示例,諸如記帳、帳目、稅務(wù),之類的財務(wù)產(chǎn)品,以及電子稅務(wù)產(chǎn)品的集成套件可以作為產(chǎn)品級別的服務(wù),或作為每一個產(chǎn)品特定的服務(wù)的集合,使用面向服務(wù)的體系結(jié)構(gòu),來進(jìn)行部署。類似地,經(jīng)濟(jì)模型化工具,財務(wù)分析工具(例如,用于單個公司的財務(wù)、股票交易模式,市場貿(mào)易模式等等),以及電子交易工具可以作為集成股票交易套件中的服務(wù)來進(jìn)行部署。
圖24顯示了面向服務(wù)的體系結(jié)構(gòu)(“SOA”)2400的示意圖。SOA可以是商業(yè)企業(yè)的企業(yè)計算系統(tǒng)1300的基礎(chǔ)架構(gòu)的一部分。在SOA 2400中,服務(wù)變成了應(yīng)用程序開發(fā)和部署的構(gòu)件,從而可以進(jìn)行快速的應(yīng)用程序開發(fā),并避免冗余的代碼。每一個服務(wù)都實現(xiàn)了一組業(yè)務(wù)邏輯或業(yè)務(wù)規(guī)則,這些規(guī)則可以無視周圍環(huán)境,如服務(wù)的數(shù)據(jù)輸入的來源或服務(wù)的輸出數(shù)據(jù)的目標(biāo)。結(jié)果,服務(wù)可以與各種應(yīng)用程序一起重復(fù)使用,假設(shè)在服務(wù)和應(yīng)用程序之間建立了適當(dāng)?shù)妮斎牒洼敵觥C嫦蚍?wù)的體系結(jié)構(gòu)2400允許服務(wù)適應(yīng)環(huán)境變化,即使周圍計算機環(huán)境發(fā)生改變,體系結(jié)構(gòu)也可以正常運轉(zhuǎn)。結(jié)果,服務(wù)可能不需要隨著基礎(chǔ)架構(gòu)的變化而重新編碼,從而節(jié)省了時間和精力。圖24的實施例是Web服務(wù)的SOA 2400的實施例。如這里所使用的,諸如“面向服務(wù)的體系結(jié)構(gòu)”、“SOA”等等變體可互換地使用,一般是指參考圖24描述的SOA 2400,如在整個此說明書中所描述的。
在圖24的SOA 2400中,有三個實體,服務(wù)提供程序2402、服務(wù)請求者2404和服務(wù)注冊表2408。注冊表2408可以是公共的,也可以是私有的。服務(wù)請求者2404可以搜索注冊表2408,以查找適當(dāng)?shù)姆?wù)。一旦發(fā)現(xiàn)了適當(dāng)?shù)姆?wù),服務(wù)請求者2404可以接收調(diào)用服務(wù)所需的代碼,如Web服務(wù)描述語言(“WSDL”)代碼。WSDL是傳統(tǒng)上用于描述Web服務(wù)的編程語言。然后,服務(wù)請求者2404可以與服務(wù)提供程序2402連接,如通過對于Web服務(wù)消息的適當(dāng)格式(如簡單對象訪問協(xié)議(“SOAP”)格式)的消息,以調(diào)用服務(wù)。SOAP協(xié)議是用于在Web服務(wù)中傳輸數(shù)據(jù)的優(yōu)選協(xié)議。SOAP協(xié)議定義了Web服務(wù)客戶端和Web服務(wù)服務(wù)器之間的消息的交換格式。SOAP協(xié)議使用可擴(kuò)展標(biāo)記語言(“XML”)架構(gòu),XML是在Web服務(wù)中通常使用的一般性語言規(guī)范,用于標(biāo)記數(shù)據(jù),雖然也可以使用其他標(biāo)記語言。
圖25顯示了SOAP消息的示例。SOAP消息2502可以包括傳輸封套2504(如HTTP或JMS封套等等)、SOAP封套2508、SOAP標(biāo)頭2510和SOAP正文2512。下面是SOAP格式的請求消息和SOAP格式的響應(yīng)消息的示例Web服務(wù)可以是模塊化的,自我描述的,自給自足的應(yīng)用程序,可以跨Web地發(fā)布、定位和調(diào)用。例如,在圖24的Web服務(wù)的實施例中,服務(wù)提供程序2402向注冊表2408發(fā)布Web服務(wù),注冊表2408可以是通用描述、發(fā)現(xiàn)和集成(UDDI)注冊表,注冊表提供有什么Web服務(wù)可用的列表,或私有的注冊表或其他公共的注冊表。Web服務(wù)可以以WSDL格式發(fā)布。要發(fā)現(xiàn)服務(wù),服務(wù)請求者2404可以瀏覽服務(wù)注冊表,并檢索WSDL文檔。注冊表2408可以包括瀏覽設(shè)施和搜索設(shè)施。注冊表2408可以存儲WSDL文檔和它們的元數(shù)據(jù)。
要調(diào)用Web服務(wù),服務(wù)請求者2404向服務(wù)提供程序2402發(fā)送WSDL描述的SOAP消息2502,接收響應(yīng)的SOAP消息2502,并對以WSDL描述的響應(yīng)消息進(jìn)行解碼。取決于Web服務(wù)的復(fù)雜性,它們可以提供各種功能,從諸如請求數(shù)據(jù)之類的簡單操作,到復(fù)雜化的業(yè)務(wù)進(jìn)程操作。一旦部署了Web服務(wù),其他應(yīng)用程序(包括其他Web服務(wù))就可以發(fā)現(xiàn)和調(diào)用Web服務(wù)了。由Web服務(wù)互操作性組織(WS-I)定義了其他Web服務(wù)標(biāo)準(zhǔn),該組織是旨在提升跨平臺的Web服務(wù)的互操作性的開放性工業(yè)組織。示例包括WS-Coordination、WS-Security、WS-Transaction、WSIF、BPEL等等,這里所描述的Web服務(wù)應(yīng)該被理解為包含任何這樣的標(biāo)準(zhǔn)預(yù)期的服務(wù)。
請參看圖26,WSDL定義2600是定義了Web服務(wù)的接口、位置和編碼方案的XML架構(gòu)。定義2600定義了服務(wù)2602,標(biāo)識可以用來訪問服務(wù)2602的端口2604(如Internet地址),并定義了用于調(diào)用Web服務(wù)并與它進(jìn)行通信的綁定2608(如EnterpriseJava Bean或SOAP綁定)。WSDL定義2600可以包括抽象定義2610,該抽象定義2610可以定義端口類型2612,Web服務(wù)的傳入的消息部分2616和傳出的消息部分2618,以及由服務(wù)所執(zhí)行的操作2614。
各種提供程序提供了可以調(diào)用Web服務(wù)的各種Web服務(wù)客戶端。Web服務(wù)客戶端包括.Net應(yīng)用程序、Java應(yīng)用程序(例如,JAX-RPC)、Microsoft SOAP工具包中的應(yīng)用程序(Microsoft Office、Microsoft SQL Server、及其他)來自SeeBeyond、WebMethods、Tibco和BizTalk的應(yīng)用程序,以及Ascential的DataStage(WS PACK)。應(yīng)該理解,在這里所描述的企業(yè)數(shù)據(jù)集成方法和系統(tǒng)中也可以使用其他Web服務(wù)客戶端。類似地,有各種Web服務(wù)提供程序,包括.Net應(yīng)用程序、Java應(yīng)用程序、來自Siebel和SAP的應(yīng)用程序,12應(yīng)用程序,DB2和SQL Server應(yīng)用程序,企業(yè)應(yīng)用程序集成(EAI)應(yīng)用程序、業(yè)務(wù)進(jìn)程管理(BPM)應(yīng)用程序,以及Ascential Software的實時集成(RTI)應(yīng)用程序,所有的這些都可以與這里所描述的Web服務(wù)客戶端一起使用。
這里所描述的RTI服務(wù)2704可以使用開放式標(biāo)準(zhǔn)規(guī)范,如WSDL,來描述數(shù)據(jù)集成進(jìn)程服務(wù)接口。當(dāng)數(shù)據(jù)集成服務(wù)定義是完整的時,它可以使用WSDL Web服務(wù)定義語言(不一定是Web服務(wù)所特定的語言),后者是抽象定義,給出了服務(wù)的名稱、服務(wù)的操作、每一個操作的簽名,以及服務(wù)的綁定,如上文所一般性地描述的。在WSDL定義2600(XML文檔)內(nèi),有各種標(biāo)記,具有參考圖26所描述的結(jié)構(gòu)。對于每一個服務(wù),可以有多個端口,每一個端口都具有綁定。抽象定義是正被討論的數(shù)據(jù)集成服務(wù)的RTI服務(wù)定義。端口類型是一組操作的入口點,每一個操作都具有一組輸入變量和輸出變量。
WSDL是為Web服務(wù)定義的,但只定義了一個綁定(HTTP上的SOAP)。WSDL通過工業(yè)團(tuán)體被擴(kuò)展,以包括各種其他綁定(如EJB、JMS,等等)的WSDL擴(kuò)展。RTI服務(wù)2704可以使用WSDL擴(kuò)展來為各種其他協(xié)議創(chuàng)建綁定。如此,單一的RTI數(shù)據(jù)集成服務(wù)可以同時支持對單個服務(wù)的多個綁定。結(jié)果,企業(yè)可以獲得數(shù)據(jù)集成進(jìn)程500,作為一組抽象進(jìn)程暴露它(對于協(xié)議完全是不可知的),然后添加綁定。一個服務(wù)可以支持任意數(shù)量的綁定。
用戶可以獲得已有數(shù)據(jù)集成作業(yè)1900,添加適當(dāng)?shù)腞TI輸入和輸出階段,并作為服務(wù)暴露該作業(yè),該服務(wù)可以被使用不同的原始協(xié)議的各種應(yīng)用程序。
請參看圖27,表示了數(shù)據(jù)集成平臺2700的高級別的體系結(jié)構(gòu),可以跨上文所描述的平臺100部署,并適用于實時數(shù)據(jù)集成。常規(guī)數(shù)據(jù)集成設(shè)施2702(可以是上文所描述的數(shù)據(jù)集成系統(tǒng)104),可以提供用于處理數(shù)據(jù)集成作業(yè)的方法和系統(tǒng)。數(shù)據(jù)集成設(shè)施2702可以通過實時集成設(shè)施或RTI服務(wù)2704(包括面向服務(wù)的體系結(jié)構(gòu)中的服務(wù))連接到一個或多個應(yīng)用程序。RTI服務(wù)2704可以調(diào)用企業(yè)的各種應(yīng)用程序2708或被它們調(diào)用。數(shù)據(jù)集成設(shè)施2702可以提供匹配、標(biāo)準(zhǔn)化、轉(zhuǎn)換、凈化、發(fā)現(xiàn)、元數(shù)據(jù)、并行執(zhí)行,以及執(zhí)行數(shù)據(jù)集成作業(yè)所需的類似的設(shè)施。在實施例中,RTI服務(wù)2704作為可以實時被企業(yè)的應(yīng)用程序2708調(diào)用的服務(wù)來暴露數(shù)據(jù)集成設(shè)施2702的數(shù)據(jù)集成作業(yè)。RTI服務(wù)2704暴露數(shù)據(jù)集成設(shè)施2702,以便數(shù)據(jù)集成作業(yè)可以被同步地或異步地用作服務(wù)。可以從企業(yè)應(yīng)用程序集成平臺、應(yīng)用程序服務(wù)器平臺,以及Java和.Net應(yīng)用程序調(diào)用作業(yè)。RTI服務(wù)2704允許同一個邏輯被跨批和實時服務(wù)地重復(fù)使用和應(yīng)用。可以使用各種綁定2710,如Enterprise Java Bean(EJB)、Java消息服務(wù)(JMS)或Web服務(wù)綁定,來調(diào)用RTI服務(wù)2704。
請參看圖28,在實施例中,RTI服務(wù)2704在RTI服務(wù)器2802上運行,RTI服務(wù)器2802作為實時數(shù)據(jù)集成進(jìn)程的各種元素的連接設(shè)施。例如,RTI服務(wù)器2802可以連接多個企業(yè)應(yīng)用程序集成服務(wù)器,如位于麻薩諸塞州的Westborough的Ascential Software的DataStage服務(wù)器,以便RTI服務(wù)器2802可以在其他服務(wù)器之間提供匯聚和負(fù)載平衡。RTI服務(wù)器2802可以包括在J2EE應(yīng)用程序服務(wù)器上運行的單獨的J2EE應(yīng)用程序。在一個數(shù)據(jù)集成進(jìn)程中可以包括一個以上的RTI服務(wù)器2802。
J2EE提供基于組件的設(shè)計、開發(fā)、匯編和部署企業(yè)應(yīng)用程序的方法。其中,J2EE提供了多層的,分布式應(yīng)用程序模型,重復(fù)使用組件的能力,統(tǒng)一的安全模型,以及事務(wù)控制機制。J2EE應(yīng)用程序由組件構(gòu)成。J2EE組件是自給自足的功能軟件單元,該單元與其相關(guān)的類和文件匯編為J2EE應(yīng)用程序,并與其他組件進(jìn)行通信。
J2EE規(guī)范定義了各種J2EE組件,包括應(yīng)用程序客戶端以及小程序(它們是在客戶端上運行的組件);Java Servlet和JavaServer頁面(JSP)技術(shù)組件(它們是在服務(wù)器上運行的Web組件);以及Enterprise Java Bean(EJB)組件(enterprise beans)(它們是在服務(wù)器上運行的企業(yè)組件)。J2EE組件是以Java編寫的,并以與任何程序同樣的方式編譯。J2EE組件和“標(biāo)準(zhǔn)”Java類之間的區(qū)別是,J2EE組件被匯編為J2EE應(yīng)用程序,被驗證是否很好地形成并符合J2EE規(guī)范,并部署到生產(chǎn)場合,在此,它們由J2EE服務(wù)器運行并進(jìn)行管理。有三種EJB會話bean、實體bean,以及消息驅(qū)動的bean。會話bean代表與客戶端的瞬時交談。當(dāng)客戶端完成執(zhí)行時,會話bean以及其數(shù)據(jù)走開。相比之下,實體bean代表存儲在數(shù)據(jù)庫表的一行中的永久性數(shù)據(jù)。如果客戶端結(jié)束或如果服務(wù)器關(guān)閉,則基礎(chǔ)的服務(wù)確保實體bean數(shù)據(jù)被保存。消息驅(qū)動的bean組合了會話bean和Java消息服務(wù)(“JMS”)消息監(jiān)聽器的特點,允許企業(yè)組件異步地接收J(rèn)MS消息。
J2EE規(guī)范也定義了容器,容器是一個組件和支持該組件的低級別的平臺特定的功能之間的接口。在可以執(zhí)行Web、企業(yè)bean或應(yīng)用程序客戶端組件之前,它必須被匯編為J2EE應(yīng)用程序,并部署到其容器中。匯編過程涉及為J2EE應(yīng)用程序中的每一個組件以及J2EE應(yīng)用程序其本身指定容器設(shè)置。容器設(shè)置自定義了由J2EE服務(wù)器提供的基礎(chǔ)支持,包括諸如安全、事務(wù)管理、Java命名和目錄接口(JNDI)查詢,以及遠(yuǎn)程連接之類的服務(wù)。
圖29描述了典型的J2EE服務(wù)器2908和相關(guān)的應(yīng)用程序的體系結(jié)構(gòu)2900。J2EE服務(wù)器2908包括J2EE體系結(jié)構(gòu)的運行時方面。J2EE服務(wù)器2908提供了EJB和Web容器。EJB容器2902管理J2EE應(yīng)用程序的企業(yè)bean 2904的執(zhí)行。企業(yè)bean 2904和它們的容器2902在J2EE服務(wù)器2908上運行。由Web容器2910管理JSP頁面2912和J2EE應(yīng)用程序的servlet組件2914的執(zhí)行。Web組件和它們的容器2910也在J2EE服務(wù)器2908上運行。同時,由應(yīng)用程序客戶端容器2918管理應(yīng)用程序客戶端組件的執(zhí)行。應(yīng)用程序客戶端2920和它們的容器2918在客戶端上運行。由applet容器管理applet的執(zhí)行。applet容器可以包括Web瀏覽器和一起在客戶端上運行的Java插件。
J2EE組件通常分開封裝,并捆綁到J2EE應(yīng)用程序中進(jìn)行部署。每一個組件,其諸如GIF和HTML文件之類的相關(guān)文件或服務(wù)器端的實用程序類,以及部署描述符被匯編到模塊中,并添加到J2EE應(yīng)用程序。J2EE應(yīng)用程序以及其每一個模塊都具有其自己的部署描述符。部署描述符是具有.xml擴(kuò)展名的XML文檔,描述了組件的部署設(shè)置。以企業(yè)存檔(EAR)文件提供具有所有其模塊的J2EE應(yīng)用程序。EAR文件是具有.ear擴(kuò)展名的標(biāo)準(zhǔn)Java存檔(JAR)文件。每一個EJB JAR文件都包含部署描述符、企業(yè)bean文件,以及相關(guān)的文件。每一個應(yīng)用程序客戶端JAR文件都包含部署描述符、應(yīng)用程序客戶端的類文件,以及相關(guān)的文件。每一個文件都都包含部署描述符、Web組件文件,以及相關(guān)的資源。
RTI服務(wù)器2802可以充當(dāng)實時企業(yè)應(yīng)用程序集成環(huán)境的托管服務(wù)。RTI服務(wù)器2802可以是能夠執(zhí)行這里所描述的功能的J2EE服務(wù)器。RTI服務(wù)器2802可以為企業(yè)應(yīng)用程序集成服務(wù)提供安全的、可擴(kuò)展的平臺。RTI服務(wù)器2802可以提供各種常規(guī)服務(wù)器功能,包括會話管理、日志記錄(如Apache Log4J日志記錄),配置和監(jiān)視(如J2EE JMX),安全(如J2EE JAAS,通過J2EE管理員的SSL加密)。RTI服務(wù)器2802可以充當(dāng)本地或私有的Web服務(wù)注冊表,它可以用來向諸如用于許多常規(guī)Web服務(wù)的UDDI注冊表公共的Web服務(wù)注冊表發(fā)布Web服務(wù)。RTI服務(wù)器2802可以在其他服務(wù)器(例如那些用于運行數(shù)據(jù)集成作業(yè)的服務(wù)器)之間執(zhí)行資源匯聚和負(fù)載平衡功能。RTI服務(wù)器2802也可以充當(dāng)用于建立和管理RTI服務(wù)的管理控制臺。RTI服務(wù)器2802可以與各種環(huán)境一起使用,如JBOSS 3.0、IBM Websphere 5.0、BEA WebLogic 7.0和BEA WebLogic8.1。
一旦建立,RTI服務(wù)器2802可以允許數(shù)據(jù)集成作業(yè)(如由Ascential Software平臺執(zhí)行的DataStage和QualityStage作業(yè))被Web服務(wù)、enterprise Java beans、Java消息服務(wù)消息等等調(diào)用。與RTI服務(wù)器2802一起使用面向服務(wù)的體系結(jié)構(gòu)的方法允許綁定判斷與數(shù)據(jù)集成作業(yè)設(shè)計分離。此外,可以為同一個數(shù)據(jù)集成作業(yè)建立多個綁定。由于數(shù)據(jù)集成作業(yè)對環(huán)境不在乎,并可以與多個綁定一起使用,可以更加容易地跨多個應(yīng)用程序和跨批和實時模式地重復(fù)使用處理邏輯。
圖30顯示了可以用于管理RTI服務(wù)的RTI控制臺3002。RTI控制臺3002可以用于創(chuàng)建和部署RTI服務(wù)。其中,RTI控制臺允許用戶確定什么綁定將用于提供到給定RTI服務(wù)的接口,并確定RTI服務(wù)運行時使用的參數(shù)??梢越oRTI控制臺提供圖形用戶界面,它可以在支持這樣的接口的任何合適的環(huán)境中運行,如基于Microsoft Windows的環(huán)境,或Web瀏覽器接口。下面提供了有關(guān)RTI控制臺的使用的進(jìn)一步詳細(xì)信息。RTI控制臺3002可以被設(shè)計師用來創(chuàng)建服務(wù)、創(chuàng)建服務(wù)的操作,將作業(yè)附加到服務(wù)的操作,創(chuàng)建用戶利用各種協(xié)議實現(xiàn)服務(wù)所需要的綁定。
再次請參看圖27,RTI服務(wù)2704可以位于數(shù)據(jù)集成平臺2702和各種應(yīng)用程序2708之間。RTI服務(wù)2704可以允許應(yīng)用程序2708實時地或以批模式,同步地或異步地訪問數(shù)據(jù)集成平臺2702。在數(shù)據(jù)集成平臺2702中建立的數(shù)據(jù)集成規(guī)則可以跨企業(yè)計算系統(tǒng)1300地共享。數(shù)據(jù)集成規(guī)則可以以任何語言編寫,無需了解平臺2702。RTI服務(wù)2704可以利用Web服務(wù)定義來促進(jìn)實時數(shù)據(jù)集成。根據(jù)這里所描述的方法和系統(tǒng),數(shù)據(jù)集成作業(yè)的流可以連接到批處理環(huán)境或?qū)崟r環(huán)境。這里所說明的方法和系統(tǒng)包括容器的概念、在一個進(jìn)程中的定義的入口點和定義的出口點之間包含的一段業(yè)務(wù)邏輯。通過將數(shù)據(jù)集成進(jìn)程配置為容器中的業(yè)務(wù)邏輯,數(shù)據(jù)集成可以在批處理和實時模式下使用。一旦業(yè)務(wù)邏輯位于容器中,就可以簡化批處理和實時模式之間的移動??梢宰鳛閷崟r服務(wù)來訪問數(shù)據(jù)集成作業(yè),也可以以批處理模式來訪問同一個數(shù)據(jù)集成作業(yè),以便處理大批量的文件,如在實時模式下那樣執(zhí)行相同的轉(zhuǎn)換。
請參看圖31,提供了用于實現(xiàn)RTI服務(wù)2704的實施例的體系結(jié)構(gòu)3100的進(jìn)一步詳細(xì)信息。RTI服務(wù)器2802可以包括各種組件,包括用于審核3104、身份驗證3108、授權(quán)3110和日志記錄3112的設(shè)施,如那些由典型的符合J2EE的服務(wù)器提供的設(shè)施。RTI服務(wù)器2802還可以包括可以進(jìn)程匯聚設(shè)施3102,它可以用于匯聚和分配資源,如與在數(shù)據(jù)集成平臺2702上運行的數(shù)據(jù)集成作業(yè)關(guān)聯(lián)的資源。進(jìn)程匯聚設(shè)施3102可以跨正在運行數(shù)據(jù)集成作業(yè)的各個服務(wù)器地提供服務(wù)器和作業(yè)選擇。選擇可以基于平衡多個機器之間的負(fù)載,或基于哪些數(shù)據(jù)集成作業(yè)能夠在哪些機器上運行(或最有效地運行)。RTI服務(wù)器2802還可以包括綁定設(shè)施3114,如SOAP綁定設(shè)施3116,JMS綁定設(shè)施3118,以及EJB綁定設(shè)施3120。綁定設(shè)施3114允許在RTI服務(wù)器2802和各種應(yīng)用程序(如,Web服務(wù)客戶端3122、JMS隊列3124或Java應(yīng)用程序3128)之間存在接口。
仍請參看圖31,RTI控制臺3002可以是RTI服務(wù)器2802的管理控制臺。RTI控制臺3002可以供管理員用來創(chuàng)建和部署RTI服務(wù),配置服務(wù)的運行時參數(shù),以及定義到服務(wù)的綁定或接口。
體系結(jié)構(gòu)3100可以包括一個或多個數(shù)據(jù)集成平臺2702,可以包括服務(wù)器,如由位于麻薩諸塞州的Westborough的AscentialSoftware提供的DataStage服務(wù)器。數(shù)據(jù)集成平臺2702可以包括用于支持與RTI服務(wù)器2802交互的設(shè)施,包括RTI代理3132,這是在數(shù)據(jù)集成平臺2702上運行的進(jìn)程,用于封送往返于RTI服務(wù)器2802的請求。如此,一旦進(jìn)程匯聚設(shè)施3102選擇特定機器作為實時數(shù)據(jù)集成作業(yè)的數(shù)據(jù)集成平臺2702,則它可以將請求轉(zhuǎn)給該數(shù)據(jù)集成平臺2702的RTI代理3132。在數(shù)據(jù)集成平臺2702上,可以有一個或多個數(shù)據(jù)集成作業(yè)3134(如上文所描述的數(shù)據(jù)集成作業(yè)1900)正在運行。數(shù)據(jù)集成作業(yè)3134可以可選地始終處于on狀態(tài),而不是必須在調(diào)用時啟動。例如,數(shù)據(jù)集成作業(yè)3134可以已經(jīng)與數(shù)據(jù)庫、Web服務(wù)等等建立了連接,等待數(shù)據(jù)來臨,并調(diào)用數(shù)據(jù)集成作業(yè)3134,而不是在處理時必須建立新的連接。如此,已經(jīng)處于on狀態(tài)的數(shù)據(jù)集成作業(yè)3134的實例可以被RTI代理3132調(diào)用,并可以使用來自RTI服務(wù)器2802的特定輸入(可以是文件,一行數(shù)據(jù),一批數(shù)據(jù)等等),立即開始執(zhí)行數(shù)據(jù)集成作業(yè)3134。
每一個數(shù)據(jù)集成作業(yè)3134都可以包括RTI輸入級3138和RTI輸出級3140。RTI輸入級3138是從RTI代理3132到數(shù)據(jù)集成作業(yè)3134的入口點,而RTI輸出級3140是回到RTI代理3132的輸出級。利用RTI輸入和輸出級,數(shù)據(jù)集成作業(yè)3134可以是一段獨立于平臺的一段業(yè)務(wù)邏輯。RTI服務(wù)器2802知道對于每一個RTI數(shù)據(jù)集成作業(yè)3134的RTI輸入級3138需要什么輸入。例如,如果給定數(shù)據(jù)集成作業(yè)3134的業(yè)務(wù)邏輯以客戶的姓氏和年齡作為輸入,那么,RTI服務(wù)器2802可以以字符串和整數(shù)的形式將輸入傳遞到數(shù)據(jù)集成作業(yè)3134的RTI輸入級3138。RTI輸入級獲得輸入和合適的格式,無論使用什么原始應(yīng)用程序代碼來執(zhí)行數(shù)據(jù)集成作業(yè)3134。
在實施例中,這里所描述的方法和系統(tǒng)可以允許設(shè)計師定義從數(shù)據(jù)集成進(jìn)程到RTI服務(wù)接口的自動的、可自定義的映射機器。具體來說,RTI控制臺3002可以允許設(shè)計師為數(shù)據(jù)集成進(jìn)程創(chuàng)建自動化的服務(wù)接口。其中,它可以允許用戶(或一組規(guī)則或程序)自定義普通服務(wù)接口,以適合特定目的。當(dāng)有數(shù)據(jù)集成作業(yè)時,利用事務(wù)流,如轉(zhuǎn)換,并利用RTI輸入級3138和RTI輸出級3140,作業(yè)的元數(shù)據(jù)可以表示,在組件或作業(yè)的級之間交換的數(shù)據(jù)的格式。表定義描述了RTI輸入級3138希望接收什么;例如,數(shù)據(jù)集成作業(yè)的輸入級可能期望三個調(diào)用一個字符串和兩個整數(shù)。同時,在數(shù)據(jù)集成作業(yè)流結(jié)束時,輸出級可能返回字符串或整數(shù)形式的調(diào)用。當(dāng)用戶創(chuàng)建將要使用此作業(yè)的RTI服務(wù)時,希望定義的操作反映在輸入時預(yù)期什么數(shù)據(jù)以及在輸出時將返回什么數(shù)據(jù)。與常規(guī)的面向?qū)ο蟮木幊谭椒ㄏ啾龋?wù)對應(yīng)于類,操作對應(yīng)于方法,其中,作業(yè)定義了基于元數(shù)據(jù)的操作的簽名,如與RTI輸入級3138關(guān)聯(lián)的RTI輸入表3414和與RTI輸出級3140關(guān)聯(lián)的RTI輸出表3418。
舉例來說,用戶可能定義(string、int、int)作為RTI輸入表3414中的特定RTI操作的輸入變量??梢詫TI輸出表3418中的輸出定義為struct(string;int)。在實施例中,輸入和輸出可以是單一字符。如果有其他字段(更多調(diào)用),用戶可以自定義輸入映射。代替使用具有十五個整數(shù)的操作,用戶可以創(chuàng)建STRUCT(具有多個字段的復(fù)雜類型,每一個字段都對應(yīng)于復(fù)雜操作),如,Opt(stuct(string,int,int));struct(string,int)。用戶可以組合輸入?yún)?shù),以便它們作為一個復(fù)雜的輸入類型組合起來。結(jié)果,可以處理一個陣列,以便事務(wù)被定義為Optl(array(struct(string,int,int)。例如,輸入結(jié)構(gòu)可以是(姓名,SSN,年齡),輸出結(jié)構(gòu)可以是(姓名,生日)。陣列可以穿過RTI服務(wù)。最后,服務(wù)輸出陣列的對應(yīng)的回復(fù)。通過陣列,可以將多個行組合為單一事務(wù)。在RTI控制臺3002中,復(fù)選框5308可使用戶“接受多行”,以便啟用陣列。要定義輸入,在RTI控制臺3002中,可以選中或取消選中特定行,以判斷它是否作為輸入變成操作的簽名的一部分。用戶可能不希望將特定輸入列暴露給操作(例如,因為對于特定操作,可能始終相同),在這種情況下,用戶可以固定輸入的靜態(tài)值,以便操作只看到不是靜態(tài)值的變量。
類似的進(jìn)程可以用來映射操作的輸出,如使用RTI控制臺忽視輸出的某些列,可以作為特定操作的簽名的一部分來存儲的操作。
在實施例中,從RTI服務(wù)器2802穿過數(shù)據(jù)集成平臺2702的RTI服務(wù)請求,被以單個請求的管道提供,而不是成批地或大型文件集合來提供。管道方法可使單個服務(wù)請求被數(shù)據(jù)集成作業(yè)3134的已經(jīng)在運行的實例立即拾取,產(chǎn)生迅速而實時的數(shù)據(jù)集成,而不是需要企業(yè)等待批處理集成作業(yè)的完成。穿過管道的服務(wù)請求可以被視為波,每一個服務(wù)請求都可以被“波的開始”標(biāo)記和“波的結(jié)束”標(biāo)記進(jìn)行標(biāo)記,以便RTI代理3132識別新服務(wù)請求的啟動,以及特定的服務(wù)請求的數(shù)據(jù)集成作業(yè)3134的完成。
End-of-wave標(biāo)記描述了工作的一系列的單元,每一個單元都被end-of-wave標(biāo)記分開。使用end-of-wave標(biāo)記可以允許系統(tǒng)隨著同一個服務(wù)執(zhí)行批處理和實時操作。在批處理環(huán)境中,數(shù)據(jù)集成用戶通常希望優(yōu)化數(shù)據(jù)流,以便在給定級執(zhí)行最大量的處理,然后大批傳輸?shù)较乱患?,以減少必須移動數(shù)據(jù)的次數(shù),因為數(shù)據(jù)移動是資源密集的。相比之下,在實時處理中,數(shù)據(jù)集成用戶可能希望盡可能快地通過流移動每一個事務(wù)請求。end-of-wave標(biāo)記發(fā)送一個信號,該信號通知通過數(shù)據(jù)集成作業(yè)清空特定請求的作業(yè)實例,而不是等待更多的數(shù)據(jù)開始處理(如系統(tǒng)通常在批處理模式的那樣)。end-of-wave標(biāo)記的好處是,給定作業(yè)實例可以同時處理多個事務(wù),每一個事務(wù)都通過end-of-wave標(biāo)記與其它事務(wù)分離。在兩個end-of-wave標(biāo)記之間是任何東西都是事務(wù)。
管道化可使多個請求同時被服務(wù)處理。進(jìn)程匯聚設(shè)施3102的負(fù)載平衡算法可以在啟動數(shù)據(jù)集成作業(yè)的一個新實例之前,將單一實例填充到其最大容量(填充管道)。在實時集成模型中,當(dāng)您具有一個正在被實時處理的回調(diào)時(而在批處理模式下,系統(tǒng)通常在處理批之前填充緩沖區(qū)),end-of-wave標(biāo)記可以將多個事務(wù)管道化為數(shù)據(jù)集成作業(yè)的流。為取得負(fù)載平衡,可能希望平衡不只基于作業(yè)是否忙著,因為作業(yè)可能忙著,而仍具有未使用的生產(chǎn)容量。
另一方面,希望在管道的容量達(dá)到其最大值之前,避免啟動新的數(shù)據(jù)集成作業(yè)實例。這意味著,負(fù)載平衡需要是動態(tài)的,并基于附加屬性。在RTI代理進(jìn)程中,RTI代理3132了解在被RTI服務(wù)器2802訪問的每一個數(shù)據(jù)集成平臺2702上運行的實例。在RTI代理3132中,用戶可以為在數(shù)據(jù)集成平臺2702上運行的每一個作業(yè)實例創(chuàng)建緩沖區(qū)??梢栽赗TI控制臺3002中設(shè)置各種參數(shù),以幫助取得動態(tài)負(fù)載平衡。一個參數(shù)是緩沖區(qū)的可以被放置在緩沖區(qū)中的等待被作業(yè)實例處理的最大大小(以請求的數(shù)量來度量)。優(yōu)選情況下,最好只具有單一請求,產(chǎn)生恒定的吞吐量,但在實踐中,吞吐量通常是變化的,以致于常常需要對于每一個作業(yè)實例都具有緩沖區(qū)。第二個參數(shù)是管道閾值,這是表明在什么點希望啟動新作業(yè)實例的參數(shù)。在實施例中,閾值可以生成警告指示,而不是自動地啟動新實例,因為通信流量的異常增大可能會導(dǎo)致延遲。第三個參數(shù)可以判斷如果閾值被超過多于指定的時間段,那么新實例將啟動。總而言之,諸如緩沖區(qū)大小、閾值,以及實例啟動延遲之類的管道化屬性,是用戶可以控制的參數(shù)。
在實施例中,所有數(shù)據(jù)集成平臺2702都是使用來自AscentialSoftware的DataStage服務(wù)器的機器。在它們中的每一個中,可以有數(shù)據(jù)集成作業(yè)3134,這些作業(yè)可以是DataStage作業(yè)。RTI輸入級3138的存在意味著,作業(yè)3134始終處于運行狀態(tài),并等待請求,與批處理模式不同,而在批處理模式下,作業(yè)實例在批處理時啟動。在操作中,數(shù)據(jù)集成作業(yè)3134處于運行狀態(tài),所有其需要的與數(shù)據(jù)庫、Web服務(wù)等等以及RTI輸入級3134的連接正在監(jiān)聽、等待某種數(shù)據(jù)來臨。對于每一個事務(wù),end-of-wave標(biāo)記可以沿著數(shù)據(jù)集成作業(yè)3154的多個級行進(jìn)。RTI輸入級3138和RTI輸出級3140是數(shù)據(jù)集成作業(yè)3134和RTI服務(wù)環(huán)境的其余部分之間的通信點。
例如,商業(yè)企業(yè)的計算機應(yīng)用程序可以發(fā)送對事務(wù)的請求。RTI服務(wù)器2802可以判斷,RTI數(shù)據(jù)集成作業(yè)3134在各種數(shù)據(jù)集成平臺2702上運行,在實施例中,平臺2702是來自Ascential Software的DataStage服務(wù)器。RTI服務(wù)器2802可以將來自計算機應(yīng)用程序的請求中的數(shù)據(jù)映射到RTI輸入級3138需要什么才能查看特定數(shù)據(jù)集成作業(yè)3134。RTI代理3132可以跟蹤什么正在每一個數(shù)據(jù)集成平臺2702上運行。RTI代理3132可以利用共享存儲區(qū)與RTI輸入級3138和RTI輸出級3140一起操作。RTI代理3132可以利用end-of-wave標(biāo)記來標(biāo)記事務(wù),將事務(wù)發(fā)送到RTI輸入級3138,然后,識別end-of-wave為數(shù)據(jù)集成作業(yè)3134已完成,從RTI輸出級3140中獲取結(jié)果,并將結(jié)果發(fā)送回啟動了事務(wù)的計算機應(yīng)用程序。
這里所描述的RTI方法和系統(tǒng)可以允許數(shù)據(jù)集成進(jìn)程作為一組被管理的抽象服務(wù)(可通過晚期綁定多個訪問協(xié)議來訪問)來暴露。通過使用數(shù)據(jù)集成平臺2702,如Ascential平臺,用戶可以創(chuàng)建數(shù)據(jù)集成進(jìn)程(通常由圖形用戶界面中的流來代表)。然后,用戶可以作為服務(wù)暴露由流程定義的進(jìn)程,該服務(wù)可以實時地同步地或異步地,由不同的應(yīng)用程序進(jìn)行調(diào)用。為充分利用RTI服務(wù),希望支持不同的協(xié)議,如JMS隊列(其中,進(jìn)程可以將數(shù)據(jù)張貼到隊列中,應(yīng)用程序可以從隊列中檢索數(shù)據(jù))、Java類,以及Web服務(wù)。綁定多個訪問協(xié)議可以使不同的應(yīng)用程序訪問RTI服務(wù)。由于綁定處理了應(yīng)用程序特定的協(xié)議要求,因此,RTI服務(wù)可以被定義為抽象服務(wù)。抽象服務(wù)是由服務(wù)正在執(zhí)行的內(nèi)容定義的,而不是由特定協(xié)議或環(huán)境定義的。一般而言,RTI服務(wù)可以在目錄中發(fā)布,并與很多用戶同享。
一個RTI服務(wù)可以具有多個操作,每一個操作都可以由一個作業(yè)來實現(xiàn)。要創(chuàng)建服務(wù),用戶不必知道有關(guān)特定Web服務(wù)、Java類等等的信息。當(dāng)設(shè)計將通過RTI服務(wù)暴露的數(shù)據(jù)集成作業(yè)時,用戶不必知道服務(wù)將如何被調(diào)用。用戶可以構(gòu)建RTI服務(wù),然后對于給定數(shù)據(jù)集成請求,系統(tǒng)可以執(zhí)行RTI服務(wù)。在某些點,用戶將RTI服務(wù)綁定到一個或多個協(xié)議,可以是Web服務(wù)、Enterprise JavaBean(EJB)、JMS、JMX、C++或可以實現(xiàn)服務(wù)的許多協(xié)議中的任何一個。對于特定RTI服務(wù),可以有多個綁定,以便服務(wù)可以被不同的應(yīng)用程序利用不同的協(xié)議進(jìn)行訪問。
一旦定義了RTI服務(wù),用戶可以附加一個綁定,或多個綁定,以便使用不同協(xié)議的多個應(yīng)用程序可以同時調(diào)用RTI服務(wù)。在常規(guī)WSDL文檔中,服務(wù)定義包括端口類型,但一定要說明如何調(diào)用服務(wù)。用戶可以定義可以附加到特定WSDL定義的作業(yè)的所有類型。示例包括SOAP over HTTP、EJB、Text Over JMS上的文本及其他。例如,要創(chuàng)建EJB綁定,RTI服務(wù)器2802將生成Enterprise JavaBean的Java源代碼。在服務(wù)部署時,用戶使用RTI控制臺3002來定義屬性、編譯代碼、創(chuàng)建Java存檔文件,然后,提供給企業(yè)應(yīng)用程序的用戶,以在用戶Java應(yīng)用程序服務(wù)器中部署,以便每一個操作都是Java類的一個方法。結(jié)果,在RTI服務(wù)名稱和Java類名稱之間,以及在RTI操作名稱和Java方法名稱之間可以有一一對應(yīng)的關(guān)系。結(jié)果,Java應(yīng)用程序方法調(diào)用將在RTI服務(wù)中調(diào)用操作。結(jié)果,使用SOAP over HTTP的Web服務(wù)和使用EJB的Java應(yīng)用程序可以通過RTI服務(wù)進(jìn)入完全相同的數(shù)據(jù)集成作業(yè)。入口點和出口點不需要特定協(xié)議,如此同一個作業(yè)可以在多個協(xié)議上工作。
盡管SOAP和EJB綁定支持同步進(jìn)程,但是,其他綁定支持異步進(jìn)程。例如,SOAP over JMS和Text over JMS是異步的。例如,在一個實施例中,可以將消息附加到隊列中。RTI服務(wù)可以監(jiān)視到輸入隊列的異步輸入,并異步地將輸出張貼到另一個隊列。
圖32是RTI服務(wù)的內(nèi)部體系結(jié)構(gòu)3200的示意圖。該體系結(jié)構(gòu)包括RTI服務(wù)器2802,這是符合J2EE的服務(wù)器。RTI服務(wù)器2802與數(shù)據(jù)集成平臺2702的RTI代理3132進(jìn)行交互。進(jìn)程匯聚設(shè)施3102通過選擇將向其中傳遞數(shù)據(jù)集成作業(yè)的適當(dāng)數(shù)據(jù)集成平臺機器2702來對項目進(jìn)行管理。RTI服務(wù)器2802包括用于處理數(shù)據(jù)集成作業(yè)的作業(yè)匯聚設(shè)施3202。作業(yè)匯聚設(shè)施3202包括作業(yè)列表3204,列出了作業(yè)和狀態(tài),無論每一個作業(yè)是否可用。作業(yè)匯聚設(shè)施可以包括高速緩存管理器和操作設(shè)施,用于處理傳遞到RTI服務(wù)器2802的作業(yè)。RTI服務(wù)器2802還可以包括注冊設(shè)施3220,用于管理與適當(dāng)?shù)墓驳幕蛩接械淖员恚鐚SDL描述發(fā)布到可以通過RTI服務(wù)器2802訪問的服務(wù)的注冊表。
RTI服務(wù)器2802還可以包括EJB容器3208,該容器包括根據(jù)J2EE的針對RTI服務(wù)的RTI會話bean運行時設(shè)施3210。EJB容器3208可以包括消息bean 3212、會話bean 3214,以及實體bean 3218,用于啟用RTI服務(wù)。EJB容器3208可以有助于不同的接口,包括JMS接口3222,以及EJB客戶端接口3224和Axis接口3228。
請參看圖33,RTI服務(wù)器2802和RTI代理3132的交互的一個方面是,RTI代理3132管理服務(wù)請求的管道,然后,這些服務(wù)請求傳遞到數(shù)據(jù)集成作業(yè)的作業(yè)實例3302。作業(yè)實例3302在數(shù)據(jù)集成平臺2702上運行,并具有RTI輸入級3138和RTI輸出級3140。取決于需求,可以有一個以上的作業(yè)實例3302在特定數(shù)據(jù)集成平臺2702上運行。隨著服務(wù)請求從RTI服務(wù)器2802傳遞給RTI代理3132,它管理作業(yè)實例的開放和關(guān)閉。與傳統(tǒng)的分批式數(shù)據(jù)集成不同,每一個對RTI服務(wù)的請求在作業(yè)的管道3304中沿著RTI服務(wù)器2802、RTI代理3132,以及數(shù)據(jù)集成平臺2702行進(jìn)??梢栽赗TI代理中管理管道3304,如通過設(shè)置管道3304的不同的參數(shù)。例如,管道3304可以具有緩沖區(qū),其大小可以由用戶使用最大緩沖區(qū)大小參數(shù)3308進(jìn)行設(shè)置。管理員也可以設(shè)置其他參數(shù),如在啟動新作業(yè)實例3302之前RTI代理3132將接受的延遲的時長,即,實例啟動延遲3310。管理員也可以設(shè)置管道的閾值3312,該閾值代表了對于給定作業(yè)實例3302,管道可以接受的服務(wù)請求的數(shù)量。
可以在注冊表中管理RTI服務(wù),可以搜索該注冊表。RTI服務(wù)可能已經(jīng)向它添加了已經(jīng)編寫的應(yīng)用程序,該應(yīng)用程序使用附著于服務(wù)中的協(xié)議。例如,諸如添加顧客、刪除顧客、或驗證顧客地址之類的顧客管理操作,可以使用已知的Web服務(wù)協(xié)議,或附加到這種服務(wù)協(xié)議中。顧客管理應(yīng)用程序可以附著于RTI服務(wù)中,在那里,應(yīng)用程序是RTI服務(wù)的客戶端。換句話說,預(yù)先定義的應(yīng)用程序可以附加到RTI服務(wù)中,在那里,應(yīng)用程序調(diào)用或使用RTI服務(wù)。結(jié)果是,用戶可以按需將服務(wù)下載到特定設(shè)備中,并在該設(shè)備上運行它。
例如,諸如袖珍PC之類的移動計算設(shè)備可以具有主機環(huán)境。移動計算設(shè)備可以具有應(yīng)用程序,如針對移動數(shù)據(jù)集成服務(wù)的應(yīng)用程序,有許多已下載的應(yīng)用程序和可用的應(yīng)用程序。移動設(shè)備可以瀏覽應(yīng)用程序。當(dāng)它下載附著于RTI服務(wù)的應(yīng)用程序時,應(yīng)用程序被通過無線電下載到移動設(shè)備中,但它同時調(diào)用附著于它的RTI服務(wù)。結(jié)果,用戶可以具有移動應(yīng)用程序部署,而同時可以從企業(yè)訪問實時、集成的數(shù)據(jù)。如此,RTI服務(wù)可以為移動計算應(yīng)用程序提供高度有效的模型,其中,企業(yè)受益于讓用戶具有最新的數(shù)據(jù)。
現(xiàn)在以其一般性形式描述了企業(yè)計算系統(tǒng)1300的數(shù)據(jù)集成系統(tǒng)104的不同的方面,現(xiàn)在將提供數(shù)據(jù)集成系統(tǒng)104的多個示例,包含不同的商業(yè)及其他應(yīng)用程序。
如圖34所示,具有RTI服務(wù)2704的數(shù)據(jù)集成系統(tǒng)104可以用于金融服務(wù)業(yè)。實時數(shù)據(jù)集成可以允許金融服務(wù)業(yè)中的商業(yè)企業(yè)避免否則將存在的風(fēng)險。例如,如果金融機構(gòu)3402的一個分支機構(gòu)處理消費者3404的貸款申請書3410,而另一個分支機構(gòu)進(jìn)行股票交易3408,機構(gòu)3402在貸款時可能會承受它愿意承擔(dān)的更大的風(fēng)險。實時數(shù)據(jù)集成允許金融機構(gòu)在執(zhí)行給定交易時具有消費者3404的比較準(zhǔn)確的概貌。如此,RTI服務(wù)3412可以允許與貸款申請書關(guān)聯(lián)的計算機應(yīng)用程序請求有關(guān)消費者3404的股票帳戶的最新的數(shù)據(jù),該數(shù)據(jù)可以通過RTI服務(wù)3412從與處理股票交易3408的金融機構(gòu)3402的應(yīng)用程序關(guān)聯(lián)的數(shù)據(jù)中檢索。當(dāng)然,不僅金融機構(gòu),而且許多企業(yè)的財務(wù)部門也可以作出可能受益于實時數(shù)據(jù)集成的類似的財務(wù)決策。
商業(yè)企業(yè)在各式各樣的環(huán)境中以及對于許多目的,受益于實時數(shù)據(jù)集成服務(wù),如這里所描述的RTI服務(wù)。一個示例是經(jīng)營報告和分析的領(lǐng)域。其中,RTI服務(wù)可以提供具有大量的批處理數(shù)據(jù)的實時事務(wù)分析的合并的視圖。請參看圖35,RTI服務(wù)3502可以是這樣的結(jié)構(gòu)該結(jié)構(gòu)實時被調(diào)用到商業(yè)企業(yè)的所有重要的數(shù)據(jù)源3304,如企業(yè)數(shù)據(jù)倉庫、數(shù)據(jù)集市、數(shù)據(jù)庫等等。然后,RTI服務(wù)3502可以對來自數(shù)據(jù)源3504的數(shù)據(jù)應(yīng)用一致的數(shù)據(jù)級別的轉(zhuǎn)換。通過以這種方式使用,RTI服務(wù)也可以自動化源系統(tǒng)分析,并提供實時數(shù)據(jù)質(zhì)量管理。商業(yè)企業(yè)有許多可以受益于這樣的RTI服務(wù)的經(jīng)營報告或分析進(jìn)程,如金融服務(wù)領(lǐng)域的欺詐檢測和風(fēng)險分析,零售領(lǐng)域的庫存控制、預(yù)測和市場籃子分析,金融領(lǐng)域的適應(yīng)性活動,以及零售領(lǐng)域的收縮分析和人員調(diào)度??梢允芤嬗谝粋€以上來源的數(shù)據(jù)的任何分析或報告任務(wù),可以類似地受益于RTI服務(wù),該服務(wù)動態(tài)地實時根據(jù)定義明確的數(shù)據(jù)集成作業(yè)檢索和集成數(shù)據(jù)。
另一類可以受益于諸如這里所描述的RTI服務(wù)的業(yè)務(wù)進(jìn)程是涉及創(chuàng)建記錄數(shù)據(jù)庫的主系統(tǒng)的業(yè)務(wù)進(jìn)程。請參看圖36,企業(yè)可以具有許多數(shù)據(jù)庫,數(shù)據(jù)庫中包括了有關(guān)諸如顧客3604之類的特定主題的數(shù)據(jù)。例如,顧客的信息可以出現(xiàn)在銷售數(shù)據(jù)庫3608、CRM數(shù)據(jù)庫3610、支持?jǐn)?shù)據(jù)庫3612和財務(wù)數(shù)據(jù)庫3614中。事實上,在真實的商業(yè)企業(yè)中,這些部門中的每一個部門都具有他們自己的多個數(shù)據(jù)庫不是不常見的。進(jìn)行數(shù)據(jù)集成所花的精力,希望得到其中一個好處是,在跨許多數(shù)據(jù)庫之間使數(shù)據(jù)保持一致。例如,對于觸發(fā)事件3618,如顧客的地址變更,只有該企業(yè)的一個實體可以首先接收信息,但最好是所有不同的部門都可以訪問更改。RTI服務(wù)提供了創(chuàng)建記錄的主系統(tǒng)的可能性,無需原始數(shù)據(jù)庫中的更改。如此,可以定義鏈接了不同的信息倉庫的RTI進(jìn)程3602,包括那些使用不同協(xié)議的RTI進(jìn)程。通過支持多個綁定,RTI進(jìn)程可以接受輸入,并向不同的格式的不同的應(yīng)用程序提供輸出。同時,RTI服務(wù)中的業(yè)務(wù)邏輯可以執(zhí)行數(shù)據(jù)集成任務(wù),如對于所有傳入的數(shù)據(jù)執(zhí)行數(shù)據(jù)標(biāo)準(zhǔn)化,為所有數(shù)據(jù)提供元譜系信息,以及在不同的數(shù)據(jù)源之間保持鏈接。結(jié)果是實時、最新的主記錄服務(wù),可以作為RTI服務(wù)被訪問。
有許多應(yīng)用程序的示例可以受益于主記錄。在金融服務(wù)中,一個機構(gòu)可能希望具有顧客主記錄,以及跨整個企業(yè)的安全主記錄。在處理大量的顧客的電信、保險及其他行業(yè),主記錄服務(wù)可以支持記帳、索賠處理等等。在零售企業(yè)中,主記錄可以支持銷售點應(yīng)用程序、Web服務(wù)、顧客營銷數(shù)據(jù)庫,以及庫存同步功能。在制造和物流營運中,商業(yè)企業(yè)可以為有關(guān)來自不同的來源的產(chǎn)品的數(shù)據(jù)建立主記錄進(jìn)程,如有關(guān)設(shè)計、制造、庫存、銷售、退貨、服務(wù)義務(wù)信息、保修信息等等。在其它情況下,企業(yè)可以使用RTI服務(wù)來支持ERP實例合并。實現(xiàn)了主記錄的RTI服務(wù)可提供數(shù)據(jù)集成的好處,無需在原始應(yīng)用程序中進(jìn)行編碼便可使得不同的數(shù)據(jù)源彼此進(jìn)行交談。
圖37的實施例提供了主顧客數(shù)據(jù)庫3700。主顧客數(shù)據(jù)庫3700可以包括跨許多不同的數(shù)據(jù)庫的集成的顧客視圖,包括有關(guān)顧客的某些數(shù)據(jù),包括內(nèi)部和外部系統(tǒng)。主顧客數(shù)據(jù)庫將是包括有關(guān)來自所有不同的來源的顧客的“最好的”數(shù)據(jù)。要建立主顧客數(shù)據(jù)庫,數(shù)據(jù)集成需要匹配、標(biāo)準(zhǔn)化、合并、轉(zhuǎn)換和豐富數(shù)據(jù),所有的這些都是由RTI服務(wù)3702執(zhí)行的。盡管某些數(shù)據(jù)可以以批處理模式來進(jìn)行處理,但是,新的數(shù)據(jù)必須實時處理,以確??焖僮兓臄?shù)據(jù)是可用的最準(zhǔn)確的數(shù)據(jù)主顧客數(shù)據(jù)庫可以被企業(yè)實體用在幾乎任何領(lǐng)域,包括零售、金融服務(wù)、制造、專業(yè)服務(wù)、醫(yī)學(xué)和制藥、電信、信息技術(shù)、生物技術(shù)或許多其它領(lǐng)域。協(xié)會、學(xué)術(shù)機構(gòu)、政府機構(gòu),或任何其他比較大的單位或機構(gòu),都可能希望有類似的數(shù)據(jù)管理。
這里所描述的RTI服務(wù)也可以支持許多將諸如轉(zhuǎn)換、驗證和標(biāo)準(zhǔn)化例程之類的數(shù)據(jù)集成任務(wù)的暴露給事務(wù)性的業(yè)務(wù)進(jìn)程的服務(wù)。如此,RTI服務(wù)可以提供動態(tài)的數(shù)據(jù)質(zhì)量、豐富和轉(zhuǎn)換。應(yīng)用程序可以通過面向服務(wù)的體系結(jié)構(gòu)訪問這樣的服務(wù),該體系結(jié)構(gòu)促進(jìn)了跨整個商業(yè)企業(yè)的標(biāo)準(zhǔn)企業(yè)邏輯的重復(fù)使用。請參看圖38,RTI服務(wù)3802(可以是上文所描述的RTI服務(wù)2704),實現(xiàn)了一組數(shù)據(jù)轉(zhuǎn)換、驗證和標(biāo)準(zhǔn)化例程,如諸如Ascential的DataStage平臺之類的數(shù)據(jù)集成平臺3804實現(xiàn)的那些例程。應(yīng)用程序3808可以觸發(fā)調(diào)用RTI服務(wù)3802的事件,以動態(tài)地實現(xiàn)數(shù)據(jù)集成任務(wù)。
許多業(yè)務(wù)進(jìn)程可以受益于實時轉(zhuǎn)換、驗證和標(biāo)準(zhǔn)化例程。這可以包括電話銷售行業(yè)中的呼叫中心up-selling和cross-selling,金融行業(yè)中的再保險風(fēng)險驗證、零售業(yè)中銷售點帳目創(chuàng)建,以及諸如衛(wèi)生保健和信息技術(shù)服務(wù)之類的領(lǐng)域的服務(wù)質(zhì)量的提高。
請參看圖39,可以受益于實時集成服務(wù)的業(yè)務(wù)進(jìn)程的示例有簽名進(jìn)程3900,如如財產(chǎn)保險之類的保險單的簽名。對財產(chǎn)簽名的進(jìn)程可能需要對不同類型(如文本文件3902、電子表格3904、Web數(shù)據(jù)3908,等等)的各種不同的數(shù)據(jù)源的訪問。數(shù)據(jù)可能是不一致的,并容易出錯。用于獲取補充數(shù)據(jù)的準(zhǔn)備時間減慢了簽名判斷。主簽名數(shù)據(jù)庫3910可以包含某些數(shù)據(jù),但其他相關(guān)數(shù)據(jù)可以包括各種其他數(shù)據(jù)庫中,如環(huán)境數(shù)據(jù)庫3912、占有率數(shù)據(jù)庫3914、以及地理數(shù)據(jù)庫3918。結(jié)果,如果來自不同的來源的數(shù)據(jù)和數(shù)據(jù)庫沒有在判斷時集成時,則可以基于有缺陷的假設(shè)作出簽名判斷。
通過使用實時集成服務(wù)來集成對各種數(shù)據(jù)源3902、3904、3908、3912、1914、1918的訪問,簽名判斷的速度和精度可以得到改善。請參看圖40,RTI服務(wù)可以改善簽名判斷的質(zhì)量。文本文件、電子表格,以及Web文件可以各自諸如通過Web接口3902,輸入到在RTI服務(wù)器3904上運行的RTI服務(wù),該服務(wù)可以是上文所描述的RTI服務(wù)2704中的任何一個。環(huán)境數(shù)據(jù)庫3912、占有率數(shù)據(jù)庫3914,以及地理數(shù)據(jù)庫3918,以及簽名數(shù)據(jù)庫3910,全部都可以由數(shù)據(jù)集成作業(yè)4012調(diào)用,數(shù)據(jù)集成作業(yè)4012可以包括CASS進(jìn)程4010和Waves進(jìn)程4008,如由Asccntial Software的QualityStage產(chǎn)品實現(xiàn)的。RTI服務(wù)可以包括那些數(shù)據(jù)庫中的每一個數(shù)據(jù)庫的協(xié)議的綁定。結(jié)果是集成的簽名判斷進(jìn)程,該進(jìn)程受益于來自所有時間表,以及不同的數(shù)據(jù)庫的當(dāng)前信息,所有的都由RTI服務(wù)啟用。例如,簽名進(jìn)程需要當(dāng)前地址信息,諸如上文所描述的RTI集成作業(yè)可以快速地集成來自不同的來源的數(shù)千地址。
企業(yè)數(shù)據(jù)服務(wù)也可以受益于這里所描述的數(shù)據(jù)集成。具體來說,RTI集成進(jìn)程可以提供標(biāo)準(zhǔn)、合并的數(shù)據(jù)訪問和轉(zhuǎn)換服務(wù)。RTI集成進(jìn)程可以提供對不同的數(shù)據(jù)源(內(nèi)部和外部的)的虛擬訪問。RTI集成進(jìn)程可以提供動態(tài)的數(shù)據(jù)質(zhì)量豐富和轉(zhuǎn)換。RTI集成進(jìn)程也可以跟蹤流過該進(jìn)程的所有元數(shù)據(jù)。請參看圖41,一個或多個RTI服務(wù)4102、4104可以在企業(yè)內(nèi)操作,以提供數(shù)據(jù)服務(wù)。它們中的每一個都可以支持?jǐn)?shù)據(jù)集成作業(yè)4108。數(shù)據(jù)集成作業(yè)4108可以利用不同的本機語言和協(xié)議(企業(yè)內(nèi)部和外部的)訪問數(shù)據(jù)庫4110(可以是不同的數(shù)據(jù)源)。企業(yè)應(yīng)用程序可以通過RTI服務(wù)4102、4104訪問數(shù)據(jù)集成作業(yè)4108。
請參看圖42,可以受益于實時集成服務(wù)的另一個商業(yè)企業(yè)是配送企業(yè),如貨車運輸代理。貨車運輸代理可以處理多個將貨物從一個位置運送到另一個位置的卡車4202??ㄜ?202可以具有遠(yuǎn)程設(shè)備,遠(yuǎn)程設(shè)備運行簡單的應(yīng)用程序4204,如當(dāng)卡車4202到達(dá)一個位置時允許卡車4202登錄的應(yīng)用程序。卡車4202的駕駛員常常具有移動計算設(shè)備,如LandStar衛(wèi)星系統(tǒng)設(shè)備,駕駛員可以用來輸入數(shù)據(jù),如到達(dá)一個檢查點。企業(yè)本身可以具有多個計算機應(yīng)用程序或數(shù)據(jù)庫,如運費清單應(yīng)用程序4208、代理進(jìn)程4210,以及檢查呼叫應(yīng)用程序4212。然而,這些原始應(yīng)用程序,在處理可以向駕駛員提供有用信息的進(jìn)程時,通常沒有被編碼為在卡車4202的移動設(shè)備上運行。例如,駕駛員可能希望能夠調(diào)度行程,但行程調(diào)度應(yīng)用程序可能需要沒有駐留在卡車4202的移動設(shè)備上的數(shù)據(jù)(如哪些其他行程已經(jīng)完成)。
請參看圖43,通過使用RTI服務(wù)模型,可以定義一組數(shù)據(jù)集成服務(wù)4302,以支持應(yīng)用程序4310,駕駛員可以通過使用移動設(shè)備作為Web服務(wù)來訪問這些服務(wù)。例如,應(yīng)用程序4310可以允許駕駛員利用來自貨車運輸代理企業(yè)的數(shù)據(jù)更新他的時間表。RTI服務(wù)器4304從數(shù)據(jù)集成服務(wù)4302發(fā)布數(shù)據(jù)集成作業(yè),應(yīng)用程序4310作為Web服務(wù)4308訪問這些數(shù)據(jù)集成作業(yè)。數(shù)據(jù)集成服務(wù)4302可以集成來自企業(yè)的數(shù)據(jù),如有關(guān)哪些其他作業(yè)已經(jīng)完成,包括來自運費清單應(yīng)用程序4208和代理進(jìn)程4210的數(shù)據(jù)。RTI服務(wù)(可以是上文所描述的任何RTI服務(wù)2704),可以充當(dāng)駕駛員的應(yīng)用程序的智能圖形用戶界面,以便提供調(diào)度應(yīng)用程序。駕駛員可以將應(yīng)用程序下載到移動設(shè)備,以調(diào)用服務(wù)。結(jié)果,通過使用RTI服務(wù)模型,可以便于為在移動設(shè)備上使用RTI服務(wù)的應(yīng)用程序提供基礎(chǔ)架構(gòu)。
作為另一個示例(沒有說明圖),可以使用數(shù)據(jù)集成來改善供應(yīng)鏈管理,如在庫存管理和易腐貨物配送中。例如,如果供應(yīng)鏈經(jīng)理具有各個零售商店位置的當(dāng)前存貨水平的當(dāng)前畫面,那么,該經(jīng)理可以指示進(jìn)一步向具有較低的存貨水平或具有高需求的商店送貨或分批裝運,從而更有效率地配送貨物。類似地,如果市場營銷經(jīng)理具有有關(guān)零售商店的存貨水平的當(dāng)前信息,或有關(guān)需求(如在在全國不同地區(qū))的當(dāng)前信息,則該經(jīng)理可以根據(jù)該信息制定價格、廣告或促銷計劃,以便降低需求不強烈的商品或存貨水平出乎意料地高的商品的價格。當(dāng)然,這些只是簡單的示例,但在優(yōu)選實施例中,經(jīng)理可以可以訪問允許實時作出高度復(fù)雜的業(yè)務(wù)決策的各種各樣的數(shù)據(jù)源。
這樣的系統(tǒng)的可能的應(yīng)用簡直是無止境的。減肥公司可以使用數(shù)據(jù)集成來準(zhǔn)備顧客數(shù)據(jù)庫,以開發(fā)新的銷售機會,并可以用來從現(xiàn)有的顧客中提高公司的收入。金融服務(wù)公司可以使用數(shù)據(jù)集成來準(zhǔn)備單一的、有效的來源,以便為銀行業(yè)者、經(jīng)理和分析師報告和分析顧客贏利率。醫(yī)藥公司可以使用數(shù)據(jù)集成來使用不同的標(biāo)準(zhǔn)和格式的種種舊式數(shù)據(jù)源創(chuàng)建數(shù)據(jù)倉庫,包括各種文本數(shù)據(jù)字段內(nèi)自由表式數(shù)據(jù)?;赪eb的市場提供商可以使用數(shù)據(jù)集成來管理購物者和在線商家之間的數(shù)百萬的日常交易。銀行可以使用數(shù)據(jù)集成服務(wù)來了解更多有關(guān)當(dāng)前顧客的信息,改善諸如儲蓄帳戶、支票帳戶、信用卡、存款單,以及ATM服務(wù)之類的產(chǎn)品的優(yōu)惠。電信公司可以使用高吞吐量、并行處理數(shù)據(jù)集成系統(tǒng)來提高從事電話廣告活動的數(shù)量。運輸公司可以使用高吞吐量、并行處理數(shù)據(jù)集成系統(tǒng)來重新確定每日之間的服務(wù)的價格,如一天四次。投資公司可以使用高吞吐量、并行處理數(shù)據(jù)集成系統(tǒng)來遵循SEC交易結(jié)算時間要求,一般性地減少結(jié)算金融交易所需的時間、成本、和精力。衛(wèi)生保健提供商可以使用數(shù)據(jù)集成系統(tǒng),以符合“美國健康保險可移植性和責(zé)任法案”的要求?;赪eb的教育提供商可以使用數(shù)據(jù)集成系統(tǒng)來監(jiān)視學(xué)生的學(xué)習(xí)周期,并改善招生工作,以及學(xué)生進(jìn)度和保有量。
現(xiàn)在提供數(shù)據(jù)集成系統(tǒng)的特定商業(yè)應(yīng)用程序的許多其他示例。
圖44描述了可以用于財務(wù)報表的數(shù)據(jù)集成系統(tǒng)104。在此示例中,系統(tǒng)4400可以包括銷售和訂單處理系統(tǒng)4402、總賬4404、數(shù)據(jù)集成系統(tǒng)104和財務(wù)和會計財務(wù)報表數(shù)據(jù)倉庫4408。銷售和訂單處理系統(tǒng)4402、總賬4404和財務(wù)和會計財務(wù)報表數(shù)據(jù)倉庫4408可以各自包括數(shù)據(jù)源102,如上文所描述的數(shù)據(jù)源102中的任何一個。銷售和訂單處理系統(tǒng)4402可以存儲在銷售和訂單處理過程中收集的數(shù)據(jù),如價格、數(shù)量、日期、時間、訂單號和訂貨單條款及條件,及其他數(shù)據(jù),以及說明可以被系統(tǒng)4400處理和/或記錄的任何交易的任何其他數(shù)據(jù)??傎~4404可以存儲可以涉及跟蹤其財務(wù)的企業(yè)的數(shù)據(jù),如資產(chǎn)負(fù)債表、資金流動、損益表和財務(wù)限制數(shù)據(jù)。財務(wù)和會計財務(wù)報表數(shù)據(jù)倉庫4408可以存儲涉及企業(yè)的金融和財務(wù)部門的數(shù)據(jù),如來自不同的金融和會計制表系統(tǒng)的數(shù)據(jù)。
系統(tǒng)4400可以包括一個或多個數(shù)據(jù)集成系統(tǒng)104(可以是上文所描述的數(shù)據(jù)集成系統(tǒng)104中的任何一個),它們可以從銷售和訂單處理系統(tǒng)4402和總賬4404提取數(shù)據(jù),并可以如上文所描述的,傳輸、分析、處理、轉(zhuǎn)換或操縱這樣的數(shù)據(jù)。任何這樣的數(shù)據(jù)集成系統(tǒng)104都可以將這樣的數(shù)據(jù)加載到財務(wù)和會計報告數(shù)據(jù)倉庫4408,數(shù)據(jù)知識庫或其他數(shù)據(jù)目標(biāo)(可以是上文所描述的任何數(shù)據(jù)源102)。任何數(shù)據(jù)集成系統(tǒng)104都可以被配置為從任何數(shù)據(jù)源102接收實時更新或輸入,和/或被配置為生成到對應(yīng)的財務(wù)和會計報告數(shù)據(jù)倉庫4408或其他數(shù)據(jù)目標(biāo)的對應(yīng)的實時輸出。可選地,數(shù)據(jù)集成系統(tǒng)104可以周期性地提取、傳輸、分析、處理、轉(zhuǎn)換、操縱和/或加載數(shù)據(jù),如在營業(yè)日結(jié)束時或在報告周期結(jié)束時,或響應(yīng)諸如用戶請求之類的任何外部事件。
如此,可以創(chuàng)建和維護(hù)可以給公司提供當(dāng)前金融和會計信息的數(shù)據(jù)倉庫4408。此系統(tǒng)4400可以允許公司實時地將其財務(wù)狀況與其財務(wù)目標(biāo)進(jìn)行比較,允許它快速地對偏差作出響應(yīng)。此系統(tǒng)4400還可以允許公司評估其遵循任何合法的或管理要求的情況,或私人債務(wù)或其貸款的其他契約,如此允許它計算出與其行動關(guān)聯(lián)的任何額外費用或損失。
圖45描述數(shù)據(jù)集成系統(tǒng)104,用于創(chuàng)建和維護(hù)與銷售點一起使用的權(quán)威性的,顧客的當(dāng)前和準(zhǔn)確的列表,顧客關(guān)系管理及零售或其他商店或公司的其他應(yīng)用程序和/或數(shù)據(jù)庫。在此示例中,系統(tǒng)4500可以包括銷售點應(yīng)用程序4502、銷售點數(shù)據(jù)庫4504、顧客關(guān)系管理應(yīng)用程序4508、顧客關(guān)系管理數(shù)據(jù)庫4510、數(shù)據(jù)集成系統(tǒng)104和顧客數(shù)據(jù)庫4512。
銷售點應(yīng)用程序4502可以是在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、條形碼讀取器,或前面的各種設(shè)備的任何組合,或用于處理或記錄銷售、交換、退貨或其他交易的任何其他設(shè)備或設(shè)備組合上運行的或存儲的計算機程序、軟件或固件。銷售點應(yīng)用程序可以鏈接到銷售點數(shù)據(jù)庫4504,該數(shù)據(jù)庫可以包括上文所描述的任何數(shù)據(jù)源102。銷售點數(shù)據(jù)庫4504可以包含在銷售、交換、退貨和/或其他交易過程中收集的數(shù)據(jù),如價格、數(shù)量、日期、時間、訂單號數(shù)據(jù),以及說明可以被銷售點應(yīng)用程序4502處理和/或記錄的任何交易的任何其他數(shù)據(jù)。顧客關(guān)系管理應(yīng)用程序4508可以是在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、條形碼讀取器,或前面的各種設(shè)備的任何組合,或用于輸入、存儲、分析、操縱、查看和/或檢索有關(guān)顧客、其他個人和/或?qū)嶓w的信息(如,名稱、地址、公司結(jié)構(gòu)、出生日期、訂單歷史、信用評級),和說明或涉及任何顧客、其他個人或?qū)嶓w的任何其他數(shù)據(jù)的任何其他設(shè)備,或設(shè)備組合上運行或存儲的計算機程序、軟件或固件。顧客關(guān)系管理應(yīng)用程序4508可以鏈接到顧客關(guān)系管理數(shù)據(jù)庫4510,該數(shù)據(jù)庫包括上文所描述的任何一個數(shù)據(jù)源102,并可以包含有關(guān)顧客,其他個人和/或?qū)嶓w的信息。
數(shù)據(jù)集成系統(tǒng)104(可以是上文所描述的任何一個數(shù)據(jù)集成系統(tǒng)104),可以獨立地從任何一個銷售點應(yīng)用程序4502或數(shù)據(jù)庫4504、顧客關(guān)系管理應(yīng)用程序4508或數(shù)據(jù)庫4510或顧客數(shù)據(jù)庫4512中提取數(shù)據(jù),或?qū)?shù)據(jù)加載到它們中。如上文所描述的,數(shù)據(jù)集成系統(tǒng)104還可以分析、處理、轉(zhuǎn)換或操縱這樣的數(shù)據(jù)。例如,在某個顧客購買了諸如冰箱或洗衣機之類的家用耐久商品之后,在禮節(jié)性拜訪過程中,顧客服務(wù)代表或其他雇員可以使用顧客關(guān)系管理應(yīng)用程序4508更新顧客的地址。然后,顧客關(guān)系管理應(yīng)用程序4508可以將更新的地址數(shù)據(jù)傳輸?shù)筋櫩完P(guān)系管理數(shù)據(jù)庫4510。然后,數(shù)據(jù)集成系統(tǒng)104可以從顧客關(guān)系管理數(shù)據(jù)庫4510中提取更新的地址數(shù)據(jù),將它轉(zhuǎn)換為通用格式,并將它加載到顧客數(shù)據(jù)庫4512中。下一次顧客購物時,收銀員或其他雇員可以使用銷售點應(yīng)用程序4502完成交易,銷售點應(yīng)用程序4502可以通過數(shù)據(jù)集成系統(tǒng)104訪問顧客數(shù)據(jù)庫4512中的已更新的地址數(shù)據(jù),以便收銀員或其他雇員只需確認(rèn)地址信息,而不是在銷售點應(yīng)用程序4502中輸入它。此外,銷售點應(yīng)用程序4502還可以將新的交易數(shù)據(jù)傳輸?shù)戒N售點數(shù)據(jù)庫4504。然后,數(shù)據(jù)集成系統(tǒng)104可以從銷售點數(shù)據(jù)庫4504中提取交易數(shù)據(jù),將它轉(zhuǎn)換為通用格式,并將它加載到顧客數(shù)據(jù)庫4512中。結(jié)果,新的交易數(shù)據(jù)能夠被銷售點和顧客關(guān)系管理應(yīng)用程序和數(shù)據(jù)庫,以及由商業(yè)企業(yè)維護(hù)的任何其他應(yīng)用程序或數(shù)據(jù)庫訪問。
如此,可以創(chuàng)建和維護(hù)顧客數(shù)據(jù)庫4512,該數(shù)據(jù)庫可以給零售或其他商店或公司提供關(guān)于其每個顧客的最新的、準(zhǔn)確的和完整的數(shù)據(jù)。利用此信息,商店或公司可以更好地為其顧客提供服務(wù)。例如,如果顧客服務(wù)部門給顧客提供了在他的下一次購物時享有打折的優(yōu)惠,使用銷售點應(yīng)用程序4502的收銀員或其他雇員將能夠驗證折扣,并記錄一個折扣已經(jīng)被使用的備注。系統(tǒng)4500還可以使商店或公司能防止顧客欺詐。例如,通過電話接收了顧客投訴的顧客服務(wù)代表或其他雇員可以使用顧客關(guān)系管理應(yīng)用程序4508,訪問銷售點信息,以確定購買特定產(chǎn)品的日期,就使得它們判斷產(chǎn)品是否仍在商店或制造商保修期內(nèi)。
圖46描述了數(shù)據(jù)集成系統(tǒng)104,它可以用來將在零售藥房生成的或存儲在零售藥房的藥物補給或其他信息轉(zhuǎn)換為工業(yè)標(biāo)準(zhǔn)XML或其他語言,供藥品經(jīng)銷商或其他當(dāng)事方使用。在此示例中,系統(tǒng)4600可以包括零售藥房4602、藥物補給信息、數(shù)據(jù)集成系統(tǒng)104,以及藥品經(jīng)銷商4604。
零售藥房4602可以使用在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、條形碼讀取器,或前面的各種設(shè)備的任何組合,或用于收集、生成或存儲藥物補給或其他信息的任何其他設(shè)備或設(shè)備組合上運行的或存儲的應(yīng)用程序、計算機程序、軟件或固件。這樣的應(yīng)用程序、計算機程序、軟件或固件可以鏈接到一個或多個數(shù)據(jù)庫,可以至少包括一個數(shù)據(jù)源102,如上文所描述的數(shù)據(jù)源102中的任何一個,包含藥物補給信息,如存貨水平、剩余時間(days-on-hand)和要填寫的訂單。這樣的應(yīng)用程序、計算機程序、軟件或固件還可以鏈接到一個或多個數(shù)據(jù)集成系統(tǒng)104,可以是上文所描述的數(shù)據(jù)集成系統(tǒng)104中的任何一個。藥品經(jīng)銷商4604可以使用在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、條形碼讀取器,或前面的各種設(shè)備的任何組合,或用于以工業(yè)標(biāo)準(zhǔn)XML或另一種語言或格式接收、分析、處理或存儲藥物補給或其他信息的任何其他設(shè)備或設(shè)備組合上運行的或存儲的應(yīng)用程序、計算機程序、軟件或固件。這樣的應(yīng)用程序、計算機程序、軟件或固件可以鏈接到數(shù)據(jù)庫,該數(shù)據(jù)庫可以包括上文所描述的數(shù)據(jù)源102中的任何一種,包含藥物補給信息。
系統(tǒng)4600可以包括一個或多個數(shù)據(jù)集成系統(tǒng)104,可以是上文所描述的數(shù)據(jù)集成系統(tǒng)104中的任何一個。數(shù)據(jù)集成系統(tǒng)104可以從零售藥房4602提取藥物補給信息,將藥物補給信息轉(zhuǎn)換為工業(yè)標(biāo)準(zhǔn)XML或以別的方式分析、處理、轉(zhuǎn)換或操縱這樣的信息,然后自動地或應(yīng)請求,將這樣的信息加載或傳輸?shù)剿幤方?jīng)銷商4604。例如,顧客可以在給定零售藥房4602購買感冒藥物X的倒數(shù)第二瓶。緊隨在銷售之后,該零售藥房的系統(tǒng)可能判斷,在某一日期之前,藥房4602需要將其感冒藥物X的庫存提高若干瓶,然后向數(shù)據(jù)集成系統(tǒng)104發(fā)送藥物補給信息。然后,數(shù)據(jù)集成系統(tǒng)104可以將藥物補給信息轉(zhuǎn)換為工業(yè)標(biāo)準(zhǔn)XML,并上傳到藥品經(jīng)銷商的系統(tǒng)。然后,藥品經(jīng)銷商4604可以自動地確保給定藥房4602在規(guī)定日期之前接收到請求的瓶數(shù)。
如此,可以創(chuàng)建系統(tǒng)4600,該系統(tǒng)允許零售藥房4602與藥房經(jīng)銷商4604進(jìn)行通信,能確保最小的供應(yīng)鏈中斷和費用。此系統(tǒng)4600可以使零售藥房4602自動地將它們的庫存需求傳遞到藥品經(jīng)銷商4604,減少了多余的庫存保管費用,由于產(chǎn)品過期而造成的浪費,以及與退回到藥品經(jīng)銷商關(guān)聯(lián)的交易及其他成本。此系統(tǒng)4600可以用另外的數(shù)據(jù)集成系統(tǒng)104補充,以支持信用歷史評審、支付、及其他金融服務(wù),以確保良好的信用風(fēng)險和給藥品經(jīng)銷商及時支付。
圖47描述了數(shù)據(jù)集成系統(tǒng)104,該系統(tǒng)可以用來通過預(yù)先構(gòu)建的服務(wù)4704(可以從諸如企業(yè)應(yīng)用程序集成、面向消息的中間件和Web服務(wù)之類的業(yè)務(wù)應(yīng)用程序和集成技術(shù)4708進(jìn)行調(diào)用)提供對制造分析數(shù)據(jù)4702的訪問,以允許數(shù)據(jù)在操作優(yōu)化、決策及其他功能中使用。在此示例中,系統(tǒng)4700可以包括制造分析數(shù)據(jù)4702,如庫存、部件、銷售、工資單、人力資源及其他數(shù)據(jù),預(yù)先構(gòu)建的服務(wù)4704、業(yè)務(wù)應(yīng)用程序和集成技術(shù)4708、用戶4710、數(shù)據(jù)集成系統(tǒng)104,以及用戶業(yè)務(wù)應(yīng)用程序4712。
用戶4710可以使用在聯(lián)網(wǎng)的或獨立的,計算機、計算機系統(tǒng)、手持設(shè)備、掌上設(shè)備、蜂窩電話或前面的各種設(shè)備的任何組合或任何其他設(shè)備或設(shè)備組合上運行的或存儲的業(yè)務(wù)應(yīng)用程序和集成技術(shù)4708,來調(diào)用預(yù)先構(gòu)建的服務(wù)4704,提供對制造分析數(shù)據(jù)的訪問。預(yù)先構(gòu)建的服務(wù)4704可以是如上文所描述的數(shù)據(jù)集成系統(tǒng)104或可以傳輸、分析、修改、處理、轉(zhuǎn)換或操縱數(shù)據(jù)或其他信息的其他基礎(chǔ)架構(gòu)。預(yù)先構(gòu)建的服務(wù)4704可以使用數(shù)據(jù)庫,制造分析數(shù)據(jù)4702可以存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫可以包括諸如上文所描述的數(shù)據(jù)源102中的任何一個的數(shù)據(jù)源102。用戶業(yè)務(wù)應(yīng)用程序4712可以是在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、或前面的各種設(shè)備的任何組合,或用于處理或分析制造分析數(shù)據(jù)4702或其他信息的任何其他設(shè)備或設(shè)備組合上運行的或存儲的計算機程序、軟件或固件。用戶業(yè)務(wù)應(yīng)用程序4712可以鏈接到包括諸如上文所描述的任何數(shù)據(jù)源102之類的數(shù)據(jù)源102的數(shù)據(jù)庫。
系統(tǒng)4700可以包括一個或多個數(shù)據(jù)集成系統(tǒng)104(可以是上文所描述的數(shù)據(jù)集成系統(tǒng)104中的任何一個),數(shù)據(jù)集成系統(tǒng)104可以響應(yīng)用戶的通過業(yè)務(wù)應(yīng)用程序和/或集成技術(shù)4708作出的輸入或其他用戶相關(guān)的或外部事件或周期性地,提取、分析、修改、處理、轉(zhuǎn)換或操縱制造分析數(shù)據(jù)4702或其他數(shù)據(jù),并使結(jié)果對用戶業(yè)務(wù)應(yīng)用程序4712可用,以便顯示數(shù)據(jù)、存儲或進(jìn)一步處理、分析或操縱數(shù)據(jù)。
例如,使用現(xiàn)有的業(yè)務(wù)應(yīng)用程序和集成技術(shù)4708的經(jīng)理可以通過預(yù)先構(gòu)建的服務(wù)4704訪問某些制造分析數(shù)據(jù)4702。經(jīng)理可以確定庫存中的某一組的部件的數(shù)量,以及與具有足夠雇員在場組裝部件關(guān)聯(lián)的工薪成本。數(shù)據(jù)集成系統(tǒng)104可以從庫存、部件、工資單和人力資源數(shù)據(jù)庫中提取、集成和分析所需數(shù)據(jù),并將結(jié)果上傳到經(jīng)理的業(yè)務(wù)應(yīng)用程序4712。然后,業(yè)務(wù)應(yīng)用程序4712可以以多種文本和圖形格式顯示結(jié)果,并提示用戶(經(jīng)理)作出進(jìn)一步分析的請求。
如此,可以創(chuàng)建允許經(jīng)理及其他決策人跨企業(yè)訪問他們所需的數(shù)據(jù)的系統(tǒng)4700。此系統(tǒng)4700可以使企業(yè)內(nèi)的決策者能基于給定時間點可用的所有數(shù)據(jù)的集成的視圖,作出更理性的決斷。此外,此系統(tǒng)4700還可以使企業(yè)能作出更快的決定,因為它可以快速地集成來自許多不同的數(shù)據(jù)源102的數(shù)據(jù),并可以在較短時間內(nèi)獲得全企業(yè)范圍的分析??偟恼f來,此系統(tǒng)4700可以使企業(yè)優(yōu)化其業(yè)務(wù)營運、決策及其他功能。
圖48描述了數(shù)據(jù)集成系統(tǒng)104,該系統(tǒng)可以用來分析臨床試驗研究結(jié)果,根據(jù)被驅(qū)動的事件,加載到藥效數(shù)據(jù)倉庫4802中。在此示例中,系統(tǒng)4800可以包括臨床試驗研究4804、臨床試驗研究數(shù)據(jù)庫4808、事件4810、數(shù)據(jù)集成系統(tǒng)104和藥效數(shù)據(jù)倉庫4810。
臨床試驗研究4804可以生成可以存儲在一個或多個臨床試驗研究數(shù)據(jù)庫4808中的數(shù)據(jù),每一個數(shù)據(jù)庫都可以包括數(shù)據(jù)源102,如上文所描述的數(shù)據(jù)源102中的任何一個。每一個臨床試驗研究數(shù)據(jù)庫4808都可以包含在臨床試驗研究4804過程中收集的數(shù)據(jù),如病人姓名、地址、醫(yī)學(xué)狀況、藥物治療和劑量、給定藥物的吸收、分發(fā)和消除速度,政府批準(zhǔn)和倫理委員會批準(zhǔn)信息以及可以與臨床試驗4804關(guān)聯(lián)的任何其他數(shù)據(jù)。藥效數(shù)據(jù)倉庫4802可以包括上文所描述的數(shù)據(jù)源102中的任何一種,可以包含涉及臨床試驗研究4804的數(shù)據(jù),包括諸如駐留在臨床試驗研究數(shù)據(jù)庫4808中的數(shù)據(jù),以及涉及藥物相互作用和屬性的數(shù)據(jù)和信息、生物化學(xué)、化學(xué)、物理學(xué)、生物學(xué)、生理學(xué)、醫(yī)學(xué)文獻(xiàn)或其他相關(guān)信息或數(shù)據(jù)。外部事件4810可以是用戶輸入或某一研究的成就或其他結(jié)果或任何其他指定的事件。
系統(tǒng)4800可以包括如上文所描述的一個或多個數(shù)據(jù)集成系統(tǒng)104,可以響應(yīng)外部事件4810或周期性地,如在營業(yè)日結(jié)束時或在報告周期結(jié)束時,提取、修改、轉(zhuǎn)換、操縱或分析臨床試驗研究數(shù)據(jù)4804或其他數(shù)據(jù),并可以使結(jié)果對藥效數(shù)據(jù)倉庫4802可用。例如,外部事件4810可以是要求某些信息與科研補助金應(yīng)用一起的要求。補助金評審委員會在它將移交調(diào)拔款項進(jìn)行相關(guān)臨床試驗之前可能需要有關(guān)正在進(jìn)行的臨床試驗中的藥物吸收響應(yīng)的數(shù)據(jù)。系統(tǒng)4800可以用來從臨床試驗研究數(shù)據(jù)數(shù)據(jù)庫4808中提取所需數(shù)據(jù),分析數(shù)據(jù),以確定藥物吸收的平均、中間、最大和最小速率,并將這些結(jié)果與其他研究的結(jié)果以及類似的藥物進(jìn)行比較。然后,可以將所有此信息提供給補助金評審委員會。
如此,可以創(chuàng)建系統(tǒng)4800,該系統(tǒng)將使研究人員及其他人快速訪問完整而精確的藥效信息,包括來自完成的以及正在進(jìn)行的臨床試驗的信息。此系統(tǒng)4800使研究人員及其他人能生成預(yù)先的結(jié)果,并檢測不良影響或趨勢,以防止它們變得嚴(yán)重。此系統(tǒng)4800還可以使研究人員及其他人能將給定研究的正在進(jìn)行的或最后的結(jié)果鏈接到其他研究的結(jié)果、理論或確定的原理。此外,系統(tǒng)4800還可以幫助研究人員及其他人設(shè)計新研究、試驗和實驗。
圖49描述了數(shù)據(jù)集成系統(tǒng)104,它可以用來通過Java應(yīng)用程序4908給科學(xué)家4902提供可用的研究的列表4904,并允許它們對所選擇的研究啟動提取、轉(zhuǎn)換和負(fù)載處理4910。在此示例中,系統(tǒng)4800可以包括一組科學(xué)家4902,可用的研究的列表4904,Java應(yīng)用程序4908,研究的數(shù)據(jù)庫4912,選擇的研究的列表4914,提取、轉(zhuǎn)換和負(fù)載處理4910和數(shù)據(jù)集成系統(tǒng)104。
研究數(shù)據(jù)庫4912可以包括上文所描述的數(shù)據(jù)源102中的任何一種,其中可以存儲研究的標(biāo)題、摘要、全文,數(shù)據(jù)和結(jié)果,以及與研究關(guān)聯(lián)的其他信息。Java應(yīng)用程序4908可以包括在計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話或前面的各種設(shè)備的任何組合或可以生成數(shù)據(jù)庫中的研究的完整列表或響應(yīng)某些用戶定義的或其他特征生成數(shù)據(jù)庫中的研究的列表的任何其他設(shè)備或設(shè)備組合上運行的或存儲的一個或多個小程序。科學(xué)家、實驗室人員或其他人可以從此列表中選擇研究的子集,并生成選擇的研究4914的列表。
系統(tǒng)4900可以包括如上文所描述的一個或多個數(shù)據(jù)集成系統(tǒng),它們可以提取、修改、轉(zhuǎn)換、操縱、處理或分析可用的研究4904的列表或來自研究數(shù)據(jù)庫的數(shù)據(jù)。例如,科學(xué)家4902、實驗室人員或其他人可以使用Java應(yīng)用程序4908,通過Web瀏覽器,請求涉及某一指定藥物或醫(yī)學(xué)狀況的所有可用的研究4904的列表。然后,科學(xué)家4902、實驗室人員或其他人可以從這樣的列表中選擇某些研究,或?qū)⑵渌芯刻砑拥竭@樣的列表中,以生成選擇的研究4914的列表。然后,科學(xué)家4902、實驗室人員或其他人可以將選擇的研究的列表發(fā)送到數(shù)據(jù)集成系統(tǒng)104,以便進(jìn)行提取、轉(zhuǎn)換和加載處理4910??茖W(xué)家4902、實驗室人員或其他人可以作為輸出,以特定格式從選擇的研究中請求所有代謝率或其他指定的數(shù)據(jù)。
如此,可以創(chuàng)建系統(tǒng)4900,該系統(tǒng)將允許科學(xué)家4902、實驗室人員或其他人對相關(guān)的研究的目錄進(jìn)行訪問,并能夠從那些研究中提取或操縱數(shù)據(jù)及其他信息。此系統(tǒng)4900可以使科學(xué)家4902、實驗室人員或其他人能獲得相關(guān)的預(yù)先的數(shù)據(jù)或其他信息,以避免不需要的實驗重復(fù),或選擇與他們的結(jié)果或預(yù)測有沖突的某些研究,以便進(jìn)行重復(fù)研究或使結(jié)果相符。系統(tǒng)4900還可以使科學(xué)家4902、實驗室人員或其他人能獲得、集成和分析以前的研究的結(jié)果,以便模擬新實驗,無需實際在實驗室中進(jìn)行實驗。
圖50描述了數(shù)據(jù)集成系統(tǒng)104,該系統(tǒng)可以用來創(chuàng)建和維護(hù)顧客數(shù)據(jù)5002交叉引用,如跨多個系統(tǒng)輸入的原樣,如銷售點5004、顧客關(guān)系管理5008和銷售人員自動化系統(tǒng)5010,以便改善顧客理解和熟悉程度或用于其他目的。在此示例中,系統(tǒng)5000可以包括銷售點5004、顧客關(guān)系管理5008、銷售人員自動化5010或其他系統(tǒng)5012、數(shù)據(jù)集成系統(tǒng)104,以及顧客數(shù)據(jù)交叉引用數(shù)據(jù)庫5002。
銷售點5004、顧客關(guān)系管理5008和銷售人員自動化系統(tǒng)5010各自可以包括一個或多個應(yīng)用程序和/或數(shù)據(jù)庫。應(yīng)用程序可以是在聯(lián)網(wǎng)的或獨立計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、或前面的各種設(shè)備的任何組合,或任何其他設(shè)備或設(shè)備組合上運行的或存儲的計算機程序、軟件或固件。數(shù)據(jù)庫可以包括上文所描述的任何數(shù)據(jù)源102。銷售點應(yīng)用程序可以用于處理或記錄銷售、交換、退貨或其他交易,而銷售點數(shù)據(jù)庫可以包含在銷售、交換、退貨和/或其他交易過程中收集的數(shù)據(jù),如價格、數(shù)量、日期、時間、訂單號數(shù)據(jù),以及說明可以被系統(tǒng)5000處理或記錄的任何交易的任何其他數(shù)據(jù)。顧客關(guān)系管理應(yīng)用程序可以用于輸入、存儲、分析、操縱、查看和/或檢索有關(guān)顧客、其他個人和/或?qū)嶓w的信息,如,名稱、地址、公司結(jié)構(gòu)、出生日期、訂單歷史、信用評級,和說明或涉及任何顧客、其他個人或?qū)嶓w的任何其他數(shù)據(jù)。顧客關(guān)系管理數(shù)據(jù)庫可以包含有關(guān)顧客、其他個人和/或?qū)嶓w的信息。銷售人員自動化應(yīng)用程序可以用于潛在顧客生成、聯(lián)系人交叉引用、調(diào)度、績效跟蹤及其他功能,而銷售人員自動化數(shù)據(jù)庫可以包含與買主和聯(lián)系人有關(guān)的信息或數(shù)據(jù),銷售人員的單個成員的日程表、績效目標(biāo)和實際結(jié)果以及其他數(shù)據(jù)。
系統(tǒng)5000可以包括如上文所描述的一個或多個數(shù)據(jù)集成系統(tǒng)104,可以提取、修改、轉(zhuǎn)換、操縱、處理或分析來自銷售點5004、顧客關(guān)系管理5008、銷售人員自動化5010及其他系統(tǒng)5012數(shù)據(jù),并可以使結(jié)果對顧客數(shù)據(jù)交叉引用數(shù)據(jù)庫5002可用。例如,系統(tǒng)5000可以周期性地,如在營業(yè)日結(jié)束時或在報告周期結(jié)束時,或響應(yīng)諸如用戶請求之類的任何外部事件,從銷售點5004、顧客關(guān)系管理5008、銷售人員自動化5010或其他系統(tǒng)5012中的任何一個或全部中提取數(shù)據(jù)。然后,系統(tǒng)5000可以將數(shù)據(jù)轉(zhuǎn)換為通用格式或以別的方式傳輸、處理或操縱數(shù)據(jù),以便加載到顧客數(shù)據(jù)交叉引用數(shù)據(jù)庫5002中,該數(shù)據(jù)庫可以跨企業(yè)地對其他應(yīng)用程序可用。數(shù)據(jù)集成進(jìn)程104還可以被配置為從任何數(shù)據(jù)源102接收實時更新或輸入,和/或被配置為生成到顧客數(shù)據(jù)交叉引用數(shù)據(jù)庫5002的對應(yīng)的實時輸出。
如此,可以創(chuàng)建系統(tǒng)5000,該系統(tǒng)跨企業(yè)地給用戶提供對交叉引用顧客數(shù)據(jù)5002的訪問。系統(tǒng)5000可以給企業(yè)提供凈化的、一致的、避免重復(fù)的顧客數(shù)據(jù),供所有系統(tǒng)5000使用,導(dǎo)致對顧客更深的理解和更牢靠的顧客關(guān)系。
圖51描述了數(shù)據(jù)集成系統(tǒng)104,該系統(tǒng)可以用來提供入站顧客記錄5104與跨內(nèi)部系統(tǒng)存儲的顧客數(shù)據(jù)的按需的自動化的交叉引用和匹配5102,以避免重復(fù),并提供任何給定顧客的數(shù)據(jù)的完全的跨系統(tǒng)的記錄。在此示例中,系統(tǒng)5100可以包括入站顧客記錄5104、數(shù)據(jù)集成系統(tǒng)104和內(nèi)部顧客數(shù)據(jù)庫5108。
入站顧客記錄5104可以包括在交易過程中或與顧客交互過程中收集的信息,如名稱、地址、公司結(jié)構(gòu)、出生日期、購買的產(chǎn)品、定期維護(hù)及其他信息。內(nèi)部數(shù)據(jù)庫5108可以包括上文所描述的任何數(shù)據(jù)源102,并可以存儲在交易過程中或與顧客交互過程中收集的數(shù)據(jù)。內(nèi)部數(shù)據(jù)庫5108可以鏈接到內(nèi)部應(yīng)用程序,內(nèi)部應(yīng)用程序可以是在聯(lián)網(wǎng)的或獨立的,計算機、手持設(shè)備、掌上設(shè)備、蜂窩電話、或前面的各種設(shè)備的任何組合,或任何其他設(shè)備或設(shè)備組合上運行的或存儲的計算機程序、軟件或固件。
系統(tǒng)5100可以包括如上文所描述的一個或多個數(shù)據(jù)集成系統(tǒng),它們可以提取、修改、轉(zhuǎn)換、操縱、處理或分析入站顧客記錄5104或來自內(nèi)部顧客數(shù)據(jù)庫5108的任何數(shù)據(jù)。此外,數(shù)據(jù)集成系統(tǒng)104可以針對內(nèi)部顧客數(shù)據(jù)庫5108中的數(shù)據(jù)交叉引用5102站顧客記錄5104。例如,內(nèi)部顧客數(shù)據(jù)庫5108可以是具有涉及由顧客購買的產(chǎn)品的信息的數(shù)據(jù)庫,具有涉及由顧客購買的服務(wù)的信息的數(shù)據(jù)庫,提供有關(guān)每一個顧客單位的大小的信息的數(shù)據(jù)庫,包含顧客的信用信息的數(shù)據(jù)庫。系統(tǒng)5100可以針對產(chǎn)品、服務(wù)、大小和信用信息交叉引用入站顧客記錄5104,以暴露和校正不一致之處,確保每一個顧客的數(shù)據(jù)記錄的準(zhǔn)確性和唯一性。
如此,可以創(chuàng)建系統(tǒng)5100,該系統(tǒng)將提供準(zhǔn)確而完整的顧客記錄。此系統(tǒng)5100可以使企業(yè)更深地了解顧客,從而可以為顧客服務(wù)提供更好的服務(wù)。系統(tǒng)5100可以使銷售人員能依靠顧客數(shù)據(jù)庫中包含的數(shù)據(jù),建議對顧客已經(jīng)購買的那些產(chǎn)品和服務(wù)互補的,并適合顧客的業(yè)務(wù)的大小的產(chǎn)品和服務(wù)。
描述了不同的數(shù)據(jù)集成系統(tǒng)和業(yè)務(wù)企業(yè),現(xiàn)在將比較詳細(xì)地描述用于在企業(yè)中提供數(shù)據(jù)集成服務(wù)的體系結(jié)構(gòu)。
請參看圖52,體系結(jié)構(gòu)的高級別示意圖描述了如何將多個服務(wù)組合起來作為集成的應(yīng)用程序操作,該應(yīng)用程序統(tǒng)一了數(shù)據(jù)集成解決方案的開發(fā)、部署、操作和生命周期管理。通過將數(shù)據(jù)集成任務(wù)統(tǒng)一到單一平臺中,可以不需要設(shè)計和部署的不同的階段的單獨的軟件產(chǎn)品。
體系結(jié)構(gòu)5200可以包括GUI/工具框架5202、智能自動化層5203、一個或多個客戶端5204、API 5208、核心服務(wù)5210、產(chǎn)品功能服務(wù)5212、元數(shù)據(jù)服務(wù)5222、元數(shù)據(jù)知識庫5224、具有組件運行時5220和連接器5218的一個或多個運行時引擎5214。體系結(jié)構(gòu)5200可以部署在面向服務(wù)的體系結(jié)構(gòu)5201上,如上文所描述的任何面向服務(wù)的體系結(jié)構(gòu)2400上。
存儲在元數(shù)據(jù)知識庫5224中的元數(shù)據(jù)模型在整個系統(tǒng)中在從設(shè)計到部署的進(jìn)程的每一步驟中提供了數(shù)據(jù)的通用內(nèi)部表示。模型可以在可以被其他系統(tǒng)組件訪問的目錄中注冊。通用模型可以提供很多套件范圍內(nèi)的項目的通用表示形式(所有產(chǎn)品功能服務(wù)所共有),包括元數(shù)據(jù)(包括數(shù)據(jù)概貌信息的數(shù)據(jù)描述性數(shù)據(jù))、數(shù)據(jù)集成進(jìn)程規(guī)范、用戶、機器和軟件配置等等。這些通用模型可以實現(xiàn)企業(yè)資源和集成進(jìn)程的公共用戶視圖,無論用戶正在使用什么產(chǎn)品功能,并可以不必在集成的產(chǎn)品功能之間進(jìn)行模型轉(zhuǎn)換。
面向服務(wù)的體系結(jié)構(gòu)(SOA)5201被顯示為包含所有服務(wù),并可以用于通過運行時引擎5214和到計算環(huán)境的連接5218從GUI5202協(xié)調(diào)所有服務(wù)??梢源鎯υ谠獢?shù)據(jù)知識庫5224中的通用模型,可以允許SOA 5201在多個服務(wù)之間無縫地提供交互。SOA 5201可以通過使用公用核心服務(wù)5210、生產(chǎn)功能服務(wù)5212,以及元數(shù)據(jù)服務(wù)5222,將GUI 5202暴露給數(shù)據(jù)集成設(shè)計和部署的所有方面,并可以通過智能自動化層5203進(jìn)行操作。通用模型和服務(wù)可以允許對象在GUI 5202中有通用表示形式,以便在設(shè)計和部署進(jìn)程中執(zhí)行不同的操作。GUI 5202可以具有與SOA 5201協(xié)調(diào)的服務(wù)連接的多個客戶端5204??蛻舳?204可以允許用戶與具有多個技能級別的數(shù)據(jù)集成設(shè)計連接,允許用戶作為團(tuán)隊跨組織上的適當(dāng)?shù)募墑e進(jìn)行工作。SOA 5201可以提供對公用核心服務(wù)5210和產(chǎn)品功能服務(wù)5212的訪問,以及為數(shù)據(jù)集成設(shè)計中的功能和服務(wù)提供對API 5208的后端支持。服務(wù)可以被多個客戶端5204及其他服務(wù)共享和重復(fù)使用。
智能自動化層5203可以使用體系結(jié)構(gòu)5200內(nèi)的元數(shù)據(jù)和服務(wù)來簡化GUI 5202內(nèi)的用戶選擇,如通過只顯示相關(guān)的用戶選擇,或自動化通用、時常發(fā)生的和/或顯而易見的操作。智能自動化層5203可以自動地生成某些作業(yè),診斷設(shè)計和設(shè)計選擇,以及協(xié)調(diào)性能。智能自動化層5203還可以支持較高級別的設(shè)計范例,如工作流管理或業(yè)務(wù)上下文的模型化,并可以更一般地應(yīng)用項目或其他上下文識別,以協(xié)助用戶更快速而有效地實現(xiàn)數(shù)據(jù)集成解決方案。
公用核心服務(wù)5210可以提供通用功能服務(wù),這些通用功能服務(wù)通??梢钥鐢?shù)據(jù)集成解決方案的設(shè)計和部署的所有方面,如一個或多個通用注冊表的目錄服務(wù),日志記錄和審核服務(wù)、監(jiān)視、事件管理、事務(wù)服務(wù)、安全、授權(quán)(如創(chuàng)建和實施授權(quán)策略并與外部授權(quán)服務(wù)通信,提供,以及管理SOA服務(wù)。公用核心服務(wù)可以允許功能和對象通用表示形式為通用GUI 5202。
其他產(chǎn)品特定功能服務(wù)可以包含在產(chǎn)品功能服務(wù)5212中,并可以提供服務(wù)給特定適當(dāng)?shù)目蛻舳?204和服務(wù)。這些可以包括,導(dǎo)入和瀏覽外部元數(shù)據(jù),以及壓型、分析,和生成報告。其他功能可以是更加面向設(shè)計的,如用于設(shè)計、編譯、部署、并且通過體系結(jié)構(gòu)運行數(shù)據(jù)集成服務(wù)的服務(wù)。產(chǎn)品功能服務(wù)5212在使用適當(dāng)?shù)娜蝿?wù)時可以被GUI 5202訪問,并可以提供面向任務(wù)的GUI 5202。面向任務(wù)的GUI可以只給用戶呈現(xiàn)適用于數(shù)據(jù)集成設(shè)計中的操作的功能。
應(yīng)用程序編程接口(API)5208可以提供編程接口,用于訪問完全的體系結(jié)構(gòu),包括服務(wù)、知識庫、引擎,以及連接器中的任何一種或全部。API 5208可以包含由不同的服務(wù)使用的和/或從不同的服務(wù)創(chuàng)建的通常使用的功能庫,并可以被遞歸地調(diào)用。
元數(shù)據(jù)和知識庫服務(wù)5222可以控制對元數(shù)據(jù)知識庫5224的訪問。所有功能都可以使由其自己的功能特定的模型代表的元數(shù)據(jù)保存在元數(shù)據(jù)知識庫5224中的通用知識庫中。功能可以共享通用模型,或使用元數(shù)據(jù)映射以動態(tài)地在它們的相應(yīng)的模型之間轉(zhuǎn)換語義。在數(shù)據(jù)集成設(shè)計中使用的所有內(nèi)部元數(shù)據(jù)和數(shù)據(jù)可以存儲在元數(shù)據(jù)知識庫5224中,對外部元數(shù)據(jù)和數(shù)據(jù)的訪問可以由存儲在元數(shù)據(jù)知識庫5224中的套節(jié)(元數(shù)據(jù)模型)提供,并由元數(shù)據(jù)和知識庫服務(wù)5222進(jìn)行控制。元數(shù)據(jù)和元數(shù)據(jù)模型可以存儲在元數(shù)據(jù)知識庫5224,元數(shù)據(jù)和知識庫服務(wù)5222可以維護(hù)元數(shù)據(jù)版本控制、持久性,元數(shù)據(jù)和元數(shù)據(jù)模型的簽入和簽出,由用戶創(chuàng)建的臨時元數(shù)據(jù)在與其他元數(shù)據(jù)一致之前的知識庫空間。元數(shù)據(jù)和知識庫服務(wù)5222可以向多個服務(wù)、GUI 5202、內(nèi)部客戶端5204和使用知識庫套節(jié)的外部客戶端提供對元數(shù)據(jù)知識庫5224的訪問。其他服務(wù)和客戶端5204對元數(shù)據(jù)知識庫5224的訪問可以允許元數(shù)據(jù)被由SOA 5201協(xié)調(diào)的無縫事務(wù)中的其他服務(wù)訪問、轉(zhuǎn)換、組合、凈化和查詢。
運行時引擎5214(可以有多個)可以使用適配器和連接5218來與外部源進(jìn)行通信。引擎5214可以暴露于由用戶創(chuàng)建的設(shè)計,以基于計算環(huán)境創(chuàng)建編譯的和部署的解決方案。運行時引擎5214可以給計算機環(huán)境提供晚期綁定,并可以給用戶提供獨立于計算機環(huán)境考慮而設(shè)計數(shù)據(jù)集成解決方案的能力。運行時引擎5214可以編譯數(shù)據(jù)集成解決方案,并為高吞吐量或高并行性提供適當(dāng)?shù)牟渴鸬倪\行時。服務(wù)可以作為J2EE結(jié)構(gòu)從提供對界面和各種服務(wù)的使用規(guī)范的訪問的注冊表進(jìn)行部署。服務(wù)可以支持多個協(xié)議,如HTTP、Corba/RMI、JMS、JCA等等,可與異構(gòu)硬件和軟件環(huán)境一起使用。與這些協(xié)議的綁定可以由運行時引擎5214自動地選擇,或由用戶手動從GUI5202作為部署進(jìn)程的一部分進(jìn)行選擇。
外部連接器5218可以提供對網(wǎng)絡(luò)或其他外部資源的訪問,并為多執(zhí)行引擎及其他轉(zhuǎn)換執(zhí)行環(huán)境(如Java或存儲過程)提供對外部資源的共同訪問點。
應(yīng)該理解,可以提供另外的功能層,以幫助選擇和使用各種運行時引擎5214。這在提供對高吞吐量或高并行性部署的支持時特別有用。例如,運行時引擎5214可以包括事務(wù)引擎,用于對潛在地?zé)o限制的長度的比較大的事務(wù),以及連續(xù)的實時事務(wù)流進(jìn)行分析。運行時引擎5214還可以包括并行性引擎,用于處理小的獨立的事務(wù)。并行性引擎可以用于接收已經(jīng)分成管道化的或以別的方式分區(qū)的流的預(yù)處理的輸入(和輸出)。作為另一個示例,可以優(yōu)化并行性運行時引擎5214,以迅速響應(yīng)交互需求,如大量的小的獨立的事務(wù)。編譯和優(yōu)化層可以確定如何在這些各種引擎分配集成進(jìn)程,如通過將到并行性引擎的輸出預(yù)處理為小的塊。通過將連接器集中在體系結(jié)構(gòu)內(nèi),可以更緊密地控制進(jìn)程在各種引擎之間的分配,并在用戶界面級別提供對此控制的可訪問性。此外,轉(zhuǎn)換進(jìn)程中的連接的通用中間表示形式允許部署任何自動化策略,選擇執(zhí)行引擎的不同的組合,以及基于元數(shù)據(jù)或壓型的優(yōu)化。
這里所描述的體系結(jié)構(gòu)5200向用戶的工作環(huán)境提供了高度的靈活性和可自定義性。這可以用于圍繞現(xiàn)有的或計劃的工作流和設(shè)計進(jìn)程配置用戶環(huán)境。用戶可以通過構(gòu)建組件并將它們組合為合成物,創(chuàng)建特定功能服務(wù),而合成物又可以作為組件,允許在設(shè)計新組件時模塊性的遞歸嵌套。組件和合成物可以利用由元數(shù)據(jù)和知識庫服務(wù)5222提供的訪問權(quán)限存儲在元數(shù)據(jù)知識庫5224中。元數(shù)據(jù)和知識庫服務(wù)5222可以給公用數(shù)據(jù)定義提供具有多個服務(wù)的公用接口,并可以為原始數(shù)據(jù)格式和工業(yè)標(biāo)準(zhǔn)格式提供支持。這里所描述的體系結(jié)構(gòu)的模塊化特性允許將任何企業(yè)功能或集成進(jìn)程封裝到一個程序包中,其中具有從公用核心服務(wù)5210產(chǎn)品功能服務(wù)5212中選擇的組件,以及總體體系結(jié)構(gòu)的其他組件。可以作為公用核心服務(wù)5212提供從系統(tǒng)組件制作程序包的能力。通過此封裝功能,可以構(gòu)建任何功能,假設(shè)它能夠作為原子服務(wù)、組件,以及已經(jīng)在體系結(jié)構(gòu)5200內(nèi)的合成物的組合來表達(dá)。體系結(jié)構(gòu)5200的封裝能力可以與用戶界面的任務(wù)定向相結(jié)合,以取得用戶希望的專門適應(yīng)任何工作流或設(shè)計方法學(xué)的用戶界面。
圖52A顯示了作為若干個任務(wù)定義用戶界面的任務(wù)矩陣,任務(wù)可以是上文所描述的功能、服務(wù)、或程序包中的一個。優(yōu)選情況下,用戶界面可以與基礎(chǔ)功能分離,以便保持設(shè)計靈活性。在這樣的體系結(jié)構(gòu)中,由工作流決定的任務(wù)可以組織在任務(wù)矩陣5250內(nèi),任務(wù)矩陣被解釋為向用戶提供接口。任務(wù)矩陣5250可以包括一個或多個上下文5252,每一個上下文都包括許多任務(wù)5254以及許多菜單5256(下面界面中描述的“柱”)。
一個或多個上下文5252可以涉及菜單內(nèi)的任務(wù)的許多不同的呈現(xiàn)方式。通過使用許多單獨地定義的上下文,界面可以設(shè)計有各種可選呈現(xiàn)方式,如技能級別敏感的呈現(xiàn)或安全級別敏感的呈現(xiàn)。一般而言,通過提供許多可選上下文,在任務(wù)矩陣5250內(nèi)實現(xiàn)了另外的設(shè)計靈活性。這可以在許多方面使用。作為示例,衛(wèi)生保健提供商和保險公司可以根據(jù)諸如HIPAA之類的管理方案負(fù)責(zé)維護(hù)內(nèi)部記錄以及以特定方式與其他人進(jìn)行事務(wù)處理。在此情況下,提供商和保險公司可以共同地具有許多任務(wù),如對個人標(biāo)識信息進(jìn)行加密或使用由提供商向保險公司發(fā)送的對支付的請求的通用格式。保險公司和提供商的數(shù)據(jù)集成進(jìn)程可以共同地共享大量的任務(wù),同時也需要重大的區(qū)別。兩個上下文5252可以被提供商和保險公司用來根據(jù)更一般的符合HIPAA的接口定義,基于相同的通用任務(wù)組,定義兩個不同的工作流。
每一個任務(wù)5254都可以是任意數(shù)量的用戶定義的任務(wù)或由系統(tǒng)提供的通用任務(wù)、功能、服務(wù)等等,或涉及工作流的合并到單一的有用的任務(wù)的這樣的任務(wù)、功能、和/或服務(wù)的組合。任務(wù)5254還可以包括在界面內(nèi)有用的對話框、向?qū)?,幫助窗口或與它們關(guān)聯(lián)。可以預(yù)先定義任務(wù)矩陣5250中標(biāo)識的任務(wù)5254,例如,它們在界面內(nèi)的位置,與界面的某些控制區(qū)域的關(guān)聯(lián),與任務(wù)關(guān)聯(lián)的控件、輸入,和輸出等等。如此,只需指出任務(wù)在任務(wù)矩陣5250中的存在,即可通過用戶界面訪問任務(wù)??蛇x地,每一個任務(wù)5254和菜單5256的交叉都可以包括涉及任務(wù)5254的發(fā)生的一個或多個規(guī)范。如此,任務(wù)矩陣5250可以指定可視元素、控件、位置、輸入、輸出、技能級別的參數(shù)等等。
每一個菜單項5256都可以對應(yīng)于工作流的階段。使用任務(wù)矩陣5250,在用戶環(huán)境內(nèi)的適當(dāng)?shù)奈恢?,可以實現(xiàn)工作流的相關(guān)任務(wù)。
要進(jìn)一步幫助迅速部署基于工作流的界面設(shè)計,用戶界面本身可以被定義為可視樣式、控件、控制面板、工作空間、工具、向?qū)?、對話框、等等的集合。同時,任務(wù)可以被定義為面向服務(wù)的體系結(jié)構(gòu)的服務(wù)。如此,通過使用任務(wù)矩陣5250,菜單項5256的任意組合(每一個都具有一個或多個支持任務(wù)5254),可以方便地將任何數(shù)據(jù)集成或其他工作流表達(dá)為導(dǎo)航方法。
優(yōu)選情況下,界面可以操作公用數(shù)據(jù)集,以致于在工作流的各個階段(即,菜單),以及一個階段內(nèi)的各個任務(wù)之間變化是持續(xù)的。每一個任務(wù)5254和每一個菜單5256都可以代表同一個數(shù)據(jù)集上的不同的功能角度。如此,體系結(jié)構(gòu)可以比現(xiàn)有的基于應(yīng)用程序的環(huán)境提供顯著的改進(jìn),其中,對于工作流的不同的階段,工作流將數(shù)據(jù)從一個應(yīng)用程序傳遞到另一個應(yīng)用程序。作為再一個優(yōu)點,可以由用戶根據(jù)個人偏愛或設(shè)計問題來修改任務(wù)矩陣5250本身。用于修改任務(wù)矩陣5250的工具可以作為服務(wù)暴露,并可由用戶通過用戶界面或充當(dāng)面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的客戶端的其他工具來進(jìn)行訪問。
盡管已經(jīng)標(biāo)識了用于將任務(wù)組織到工作流內(nèi)的特定結(jié)構(gòu),但是,應(yīng)該理解,可以使用任意數(shù)量的數(shù)據(jù)結(jié)構(gòu)或其他存儲機制來存儲、檢索、和修改用戶界面的定義,應(yīng)該進(jìn)一步理解,可以在各個特征的級別,根據(jù)靈活性和設(shè)計的情況之間的所需要的平衡,定義用戶界面本身的體系結(jié)構(gòu)。
請參看圖53,顯示了GUI 5202的比較詳細(xì)的示意圖,提供了對多個的用戶技能級別和通用設(shè)計庫5300交互的理解。GUI 5202可以與整個系統(tǒng)的基礎(chǔ)功能分離,特別是與體系結(jié)構(gòu)的其他方面以及元數(shù)據(jù)知識庫5224中的元數(shù)據(jù)模型和設(shè)計分離。在這樣的“分離的”設(shè)計中,體系結(jié)構(gòu)的所有功能都可以作為服務(wù)呈現(xiàn)給用戶界面。用戶界面又可以提供通用低級別工具組,以及用戶控件,用于訪問這些服務(wù)。此方法允許對于界面或者基礎(chǔ)系統(tǒng)的相對簡單的擴(kuò)展性,并可以為數(shù)據(jù)集成進(jìn)程的所有級提供無縫的工作環(huán)境。在新工作流或不同的用戶出現(xiàn)的情況下,可以相應(yīng)地修改界面,而不會影響現(xiàn)有模型和數(shù)據(jù)集成作業(yè)或進(jìn)程。在開發(fā)了新服務(wù)或模型的情況下,可以將它們添加到面向服務(wù)的體系結(jié)構(gòu)中,無需修改用戶界面(當(dāng)然,除非需要不同的用戶界面)。
GUI 5202體系結(jié)構(gòu)可以提供系統(tǒng)的備選視圖,如針對技能相對較低的用戶的界面,該界面為用戶提供控件和組件,以對設(shè)計5304進(jìn)行操縱,無需詳細(xì)了解系統(tǒng)體系結(jié)構(gòu)或元數(shù)據(jù)模型。另一個較高的技能級別的用戶界面,在對相同元數(shù)據(jù)模型進(jìn)行操作時,可以提供對模型設(shè)計的比較詳細(xì)的控制。較高技能級別的GUI可以提供對更多功能和更大的自定義的訪問。類似地,GUI 5202可以提供備選角色敏感的視圖,這些視圖可以按動作來進(jìn)行定義,如監(jiān)視、部署,以及操作控制,或按職業(yè)來進(jìn)行定義,如導(dǎo)演、軍官、高級管理人員、經(jīng)理、分析師、會計、工程師等等。角色也可以分層次地進(jìn)行定義,如,高級管理人員可以分類為總裁、副總裁、等等,或者分析師是市場分析師、商業(yè)分析師、財務(wù)分析師等等。作為另一個示例,GUI 5202可以提供平臺敏感的視圖,如專門適用于移動設(shè)備的用戶界面,或比較專門適用于來自Research In Motion Limited的BlackBerry 7730或來自Dell Inc.的Axim X30。更具體來說,可以針對使用膝上型計算機的技術(shù)人員,或針對使用Motorola蜂窩電話的公司的官員,定義任務(wù)矩陣。每一個用戶配置文件都可以作為分離的任務(wù)矩陣來實現(xiàn),所有的都對通用、共享元數(shù)據(jù)模型進(jìn)行操作。
GUI 5202可以為設(shè)計方案的所有方面提供集成的用戶環(huán)境,從設(shè)計的開始到最后的部署,無需其他外部工具。GUI 5202可以向所有用戶級別提供通用功能,如目錄管理、搜索、查詢、導(dǎo)航、人格化、腳本、持久性,或其他與數(shù)據(jù)集成解決方案5304的設(shè)計關(guān)聯(lián)的其他任務(wù)。用戶可以使用技能特定的或角色特定的用戶界面功能來訪問數(shù)據(jù)集成設(shè)計方案5304。針對多個設(shè)計能力的復(fù)雜性級別,可以有不同的用戶視圖5302。作為示例,在許多數(shù)據(jù)集成設(shè)計方案5304中,具有各種不同技能的來自各種不同單位的用戶可以一起組成一個團(tuán)隊,以開發(fā)單一的設(shè)計方案5304。GUI 5202可以是可配置的,以允許不同技能的用戶處理適用于他們專業(yè)領(lǐng)域的功能和服務(wù)。體系結(jié)構(gòu)5200可以允許這樣的團(tuán)隊就相同的元數(shù)據(jù)、模型和設(shè)計進(jìn)行協(xié)作,因為實時模型對所有用戶是共有的,當(dāng)不同的團(tuán)隊成員作出更改時,提供全局性的可見度。
不管用戶技能級別如何,用戶視圖5302都可以暴露于通用功能庫和設(shè)計向?qū)?300,供創(chuàng)建設(shè)計方案5304的各式各樣的用戶使用。庫和設(shè)計向?qū)?300功能可以基于用戶視圖5302技能級別提供訪問,并可以基于技能級別限制可用的功能。用戶視圖5302可以允許利用對元數(shù)據(jù)和模型的共享訪問進(jìn)行團(tuán)隊協(xié)作。
可以利用數(shù)據(jù)集成設(shè)計方案5304的面向任務(wù)和上下文的指導(dǎo)來對用戶視圖5302加以組織。隨著數(shù)據(jù)集成設(shè)計變得更加復(fù)雜,在用戶對設(shè)計方案5304進(jìn)行處理時,提供面向任務(wù)的選項是有益的。作為示例,如果用戶正在開發(fā)查詢,可以顯示出可用的查詢?nèi)蝿?wù)選項,以在對查詢進(jìn)行適當(dāng)?shù)脑O(shè)計時引導(dǎo)用戶。隨著添加或修改設(shè)計的不同方面,可以有適當(dāng)?shù)纳舷挛墓δ芎头?wù)變得對用戶可用,以幫助引導(dǎo)用戶設(shè)計出健壯的設(shè)計方案5304。作為示例,用戶可以向設(shè)計中添加數(shù)據(jù)源組件,界面可以顯示出任何適當(dāng)元數(shù)據(jù)目錄、導(dǎo)入、樣本數(shù)據(jù)和數(shù)據(jù)剖析功能。此外,可用的目錄只能顯示已經(jīng)與當(dāng)前設(shè)計關(guān)聯(lián)的數(shù)據(jù)源。還可以給用戶顯示出已經(jīng)使用了相同數(shù)據(jù)源的其他數(shù)據(jù)集成設(shè)計,如此,用戶可以重復(fù)使用其他設(shè)計方面。
在對設(shè)計方案5304進(jìn)行處理時,可以限制用戶視圖5302顯示設(shè)計的某些詳細(xì)信息,以使設(shè)計方案5304在視覺上不是那么太復(fù)雜。用戶可以隱藏或暴露設(shè)計的多個層次,允許用戶將精力只集中于當(dāng)時正在處理的設(shè)計方面,如模型、聚合和關(guān)聯(lián)、業(yè)務(wù)進(jìn)程、控制流程、數(shù)據(jù)訪問、錯誤處理或設(shè)計的其他方面。
圖53的方面可以適用于使用多個資源(內(nèi)部和外部的)的具有多個開發(fā)站點的企業(yè)環(huán)境。用戶視圖可以處理來自多個地理位置的具有諸如模型化、分析、開發(fā)、測試、操作之類的事務(wù)的設(shè)計方案,管理員位于不同的位置。圖53的如上所述的所有方面都可以在遠(yuǎn)程位置可用。
圖54顯示了UML圖表,該圖表描述了SOA的角色和關(guān)系。SOA客戶端5412可以通過服務(wù)目錄5418查找和實例化服務(wù)5414。每一個服務(wù)5414都可以使用其他服務(wù)5414作為它們的實施方案的一部分,包括諸如組件服務(wù)5420之類的公用的共享服務(wù)。組件服務(wù)5420可以作為在設(shè)計時可以使用的服務(wù)來暴露任何外部資源連接器,如數(shù)據(jù)庫、文件、應(yīng)用程序、隊列等等。
客戶端5412代表了充當(dāng)服務(wù)5414的客戶端的編程或用戶界面的一般化。進(jìn)程設(shè)計師5402可以提供圖形用戶界面或編程訪問,用于操縱模型或進(jìn)程。API 5410可以為外部程序提供應(yīng)用程序編程接口,以訪問服務(wù)5414,服務(wù)5414可以是由上文所描述的體系結(jié)構(gòu)5200提供的任何服務(wù)5414。向?qū)?408可以提供設(shè)計步驟的預(yù)先封裝的集合,這些設(shè)計步驟可以創(chuàng)建元數(shù)據(jù)模型或執(zhí)行集成任務(wù)的最常發(fā)生的集合。編譯器5404可以提供到編譯和運行時服務(wù)或其他部署服務(wù)的接口。這些特定的接口中的每一個,以及任意數(shù)量的其他接口或這些接口的組合,可以充當(dāng)用于在上文所描述的體系結(jié)構(gòu)5200內(nèi)執(zhí)行操作的服務(wù)5414的客戶端5412。
每一個服務(wù)5414都可以是遞歸的第一個服務(wù)可以使用第二個服務(wù),或其本身的另一個實例,而第二個服務(wù)又可以使用第三個服務(wù)或其本身的另一個實例,依次類推。使用服務(wù)的其他組合的遞歸的或嵌套的服務(wù)結(jié)構(gòu)一般而言對客戶端5412是透明的。一般而言,體系結(jié)構(gòu)5200內(nèi)的每一個產(chǎn)品功能,以及服務(wù)5414的組合,都可以分解為服務(wù),供客戶端5412使用。暴露于客戶端5412的服務(wù)5412可以是公用核心服務(wù)5210、產(chǎn)品功能服務(wù)5212、元數(shù)據(jù)和知識庫服務(wù)5222的一部分,或可以編目在服務(wù)目錄5418中的任何其他服務(wù)。
客戶端5412可以通過服務(wù)目錄5418查找和實例化服務(wù)5414。一旦實例化了服務(wù)5412,它就可以在設(shè)計中使用了。在UML圖表中可以看出,可以有服務(wù)目錄5418與服務(wù)5414的一對多的關(guān)系,服務(wù)5414從服務(wù)目錄5418接收信息。作為示例,客戶端5412可以請求沒有被實例化的服務(wù)5412。請求可以傳遞到服務(wù)目錄5418,而服務(wù)目錄5418可以實例化服務(wù)5414,并將服務(wù)5414暴露給客戶端5412。此進(jìn)程也可以實例化輔助服務(wù),如由正在被實例化的服務(wù)5414使用的服務(wù)。
組件服務(wù)5420可以提供對單個組件的功能的訪問,可以作為服務(wù)5414暴露外部資源,如數(shù)據(jù)庫、文件、應(yīng)用程序、隊列、元數(shù)據(jù),或其他可用資源。這些暴露的外部資源可以在設(shè)計時作為服務(wù)5414對用戶可用(通過進(jìn)程設(shè)計師5402),并在運行時對運行時引擎可用。此外,通過組件服務(wù)5420和連接器5218,外部資源可以對SOA體系結(jié)構(gòu)5200內(nèi)的服務(wù)進(jìn)行訪問。
請參看圖55,SOA 5201環(huán)境的示意圖顯示了SOA 5201如何與其他體系結(jié)構(gòu)5200客戶端和服務(wù)進(jìn)行連接。SOA 5201的核心可以是服務(wù)綁定5512、SOA基礎(chǔ)架構(gòu)5514,以及服務(wù)實施5518。服務(wù)綁定5512可以允許將諸如GUI 5508、應(yīng)用程序5504、腳本編排5502、管理框架5500之類的客戶端,及其他客戶端綁定到可以是SOA 5201內(nèi)部的或外部的服務(wù)。被綁定的服務(wù)可以是公用核心服務(wù)5520的一部分,服務(wù)綁定5512可以訪問服務(wù)描述注冊表5510,以實例化服務(wù)。服務(wù)綁定5512可以使客戶端得以使用那些可以是使用相同或不同的技術(shù)的本地或外部的服務(wù)。與外部服務(wù)的綁定可以暴露外部服務(wù),它們也可以以與內(nèi)部服務(wù)相同的方式被調(diào)用。與服務(wù)的通信可以是同步的,也可以是異步的,可以使用不同的通信路徑,可以是有狀態(tài)的,也可以是無狀態(tài)的。服務(wù)綁定5512可以為多個協(xié)議(如,HTTP、CORBA/RMI、JMS或JCA)提供支持。服務(wù)綁定5512可以根據(jù)計算機環(huán)境自動地為服務(wù)綁定確定適當(dāng)?shù)膮f(xié)議,用戶也可以作為設(shè)計方案5304的一部分從GUI 5508中選擇協(xié)議。
管理框架5500客戶端可以提供安裝、暴露、編目、配置、監(jiān)視,以及以別的方式管理SOA的設(shè)施。管理框架5500可以通過連接,或內(nèi)部或外部元數(shù)據(jù)中的元數(shù)據(jù),提供對客戶端、內(nèi)部服務(wù)、外部服務(wù)的訪問。
編排客戶端5502可以通過將多個SOA 5201服務(wù)合成為一個設(shè)計方案5304,使得設(shè)計多個復(fù)雜的產(chǎn)品功能和工作流成為可能。服務(wù)可以從公用核心服務(wù)5520、內(nèi)部服務(wù)5524的外部服務(wù)、內(nèi)部進(jìn)程5528,或用戶定義的服務(wù)5522合成而來。SOA 5201的編排是在企業(yè)環(huán)境中提供統(tǒng)一的數(shù)據(jù)集成設(shè)計的功能的核心??蛻舳?、核心服務(wù)、元數(shù)據(jù)知識庫服務(wù)、部署引擎,以及外部服務(wù)和元數(shù)據(jù)之間的編排使得設(shè)計符合各種各樣的企業(yè)需求。統(tǒng)一的方法提供了將企業(yè)設(shè)計的整個套件綁定在一起的體系結(jié)構(gòu),可以提供能夠無縫地呈現(xiàn)整個設(shè)計進(jìn)程的單一的GUI 5508,直到部署設(shè)計方案5304完成。
應(yīng)用程序客戶端5504可以通過允許服務(wù)根據(jù)需要調(diào)用通用功能,以編程方式向SOA 5201協(xié)調(diào)的服務(wù)提供另外的功能。應(yīng)用程序客戶端5504的功能可以通過允許服務(wù)調(diào)用功能,并應(yīng)用它們,好像它們是服務(wù)的一部分,提高了SOA 5201的服務(wù)的能力。GUI客戶端5508通過允許SOA 5201服務(wù)和資源被用圖形方式顯示和操縱,提供這些服務(wù)和資源的用戶界面。在上文的圖53的描述中,比較全面地描述了GUI 5508。
SOA基礎(chǔ)架構(gòu)5514可以是基于J2EE的,并可以提供允許獨立于部署環(huán)境開發(fā)服務(wù)的設(shè)施。SOA基礎(chǔ)架構(gòu)5514可以提供支持部署環(huán)境的另外的功能,如資源匯聚、截取、序列化、負(fù)載平衡、事件監(jiān)聽,以及監(jiān)視。SOA基礎(chǔ)架構(gòu)5514可以訪問計算環(huán)境,并可以影響對GUI 5508可用的服務(wù),可以支持上下文定向的GUI 5508。
SOA基礎(chǔ)架構(gòu)5512可以使用enterprise Java bean(EJB)和實時集成(RTI)提供資源匯聚。資源匯聚可以允許多個并行的服務(wù)實例共享少量的資源(內(nèi)部和外部的)。
SOA基礎(chǔ)架構(gòu)可以提供許多有用的工具和特點。截取可以用于插入加密、壓縮、跟蹤、監(jiān)視及其他管理工具,這些管理工具對服務(wù)可以是透明的,并將這些服務(wù)報告給客戶端及其他服務(wù)。序列化和非序列化可以提供跨多個調(diào)用協(xié)議和跨不同的技術(shù)的復(fù)雜的服務(wù)請求和數(shù)據(jù)傳輸支持。負(fù)載平衡可以允許多個服務(wù)實例跨多個服務(wù)器地分布。負(fù)載平衡可以支持高并行性處理或高吞吐量處理,訪問多個服務(wù)器上的一個或多個處理器。事件監(jiān)聽和生成可以允許基于觀察到的外部事件來調(diào)用服務(wù)。這可以允許基于第一個服務(wù)的功能,以及如果產(chǎn)生了指定的條件,調(diào)用第二個服務(wù)。事件監(jiān)聽還可以支持回調(diào)功能,指定可以使用與前面調(diào)用時的相同標(biāo)識符來調(diào)用某個服務(wù)。
服務(wù)描述注冊表5510可以是維護(hù)了所有接口以及所有其他服務(wù)的使用規(guī)范的服務(wù)。服務(wù)描述注冊表5510可以提供查詢和選擇服務(wù),以創(chuàng)建服務(wù)的實例、綁定,以及協(xié)議,以與設(shè)計方案5304一起使用。作為示例,服務(wù)的實例可以被客戶端或其他服務(wù)請求到SOA5201,在那里,SOA 5201將請求查詢或選擇被調(diào)用的服務(wù)。然后,服務(wù)描述注冊表5510可以返回服務(wù)的實例,供服務(wù)綁定5512進(jìn)行綁定,然后可以在設(shè)計方案5304中使用。
公用核心服務(wù)5520可以包含多個服務(wù),這些服務(wù)可以被調(diào)用,以創(chuàng)建設(shè)計方案5304和運行時部署的解決方案。公用核心服務(wù)5520可以包含設(shè)計方案5304的所有通用服務(wù),因此,使其他服務(wù)免除必須維護(hù)這些服務(wù)本身的能力。服務(wù)本身可以調(diào)用根據(jù)需要調(diào)用公用核心服務(wù)5520內(nèi)的其他服務(wù),以完成設(shè)計方案5304。多個客戶端可以訪問通過服務(wù)綁定5512、SOA基礎(chǔ)架構(gòu)5514和服務(wù)描述注冊表5510訪問公用核心服務(wù)5520。公用核心服務(wù)還可以被外部服務(wù)通過元數(shù)據(jù)知識庫服務(wù)5222和SOA基礎(chǔ)架構(gòu)5514進(jìn)行訪問。
另外的外部服務(wù)可以通過服務(wù)實施5518訪問由SOA基礎(chǔ)架構(gòu)5512支持的任何環(huán)境。服務(wù)實施可以通過使用適配器和連接器5218提供對外部服務(wù)的訪問。通過服務(wù)實施5518,服務(wù)5524可以由其他軟件產(chǎn)品提供的特定產(chǎn)品功能,供開發(fā)設(shè)計方案5304。這些服務(wù)5524可以提供調(diào)查、設(shè)計、開發(fā)、測試、部署、操作、監(jiān)視、調(diào)整或其他功能。作為示例,服務(wù)5524可以執(zhí)行數(shù)據(jù)集成作業(yè),并可以訪問SOA 5201的元數(shù)據(jù)、元模型或服務(wù)。
服務(wù)實施5518可以為進(jìn)程5528提供對利用其他工具創(chuàng)建的并作為服務(wù)暴露到SOA基礎(chǔ)架構(gòu)5514的集成進(jìn)程。其他工具的用戶可能已經(jīng)創(chuàng)建了這些集成進(jìn)程,這些進(jìn)程可以作為服務(wù)暴露給SOA5201和客戶端。
服務(wù)實施5518還可以提供對用戶定義的服務(wù)5522的訪問,這些服務(wù)可以允許用戶定義或創(chuàng)建他們自己的自定義進(jìn)程,并作為SOA服務(wù)暴露它們。作為SOA服務(wù)暴露用戶定義的服務(wù)5522允許它們暴露給SOA 5201的所有客戶端和服務(wù)。
圖56描述了工具5604、舊式工具5602,以及外部工具5600與知識庫服務(wù)5222的交互。知識庫服務(wù)5222可以提供服務(wù),以便內(nèi)部工具5604、舊式舊式工具5602,和/或外部工具5600訪問元數(shù)據(jù)模型。這些服務(wù)中的每一個服務(wù)都可以在由知識庫服務(wù)5224維護(hù)的知識庫空間中維護(hù)元數(shù)據(jù)或元模型。知識庫服務(wù)5224可以通過到語義套節(jié)5614的模型映射(由箭頭表示)提供不同的工具訪問其他元數(shù)據(jù)的功能。
在體系結(jié)構(gòu)5200中,工具5604使用它們的工作元數(shù)據(jù)的不同的模型,可以存儲在由知識庫服務(wù)5222提供的知識庫5224中。知識庫5224可以存儲工具特定的模型、元數(shù)據(jù)模型,以及可以由SOA5201的多個服務(wù)共享的通用模型。工具5604可以通過SOA 5201訪問知識庫5224,并可以為設(shè)計方案5304提供數(shù)據(jù)和元數(shù)據(jù)。在知識庫5224中可以有不同的功能區(qū)域,用于執(zhí)行諸如數(shù)據(jù)剖析、數(shù)據(jù)凈化、設(shè)計方案5304,或其他數(shù)據(jù)集成相關(guān)的操作之類的活動。
知識庫服務(wù)5222可以與舊式工具56025602進(jìn)行交互,并可以維護(hù)舊式模型知識庫5612。舊式模型可以用于元數(shù)據(jù)共存、元數(shù)據(jù)遷移、元數(shù)據(jù)并行的版本,或設(shè)計方案5304的其他元數(shù)據(jù)和模型需求。舊式模型知識庫5612可以由知識庫服務(wù)5222維護(hù),并使用從舊式模型知識庫5612到知識庫5224的映射,舊式工具5602可以作為服務(wù)暴露于工具5604。使用從知識庫5224到舊式工具5612的相同映射,可以將工具作為服務(wù)暴露給舊式工具5602。在舊式模型知識庫5612暴露于知識庫5224和工具5604的情況下,來自舊式模型知識庫5612的元數(shù)據(jù),以及數(shù)據(jù)可以作為并行的元數(shù)據(jù)來維護(hù),或與現(xiàn)有的知識庫元數(shù)據(jù)和解。
知識庫服務(wù)5222可以是用于導(dǎo)入和導(dǎo)出5608元數(shù)據(jù)和外部工具5600的模型的主要服務(wù)??梢詫?dǎo)入外部元數(shù)據(jù)和模型,以創(chuàng)建可以由知識庫服務(wù)5224維護(hù)的外部視圖模型5610。這些外部視圖模型可以暴露于SOA 5201,以用于設(shè)計方案5304和部署。在知識庫服務(wù)5222中,模型可以引用其他模型,并可以允許工具同時訪問多個模型。知識庫和外部知識庫之間的模型引用還可以允許多個工具共享知識庫5224中的相同的元數(shù)據(jù)或模型。
知識庫服務(wù)5222可以使用語義套節(jié)模型來提供對外部視圖模型5610、舊式模型5612的訪問,以及知識庫模型5224對外部工具5600、舊式工具5602和工具5604的訪問。語義套節(jié)模型可以是維護(hù)了外部視圖模型5610、舊式模型5612和知識庫模型5224之間的映射的一致的模型,可以只需要部分映射,以允許工具5604共享元數(shù)據(jù)。通過使用其他系統(tǒng)組件之間的語義套節(jié)模型5614映射,工具5604可以訪問舊式模型5612和外部視圖模型5610,以完成用戶設(shè)計方案5304。語義套節(jié)模型5614映射可以為SOA 5201服務(wù)對外部視圖模型5610進(jìn)行實時的元數(shù)據(jù)分析。工具5604可以訪問舊式模型,并可以支持舊式元數(shù)據(jù)和模型與知識庫5224的共存和遷移到知識庫5224中。工具5604可以與舊式模型5612進(jìn)行交互,并可以作為元數(shù)據(jù)和模型的另外的版本支持它們。舊式模型5612可以遷移到知識庫5224模型中。通過語義套節(jié)模型5614,外部工具5600和舊式工具5602可以通過訪問SOA連接器5218來訪問SOA 5201服務(wù)。
圖57描述了諸如上文所描述的知識庫服務(wù)5222之類的知識庫服務(wù)的體系結(jié)構(gòu)。體系結(jié)構(gòu)可以包括諸如到GUI客戶端,非GUI客戶端,以及服務(wù)的接口5700。體系結(jié)構(gòu)可以進(jìn)一步包括XMI流5702、應(yīng)用程序編程接口5704、導(dǎo)入/導(dǎo)出功能5608、定義和擴(kuò)展功能5710、導(dǎo)航功能5712、查詢功能5714、內(nèi)部分發(fā)、鎖定,以及緩存服務(wù)5708,內(nèi)部持久性和版本控制服務(wù)5718、對象管理服務(wù)5720,以及數(shù)據(jù)庫5722。一般而言,體系結(jié)構(gòu)為各式各樣的用戶和用戶類型提供了對數(shù)據(jù)庫5722中的模型的編程或其他訪問,同時提供了保持模型的歷史和持久性的數(shù)據(jù)庫功能。知識庫服務(wù)5222可以維護(hù)設(shè)計模型,如元模型(即,元數(shù)據(jù)的模型),以及在作業(yè)、服務(wù)或其他功能中執(zhí)行的模型實例。
接口5700和XMI流5702可以在知識庫服務(wù)5222和外部用戶之間以任何合適的格式提供通信。接口5700可以提供編程接口、面向消息的接口,和/或其他用于從外部訪問知識庫服務(wù)5222的接口。例如,XML元數(shù)據(jù)互換(XMI)流5702可以提供標(biāo)準(zhǔn)的、面向消息的用于編碼和傳輸元模型的格式,以及實例文件保存-恢復(fù)-互換格式。XMI流5702可以直接與知識庫服務(wù)5222的導(dǎo)入和導(dǎo)出功能5608進(jìn)行通信。
應(yīng)用程序編程接口(“API”)5704可以從訪問知識庫服務(wù)5222的客戶端接收屬性值和對象ID。API可以包括反射性接口,該接口獨立地維護(hù)了有關(guān)知識庫5222的結(jié)構(gòu)或訪問知識庫5222的接口5700的特點和功能或者兩者的信息。用戶可以使用直接編程接口(例如,Java類)或使用編程接口5704(可能需要較少的有關(guān)知識庫服務(wù)5222的結(jié)構(gòu)的信息和/或可能需要從接口5700獲得較少的有關(guān)正在訪問知識庫服務(wù)的用戶的顯式信息)的反射性特點訪問數(shù)據(jù)庫5722中的元數(shù)據(jù)。例如,應(yīng)用程序編程接口5704可以包括定義和擴(kuò)展功能5710,這些功能檢測和/或描述由已知接口5700用來訪問知識庫服務(wù)5710的模型。應(yīng)用程序編程接口5704還可以包括導(dǎo)航功能5712,這些功能能夠識別由已知GUI(或非GUI)客戶端接口5700提供的導(dǎo)航的結(jié)構(gòu)和特點。使用這些功能5704、5710、5712,知識庫服務(wù)5222可以更好地解釋和響應(yīng)來自具有已知配置的各種接口5700的請求?;蛘?,任何識別模型的客戶端或服務(wù)可以直接訪問從模型定義編譯的任何模型特定的類。
查詢功能5714可以直接為來自諸如GUI、非GUI客戶端,以及服務(wù)之類的接口5700的適當(dāng)?shù)馗袷交恼埱蟊┞吨R庫服務(wù)5222。例如,查詢功能5714可以直接從客戶端和服務(wù)5700接收查詢或更新表達(dá)式,并可以直接用敏感的對象ID回復(fù)。除了查詢功能5714之外,還可以包括諸如搜索之類的其他通常使用的數(shù)據(jù)搜索和更新功能。查詢功能5714可以由被用作數(shù)據(jù)庫5722的任何市場上可買到的關(guān)系數(shù)據(jù)庫來進(jìn)行定義,或可用于存儲知識庫服務(wù)5222內(nèi)的數(shù)據(jù)的任何其他標(biāo)準(zhǔn)或?qū)S械臄?shù)據(jù)庫來進(jìn)行定義。
對象管理服務(wù)5720可以這樣管理數(shù)據(jù)庫5722內(nèi)的數(shù)據(jù)例如,使用對象分發(fā)、鎖定,以及緩存服務(wù)5708來控制對數(shù)據(jù)庫5722的訪問,使用對象持久性和版本服務(wù)5718來管理數(shù)據(jù)庫5722內(nèi)的對象的版本控制及其他相關(guān)特點。例如,持久性和版本控制服務(wù)5718可以利用多個后繼樹枝和自動化或半自動化的合并,支持元模型和模型實例兩者的版本控制。持久性和版本控制服務(wù)5718還可以利用經(jīng)受得住其他系統(tǒng)修訂或升級的實例,支持自定義或用戶定義的模型。作為另一個示例,持久性和版本控制服務(wù)5718可以支持多個并行的模型版本使用。同時,知識庫服務(wù)5222可以諸如根據(jù)MicrosoftSCCI規(guī)范,提供到外部源控制和版本管理系統(tǒng)的接口??缒P鸵每梢允怯谰眯缘?。一般而言,元數(shù)據(jù)服務(wù)可以駐留在知識庫體系結(jié)構(gòu)中的任何層中(數(shù)據(jù)庫和任何核心服務(wù)的上方),并可以為諸如導(dǎo)入的項目之類的元數(shù)據(jù)項目的核對,諸如影響分析之類的分析,變化傳播,以及數(shù)據(jù)譜系,報告和文檔編制,企業(yè)范圍和個人目錄的編目和分類方案,協(xié)作和工作流支持提供功能,以及腳本功能。
數(shù)據(jù)庫5722可以是上文所描述的數(shù)據(jù)源102中的任何一種。可以理解,可以包括操作(例如,運行時)知識庫和設(shè)計知識庫(也被稱為通用知識庫或核心知識庫)的邏輯知識庫,可以靈活地被配置為多個和/或分布式知識庫,包括個人、團(tuán)隊/項目、部門或企業(yè)知識庫,以及集中式或分散式知識庫。此外,知識庫還在不同的知識庫實例之間提供自動化同步。知識庫服務(wù)5222可以包括以對于外部客戶端和服務(wù)5700透明的方式管理知識庫的配置的功能或服務(wù)。
請參看圖58,該圖顯示了描述了組件和合成物模型高級別UML圖表。組件可以是設(shè)計方案5304的細(xì)微的元件,可以包括外部資源,如各種轉(zhuǎn)換和集成。組件可以鏈接為合成物,這些合成物可以作為服務(wù)來暴露,并由SOA 5201來協(xié)調(diào)。如此,這里描述了數(shù)據(jù)集成進(jìn)程中的服務(wù)的基于組件的設(shè)計、或描述。下面將描述組件的元件。
組件可以具有一個定義componentdef 5810,具有至少一個關(guān)聯(lián)的設(shè)計時對象designtime 5814,如級編輯器。取決于設(shè)計要求,可以有多個designtime 5814對象與componentdef 5810關(guān)聯(lián)。componentdef 5810還可以包含多個特性定義對象propertydef5802,這些對象可以指定該組件的特性的名稱和類型。
為支持靈活的解決方案開發(fā),體系結(jié)構(gòu)5200支持抽象的和具體的組件兩種組件。抽象組件可以支持靈活的增量開發(fā),并可以代表只具有部分規(guī)范的對象。abstractcomponentdef 5820可以代表特定類型的抽象組件,如數(shù)據(jù)庫或進(jìn)程,并可以在設(shè)計方案5304中的稍后的時間變成具體的組件。具體組件是完全定義的對象,并由concretecomponentdef 5818進(jìn)行定義。
具體組件對于每一個部署引擎都可以具有運行時5814實施對象,如生成的代碼、高吞吐量、調(diào)試、檢查點或處理狀態(tài)持久性。運行時實施對象可以支持組件實例生命周期操作,如設(shè)計方案5304的部署中的initialize、open、run、get、put、end of wave、reset,以及abort。connectordef 5828對象可以定義concretecomponetdef5818,concretecomponetdef 5818可以連接到外部資源,并可以提供對諸如服務(wù)或元數(shù)據(jù)之類的外部資源的暴露。
細(xì)微的組件可以互連起來,以形成合成物,以實現(xiàn)比較復(fù)雜功能。一般而言,細(xì)微的組件可以一起使用或合成在一起,以取得性能很高的接口,如在特定運行時環(huán)境內(nèi)那樣。如此,基于組件的設(shè)計可以獨立于這里所描述的面向服務(wù)的體系結(jié)構(gòu)使用。然而,合成物由compositiondef 5822進(jìn)行定義,合成物也可以是遞歸的,并可以與其他SOA S201協(xié)調(diào)的服務(wù)一起重復(fù)使用,可以作為服務(wù)暴露給其他SOA 5201客戶端和服務(wù)。compositiondef 5822的最外面的級別可以是processdef 5830,可以是專門的compositiondef 5822??梢岳妹恳粋€新定義的compositiondef 5822來創(chuàng)建compositioninstance5812,compositioninstance 5824可以包含實例的特性值。
只有在所有組件都已經(jīng)變成具體的組件的情況下,才可以執(zhí)行合成物。在設(shè)計過程中,必須定義作為抽象組件開始的任何組件,如進(jìn)程或數(shù)據(jù)庫,以變成具體組件。同時,也可以響應(yīng)具體組件的最后設(shè)計,或其他外部設(shè)計因素,改變或重新安排抽象組件的設(shè)計。如此,可以實現(xiàn)漸進(jìn)的設(shè)計,其中,可以在單一設(shè)計或模型內(nèi)的各個抽象級別修改設(shè)計??梢酝ㄟ^設(shè)計方案5304的GUI 5202,暴露通用合成物和集成進(jìn)程模型。合成物本身可以被視為組件,合成物可以鏈接在一起,以產(chǎn)生更加復(fù)雜的合成物服務(wù),無需用戶具有熟練的編程技能。可以在GUI 5202中創(chuàng)建組件和合成物,不是那么太熟練的用戶可以訪問組件和合成物設(shè)計的向?qū)?。體系結(jié)構(gòu)5200合成物模型可以包含允許它們被SOA 5201協(xié)調(diào)的屬性,如特性、輸入和輸出,工作的單元、局部變量、范圍、控件約束、事件、無狀態(tài)和基于狀態(tài)的設(shè)置、異常,以及遞歸合成物。
請參看圖59,顯示了具有XML表示形式5914的合成物模型的企業(yè)集成語言(“EIL”)示例。代表的集成進(jìn)程可以通過SOA 5201從客戶端或其他服務(wù)接收一系列工作項目消息。在此示例中,這些工作消息中的每一個都可能需要數(shù)據(jù)庫查詢5904、轉(zhuǎn)換5908,將子記錄提升為關(guān)系行5910,并插入到數(shù)據(jù)庫5912中。最外面的原子5900范圍可以指定執(zhí)行的序列。在此示例中,查詢5904、轉(zhuǎn)換5908,將子記錄提升為關(guān)系行5910,以及插入到數(shù)據(jù)庫5912中必須連續(xù)地執(zhí)行。獨立的5902范圍作為完整的序列暴露給原子范圍5900,可以按順序運行,并插入到數(shù)據(jù)庫5912中。
內(nèi)部獨立的5902范圍可以表示,密封的序列、數(shù)據(jù)庫查詢5904、轉(zhuǎn)換5908,將子記錄提升為關(guān)系行5910,可以以管道方式彼此獨立。這可以使用管道化或并行處理促進(jìn)執(zhí)行。
如此,EIL模型可以定義合成物的不同的序列如何交互,模型可以給予權(quán)限,串聯(lián)地執(zhí)行某些序列,而并行地執(zhí)行其他序列。
XML表示形式5914可以顯示EIL模型的腳本解釋。精通本技術(shù)的人能夠看到XML腳本與EIL模型的關(guān)聯(lián)。
請參看圖60,顯示了客戶端、服務(wù),以及組件的關(guān)系的UML圖表,如在描述了客戶端和服務(wù)關(guān)系的圖54的UML中,以及在描述了組件和合成物關(guān)系的圖58的UML中所描述的。有關(guān)這兩個模塊的完全工作原理的詳細(xì)說明,請參閱前面的圖54和圖58的描述。
客戶端5412可以提供用戶交互,以及利用SOA服務(wù)5414進(jìn)行數(shù)據(jù)集成開發(fā)的API。單個組件可以提供設(shè)計時和運行時接口,這些接口與SOA服務(wù)5414和客戶端5412連接。設(shè)計時5808組件可以與客戶端5412連接,并可以針對設(shè)計方案5304由SOA服務(wù)5414利用可用的組件功能進(jìn)行協(xié)調(diào)。這種與設(shè)計時5808組件和SOA服務(wù)5414的協(xié)調(diào)可以在進(jìn)程設(shè)計器5402中提供對用戶可用的上下文,并可以支持上下文敏感的GUI。
運行時5814組件可以與SOA服務(wù)5414連接,以利用可用的服務(wù)協(xié)調(diào)設(shè)計方案5304的部署。SOA服務(wù)5414可以具有與設(shè)計時組件5808和運行時組件5814兩者的連接,將SOA服務(wù)5414暴露給設(shè)計方案5304的設(shè)計要求和硬件環(huán)境的運行時要求。然后,SOA服務(wù)5414可以通過設(shè)計方案5304的運行時組件5814和設(shè)計時組件5808來協(xié)調(diào)部署??梢载?fù)責(zé)與外部資源的通信的組件服務(wù)5420可以使用組件實例5812以將通信服務(wù)暴露給SOA 5414,因此,將SOA服務(wù)5414暴露給外部資源,以便部署和設(shè)計設(shè)計方案5304。外部資源向SOA服務(wù)5414的暴露可以臨時將SOA 5201客戶端和服務(wù)暴露給外部資源和服務(wù)。
請參看圖61,該圖顯示了從第一組件6100傳遞到第二組件6102的數(shù)據(jù)的示意表示方式。體系結(jié)構(gòu)5200運行時數(shù)據(jù)表示形式可以使用公用數(shù)據(jù)表示形式,以允許多個服務(wù)和連接以通用方式處理數(shù)據(jù)。體系結(jié)構(gòu)5200知識庫服務(wù)5222可以與多個數(shù)據(jù)結(jié)構(gòu)連接,如XML、EDI、COBOL、二進(jìn)制結(jié)構(gòu),本機語言格式,原始機器格式及其他工業(yè)數(shù)據(jù)格式。為了有效地處理很多數(shù)據(jù)結(jié)構(gòu),體系結(jié)構(gòu)5200可以使用通用內(nèi)部數(shù)據(jù)結(jié)構(gòu)。
知識庫服務(wù)5222可以以最小的數(shù)據(jù)轉(zhuǎn)換將數(shù)據(jù)傳遞到存儲器6114中,以避免不需要的轉(zhuǎn)換,因此,可以提高數(shù)據(jù)傳輸?shù)男?。?shù)據(jù)可以傳遞到可共享的存儲器6114,在那里,只有所需要的數(shù)據(jù)才可以轉(zhuǎn)換和擴(kuò)散-集中到可共享的存儲器6114中,以便組件執(zhí)行數(shù)據(jù)集成作業(yè)。諸如BLOB和CLOB之類的比較大的未解釋的數(shù)據(jù)項目可以通過引用從源傳遞到目標(biāo)。通過只提供引用,比較大的未中斷的數(shù)據(jù)可以不需要復(fù)制到存儲器,因為請求了數(shù)據(jù),只有數(shù)據(jù)的所需要的部分才被轉(zhuǎn)換,然后擴(kuò)散/集中到存儲器6114中。
將數(shù)據(jù)從第一組件6100傳遞到第二組件6102的示例顯示了訪問擴(kuò)散-收集列表6104的組件。擴(kuò)散-收集列表6104可以位于可共享的存儲器6114中,指針指向源或目標(biāo)數(shù)據(jù)表示形式內(nèi)的數(shù)據(jù)的較小的部分。數(shù)據(jù)表示形式可以是XML文本6108、數(shù)據(jù)庫獲取緩沖區(qū)6110、COBOL記錄6112,或其他數(shù)據(jù)格式。擴(kuò)散-收集列表6104可以允許數(shù)據(jù)表示形式被加載到可共享的存儲器6114一次,操縱指向數(shù)據(jù)表示形式的指針,以指向所需要的數(shù)據(jù)。通過操縱擴(kuò)散-收集列表中的指針而不是移動實際數(shù)據(jù),可以消除大多數(shù)重復(fù)的數(shù)據(jù)復(fù)制和存儲器重新分配。一旦為組件建立了指針,可以自動地進(jìn)行所需要的數(shù)據(jù)的數(shù)據(jù)轉(zhuǎn)換,這會將大部分?jǐn)?shù)據(jù)保留在共享存儲器6114中,而不會被轉(zhuǎn)換。通過緩存經(jīng)過轉(zhuǎn)換的數(shù)據(jù)值,具有指向擴(kuò)散-收集6104列表的指針,供其他組件重復(fù)使用,可以進(jìn)一步提高數(shù)據(jù)處理。
通過使用這些技術(shù),數(shù)據(jù)可以在合成物的組件之間性能很高地傳遞。
圖62顯示了體系結(jié)構(gòu)5200的通用引擎。通用引擎框架可以包括諸如程序員6204、集成設(shè)計器6202,以及商業(yè)分析師6200之類的用戶,他們可能使用流程設(shè)計器6210、向?qū)?212,諸如存儲的模型或以前的項目之類的示例6214,模板6216等等,與通用中間集成進(jìn)程規(guī)范6220連接。運行時編譯和優(yōu)化層6230可以對諸如高吞吐量引擎6240、高并行性引擎6242、存儲過程6244、計算機程序代碼6246等等引擎的過度使用提供不同程度的自動化或手動控制,而這些引擎等等又可以通過通用組件和連接6250與外部資源進(jìn)行通信。
許多數(shù)據(jù)集成服務(wù)和功能需要諸如轉(zhuǎn)換、推導(dǎo)、聚合、路由、元數(shù)據(jù)映射、質(zhì)量聲明,及其他數(shù)據(jù)變換之類的轉(zhuǎn)換。體系結(jié)構(gòu)5200可以提供將GUI 5202和轉(zhuǎn)換邏輯綁定起來的單一轉(zhuǎn)換規(guī)范。轉(zhuǎn)換框架可以提供諸如關(guān)系、分層、XML、任意,及其他工業(yè)標(biāo)準(zhǔn)格式之類的多種數(shù)據(jù)格式的轉(zhuǎn)換的統(tǒng)一的方法。如前面所討論的,優(yōu)選情況下,諸如轉(zhuǎn)換之類的處理僅局限于數(shù)據(jù)的子集,數(shù)據(jù)的有效部分可以無需任何轉(zhuǎn)換地傳遞。
如在圖52中所討論的,體系結(jié)構(gòu)5200可以提供單一GUI5202,它是基于技能的,允許用戶從各種組織位置在適合于他們的能力中環(huán)境中工作。轉(zhuǎn)換框架利用此能力,并可以提供多個用戶界面,作為GUI的一部分,以便處理數(shù)據(jù)轉(zhuǎn)換。轉(zhuǎn)換框架可以通過可以各自的技能的界面,為商業(yè)分析師6200、集成設(shè)計器6202、程序員6204以及任何其他用戶提供訪問。
流程設(shè)計器6210、向?qū)?212、示例6214和模板6216代表用于設(shè)計集成進(jìn)程的可能的用戶界面工具的非詳盡的集合,它們可以被不同的用戶6200、6204、6206使用,以設(shè)計和修改通用中間集成進(jìn)程規(guī)范6220,該規(guī)范可以包括元數(shù)據(jù)、元數(shù)據(jù)模型、服務(wù)、組件、合成物,及其他上文所討論的進(jìn)程設(shè)計元素中的任何一個。另外,這些或另外的可能的設(shè)計用戶界面中的每一個都可以允許用戶對與用戶的技能級別、角色、技術(shù)平臺等等一致的設(shè)計細(xì)節(jié)進(jìn)行不同級別的訪問。
商業(yè)分析師6200可以更加關(guān)心較高的級別邏輯設(shè)計,如條件轉(zhuǎn)移、事件檢測,以及過濾規(guī)則。商業(yè)分析師6200可能傾向于使用向?qū)?212、示例6214或模板6216,使用比較簡化的或集成的功能(該功能可以根據(jù)商業(yè)分析師6200的編程技能,提供簡單的設(shè)計流程和轉(zhuǎn)換表達(dá)構(gòu)建功能)來開發(fā)集成進(jìn)程規(guī)范6220。
集成設(shè)計器6202可能能夠具備比較復(fù)雜的創(chuàng)建質(zhì)量聲明、數(shù)據(jù)轉(zhuǎn)換、鍵表達(dá)式、路由、字段級別轉(zhuǎn)換,以及數(shù)據(jù)凈化的編程能力。除了使用向?qū)?212、示例6214,以及模板6216,以及其他高或低級別GUI界面之外,集成設(shè)計器還可以使用流程設(shè)計器6210明確地模型化進(jìn)程的某些部分,這可以允許提供更加深入的功能,以使用表達(dá)式語言,實現(xiàn)直接的、顯式的設(shè)計。此級別的GUI仍可以是為集成設(shè)計器6202約束的技能級別的,并可以訪問向?qū)?212以完成表達(dá)式構(gòu)建或其他需要幫助的任務(wù)。
優(yōu)選情況下,程序員6204可以使用流程設(shè)計器6210 GUI或命令行界面,以允許對自定義轉(zhuǎn)換功能和自定義組件有最大的控制,雖然在整個設(shè)計進(jìn)程中可互換地使用其他界面6212、6214、6216。程序員6204可以訪問集成進(jìn)程設(shè)計的最細(xì)微的級別的細(xì)節(jié),包括記錄級別和數(shù)據(jù)集級別邏輯的能力。程序員可以被允許訪問較細(xì)粒度的功能,包括,但不僅限于,編寫或自定義通用組件和連接6250的元素,創(chuàng)建和使用通過SOA 5201訪問的用戶定義的服務(wù),向編譯和優(yōu)化進(jìn)程層6230提供詳細(xì)的建議。
通過使用不同的界面6210-6216,諸如商業(yè)分析師6200、集成設(shè)計器6202,以及程序員6204之類的用戶可以設(shè)計使用通用中間集成進(jìn)程規(guī)范6220的集成進(jìn)程,該規(guī)范6220是也獨立于用于執(zhí)行集成進(jìn)程的最終引擎和組件和連接的表示形式。此中間集成進(jìn)程規(guī)范6220可以以通用中間集成進(jìn)程規(guī)范語言(如EIL 5900)或任何等價表示來表達(dá)。
編譯和優(yōu)化進(jìn)程層6230可以將通用中間集成進(jìn)程規(guī)范6230轉(zhuǎn)換為一個或多個執(zhí)行引擎環(huán)境特定的執(zhí)行規(guī)范,包括但不僅限于,高吞吐量引擎6240、高并行性引擎6242、一個或多個數(shù)據(jù)庫存儲過程6244,和/或一段或多段以任何常規(guī)編程語言生成的計算機程序代碼6246,包括但不僅限于,C、C++、C#、COBOL以及Java,包括JavaBeans和Enterprise JavaBeans,或任何其他能夠轉(zhuǎn)換、解釋和/或運行適合于這里所描述的系統(tǒng)的通用計算算法的執(zhí)行環(huán)境。編譯和優(yōu)化進(jìn)程層6230可以使用存儲在元數(shù)據(jù)知識庫5214中的有關(guān)數(shù)據(jù)源102和數(shù)據(jù)目標(biāo)102的元數(shù)據(jù)的知識以及有關(guān)計算機系統(tǒng)環(huán)境配置的信息,決定如何將集成進(jìn)程規(guī)范6230轉(zhuǎn)換為針對不同的引擎和執(zhí)行環(huán)境的指令的適當(dāng)而有效率的組合。編譯和優(yōu)化進(jìn)程層6230還可以使用通過SOA 5201可用的多個服務(wù)5414中的任何一個,導(dǎo)出另外的元數(shù)據(jù)(如數(shù)據(jù)剖析信息),以便理性地決定如何最好地編譯和優(yōu)化集成進(jìn)程規(guī)范6220。
不同的集成進(jìn)程執(zhí)行引擎和環(huán)境6240、6242、6244、6246等等可以使用預(yù)先定義的和/或用戶定義的通用組件和外部數(shù)據(jù)源和目標(biāo)連接6250,包括組件實施5814和連接器6310。
可以由諸如商業(yè)分析師6200、集成設(shè)計器6202和程序員6204之類的客戶端創(chuàng)建的自定義設(shè)計的轉(zhuǎn)換組件和連接元件,可以作為知識庫目錄中的單獨的可共享的元件存儲在知識庫5224中,從那里,它們可以被編譯和優(yōu)化層6230用來生成可執(zhí)行的集成進(jìn)程。
請參看圖63,顯示了連接體系結(jié)構(gòu),該體系結(jié)構(gòu)可以允許體系結(jié)構(gòu)5200服務(wù)6300、組件6302和引擎6304通過連接器組件6310訪問外部資源。在上面的圖形中已經(jīng)預(yù)先定義了這些服務(wù)。
連接器組件6310的作用是封裝外部資源的接口,并標(biāo)準(zhǔn)化這些外部資源,以便與組件6308和服務(wù)一起使用。連接器的作用可以是將以較小的轉(zhuǎn)換地數(shù)據(jù)傳遞到其他組件6308(如轉(zhuǎn)換組件),在那里,可以更加有效地完成轉(zhuǎn)換。如前面所討論的,轉(zhuǎn)換可以只針對傳輸?shù)耐獠繑?shù)據(jù)內(nèi)的有限量的數(shù)據(jù)。利用連接器6310,只需最低限度地轉(zhuǎn)換數(shù)據(jù),就可以使連接器6310有效地將數(shù)據(jù)移動組件和服務(wù)。連接器可以是通過組件服務(wù)6302提供設(shè)計時接口或到部署引擎6304的運行時接口的專門組件。
作為連接器6310的一部分,適配器6312可以是提供到特定外部資源的組件接口的組件的子類。在連接器6310中,可以有多個連接6314,作為低級別組件,該組件可以管理單一外部資源的生命周期。連接6314可以具有關(guān)聯(lián)的事件監(jiān)聽和資源訪問,可以讀取、寫入、發(fā)送、接收、查詢或更新外部資源。
連接管理接口6312可以提供匯聚功能,以支持連接6314。匯聚主要可以用于高并行性執(zhí)行環(huán)境,并可以用于進(jìn)行并行數(shù)據(jù)的平穩(wěn)的傳輸。對于高吞吐量執(zhí)行環(huán)境,可以使用相同連接管理接口6312,但可以維護(hù)持久連接,可以允許重載周期重復(fù)使用,以提供一致的連接。連接器6310可以提供多個外部資源生命周期功能,如安裝、設(shè)計時接口、元數(shù)據(jù)接口、編譯、驗證、調(diào)試、監(jiān)視、實例化、狀態(tài)管理、匯聚、緩存、事務(wù)、異常處理、數(shù)據(jù)訪問、事件檢測、持久性、租用、BOM生產(chǎn)、數(shù)據(jù)取樣,以及樣本數(shù)據(jù)生成。可以通過模型來描述連接器6310,它們可以存儲在知識庫5224中,并可以訪問語義套節(jié)模型5614,以便訪問外部資源。連接器6310可以包裝到外部資源的接口,如ODBC/JDBC、JCA、EJB,以及Web接口。
雖然是參考某些優(yōu)選實施例描述本發(fā)明的,但應(yīng)該理解,那些精通本技術(shù)的普通人員將理解,其他實施例也是可以的,它們也中本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)集成系統(tǒng),包括用于執(zhí)行多個數(shù)據(jù)集成任務(wù)的用戶界面,所述用戶界面包括對應(yīng)于一個項目的工作流的多個階段的多個菜單;包括服務(wù)的注冊表的面向服務(wù)的體系結(jié)構(gòu),一個或多個所述服務(wù)與所述用戶界面的每一個數(shù)據(jù)集成任務(wù)相關(guān)聯(lián);與所述用戶界面以及面向服務(wù)的體系結(jié)構(gòu)的服務(wù)中的一個或多個所述服務(wù)關(guān)聯(lián)的知識庫,所述知識庫存儲所述項目的工作流的一個以上階段的共同元數(shù)據(jù)模型;用于執(zhí)行所述項目的一個或多個運行時引擎;以及用于將所述一個或多個運行時引擎連接到一個或多個外部資源的一個或多個連接器,所述連接器使用模塊化組件和合成物進(jìn)行數(shù)據(jù)吞吐。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),進(jìn)一步包括將所選擇的數(shù)據(jù)集成任務(wù)與所選擇的菜單相關(guān)聯(lián)的任務(wù)矩陣。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),進(jìn)一步包括在用戶界面和面向服務(wù)的體系結(jié)構(gòu)之間的智能自動化層,所述智能自動化層向所述用戶界面的用戶提供特定于上下文的內(nèi)容。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)集成系統(tǒng),進(jìn)一步包括用于運行時引擎的運行時優(yōu)化層,所述運行時優(yōu)化層在各個運行時引擎之間自主地分配進(jìn)程。
5.一種管理數(shù)據(jù)集成進(jìn)程的方法,包括提供用于執(zhí)行多個數(shù)據(jù)集成任務(wù)的用戶界面,所述用戶界面包括對應(yīng)于一個項目的工作流的多個階段的多個菜單;提供包括服務(wù)的注冊表的面向服務(wù)的體系結(jié)構(gòu);將一個或多個所述服務(wù)與所述用戶界面的每一個數(shù)據(jù)集成任務(wù)相關(guān)聯(lián);將知識庫與所述用戶界面以及面向服務(wù)的體系結(jié)構(gòu)的服務(wù)中的一個或多個所述服務(wù)相關(guān)聯(lián);在知識庫中存儲所述項目的工作流的一個以上階段的共同元數(shù)據(jù)模型;使用一個或多個運行時引擎執(zhí)行所述項目,所述運行時引擎使用模塊化組件和合成物進(jìn)行所述項目的數(shù)據(jù)處理;以及將所述一個或多個運行時引擎連接到一個或多個外部資源。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括在用戶界面以及面向服務(wù)的體系結(jié)構(gòu)之間提供智能自動化層,所述智能自動化層向所述用戶界面的用戶提供特定于上下文的內(nèi)容。
7.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括提供用于運行時引擎的運行時優(yōu)化層,所述運行時優(yōu)化層在各個運行時引擎之間自主地分配進(jìn)程。
8.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括使用任務(wù)矩陣將所選擇的數(shù)據(jù)集成任務(wù)與所選擇的菜單相關(guān)聯(lián)。
9.一種計算機程序產(chǎn)品,包括其中包含計算機可讀取程序代碼的計算機可使用介質(zhì),其中,當(dāng)在一個或多個計算機上執(zhí)行時所述計算機可讀取程序代碼使一個或多個計算機執(zhí)行下列操作提供用于執(zhí)行多個數(shù)據(jù)集成任務(wù)的用戶界面,所述用戶界面包括對應(yīng)于一個項目的工作流的多個階段的多個菜單;提供包括服務(wù)的注冊表的面向服務(wù)的體系結(jié)構(gòu);將一個或多個所述服務(wù)與所述用戶界面的每一個數(shù)據(jù)集成任務(wù)相關(guān)聯(lián);將知識庫與所述用戶界面以及面向服務(wù)的體系結(jié)構(gòu)的服務(wù)中的一個或多個所述服務(wù)相關(guān)聯(lián);在知識庫中存儲所述項目的工作流的一個以上階段的共同元數(shù)據(jù)模型;使用一個或多個運行時引擎執(zhí)行所述項目,所述運行時引擎使用模塊化組件和合成物進(jìn)行所述項目的數(shù)據(jù)處理;以及將所述一個或多個運行時引擎連接到一個或多個外部資源。
10.根據(jù)權(quán)利要求9所述的計算機程序產(chǎn)品,其中,當(dāng)在一個或多個計算機上執(zhí)行時所述計算機可讀取程序代碼使一個或多個計算機在用戶界面以及面向服務(wù)的體系結(jié)構(gòu)之間提供智能自動化層,所述智能自動化層向所述用戶界面的用戶提供特定于上下文的內(nèi)容。
11.根據(jù)權(quán)利要求9所述的計算機程序產(chǎn)品,其中,當(dāng)在一個或多個計算機上執(zhí)行時,所述計算機可讀取程序代碼使一個或多個計算機提供用于運行時引擎的運行時優(yōu)化層,所述運行時優(yōu)化層在各個運行時引擎之間自主地分配進(jìn)程。
12.根據(jù)權(quán)利要求9所述的計算機程序產(chǎn)品,其中,當(dāng)在一個或多個計算機上執(zhí)行時,所述計算機可讀取程序代碼使一個或多個計算機利用任務(wù)矩陣將所選擇的數(shù)據(jù)集成任務(wù)與所選擇的菜單相關(guān)聯(lián)。
13.一種用于在數(shù)據(jù)集成系統(tǒng)中提供服務(wù)的面向服務(wù)的體系結(jié)構(gòu),所述體系結(jié)構(gòu)包括動態(tài)地定位和實例化服務(wù)的服務(wù)目錄,所述服務(wù)包括合成為工具的多個分離的可重復(fù)使用的和可共享的服務(wù),作為服務(wù)暴露外部資源連接器的組件服務(wù),以及用于訪問存儲在知識庫中的元數(shù)據(jù)模型的一個或多個知識庫服務(wù);以及用于使用服務(wù)的數(shù)據(jù)集成進(jìn)程的用戶設(shè)計的分離的用戶界面。
14.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,一個或多個所述服務(wù)是內(nèi)部服務(wù)。
15.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,一個或多個所述服務(wù)是外部服務(wù)。
16.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,所述服務(wù)使用不同的技術(shù)。
17.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,一個或多個所述服務(wù)是同步的。
18.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,一個或多個所述服務(wù)是異步的。
19.根據(jù)權(quán)利要求13所述的體系結(jié)構(gòu),其中,所述服務(wù)包括控制下列各項中的一個或多個的多個功能審核、日志記錄、監(jiān)視、管理、安全、用戶配置文件、會話管理、以及報告,事務(wù)、業(yè)務(wù)流程、用戶目錄、組件服務(wù)、配置、系統(tǒng)管理、源控制、源和目標(biāo)元數(shù)據(jù)的導(dǎo)入/導(dǎo)出,元數(shù)據(jù)查詢、訪問、分析、報告、以及預(yù)訂,樣本數(shù)據(jù)、數(shù)據(jù)剖析、進(jìn)程編輯、進(jìn)程編譯、數(shù)據(jù)驗證、設(shè)計部署、設(shè)計執(zhí)行、安裝和升級、演示安裝、部署、版本管理、同步、數(shù)據(jù)剖析、數(shù)據(jù)凈化、調(diào)查和調(diào)整、模板的應(yīng)用、測試、以及問題報告。
20.一種用于在數(shù)據(jù)集成系統(tǒng)中提供面向服務(wù)的服務(wù)的方法,所述方法包括在服務(wù)目錄中注冊多個服務(wù),所述服務(wù)包括合成為工具的多個分離的可重復(fù)使用的和可共享的服務(wù),作為服務(wù)暴露外部資源連接器的組件服務(wù),以及用于訪問存儲在知識庫中的元數(shù)據(jù)模型的一個或多個知識庫服務(wù);動態(tài)地定位注冊表內(nèi)的多個服務(wù)中的一個服務(wù);實例化多個服務(wù)中所述被定位的服務(wù);以及提供用于使用多個服務(wù)中所述被定位的服務(wù)的數(shù)據(jù)集成進(jìn)程的用戶設(shè)計的分離的用戶界面。
21.根據(jù)權(quán)利要求20所述的方法,其中,一個或多個所述服務(wù)是內(nèi)部服務(wù)。
22.根據(jù)權(quán)利要求20所述的方法,其中,一個或多個所述服務(wù)是外部服務(wù)。
23.根據(jù)權(quán)利要求20所述的方法,其中,所述服務(wù)使用不同的技術(shù)。
24.根據(jù)權(quán)利要求20所述的方法,其中,一個或多個所述服務(wù)是同步的。
25.根據(jù)權(quán)利要求20所述的方法,其中,一個或多個所述服務(wù)是異步的。
26.根據(jù)權(quán)利要求20所述的方法,其中,所述服務(wù)包括控制下列各項中的一個或多個的多個功能審核、日志記錄、監(jiān)視、管理、安全、用戶配置文件、會話管理、以及報告,事務(wù)、業(yè)務(wù)流程、用戶目錄、組件服務(wù)、配置、系統(tǒng)管理、源控制、源和目標(biāo)元數(shù)據(jù)的導(dǎo)入/導(dǎo)出,元數(shù)據(jù)查詢、訪問、分析、報告、以及預(yù)訂,樣本數(shù)據(jù)、數(shù)據(jù)剖析、進(jìn)程編輯、進(jìn)程編譯、數(shù)據(jù)驗證、設(shè)計部署、設(shè)計執(zhí)行、安裝和升級、演示安裝、部署、版本管理、同步、數(shù)據(jù)剖析、數(shù)據(jù)凈化、調(diào)查和調(diào)整、模板的應(yīng)用、測試、以及問題報告。
27.一種用于將數(shù)據(jù)集成系統(tǒng)連接到外部資源的方法,包括將數(shù)據(jù)集成系統(tǒng)作為多個服務(wù)部署在面向服務(wù)的體系結(jié)構(gòu)中;將一個或多個連接器組件作為服務(wù)注冊到數(shù)據(jù)集成系統(tǒng)的服務(wù)目錄中,每一個連接器組件被配置為連接到外部資源;以及從數(shù)據(jù)集成系統(tǒng)內(nèi)使用作為服務(wù)的一個連接器組件來建立到外部資源的連接。
28.根據(jù)權(quán)利要求27所述的方法,其中,所述連接器組件提供對外部資源文件的所有訪問。
29.根據(jù)權(quán)利要求27所述的方法,其中,至少一個連接器組件包括轉(zhuǎn)換進(jìn)程。
30.根據(jù)權(quán)利要求27所述的方法,其中,所述連接器組件在數(shù)據(jù)集成進(jìn)程的設(shè)計過程中可用。
31.根據(jù)權(quán)利要求27所述的方法,其中,所述連接器組件在運行時過程中可用。
32.根據(jù)權(quán)利要求27所述的方法,其中,所述連接器組件包括到特定外部資源的接口。
33.根據(jù)權(quán)利要求27所述的方法,其中,到外部資源的連接包括事件監(jiān)聽和資源訪問。
34.根據(jù)權(quán)利要求27所述的方法,到外部資源的連接是永久性的。
35.根據(jù)權(quán)利要求27所述的方法,其中,外部資源包括至少一個數(shù)據(jù)源或至少一個數(shù)據(jù)目標(biāo)。
36.根據(jù)權(quán)利要求35所述的方法,其中,所述連接器組件提供對外部資源的元數(shù)據(jù)的訪問。
37.根據(jù)權(quán)利要求35所述的方法,其中,所述連接器組件提供對外部資源的數(shù)據(jù)的訪問。
38.一種系統(tǒng),包括包括服務(wù)目錄的面向服務(wù)的體系結(jié)構(gòu);相關(guān)計算機程序產(chǎn)品套件的多個功能,每一個功能作為服務(wù)在服務(wù)目錄中注冊;以及用于調(diào)用一個或多個所述服務(wù)的一個或多個實例的接口,從而相關(guān)的計算機產(chǎn)品套件被部署在面向服務(wù)的體系結(jié)構(gòu)中。
39.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,相關(guān)計算機程序產(chǎn)品套件包括數(shù)據(jù)集成套件。
40.根據(jù)權(quán)利要求39所述的系統(tǒng),其中,功能包括下列各項中的一個或多個審核、日志記錄、監(jiān)視、管理、安全、用戶配置文件、會話管理、以及報告,事務(wù)、業(yè)務(wù)流程、用戶目錄、組件服務(wù)、配置、系統(tǒng)管理、源控制、源和目標(biāo)元數(shù)據(jù)的導(dǎo)入/導(dǎo)出,元數(shù)據(jù)查詢、訪問、分析、報告、以及預(yù)訂,樣本數(shù)據(jù)、數(shù)據(jù)剖析、進(jìn)程編輯、進(jìn)程編譯、數(shù)據(jù)驗證、設(shè)計部署、設(shè)計執(zhí)行、安裝和升級、演示安裝、部署、版本管理、同步、數(shù)據(jù)剖析、數(shù)據(jù)凈化、調(diào)查和調(diào)整、模板的應(yīng)用、測試、以及問題報告。
41.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,一個或多個參數(shù)被傳遞到一個或多個所述服務(wù)的一個或多個實例。
42.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,一個或多個所述服務(wù)至少包括一個所有相關(guān)計算機程序產(chǎn)品所共有的通用服務(wù)。
全文摘要
這里說明了用于構(gòu)建和管理數(shù)據(jù)集成進(jìn)程的體系結(jié)構(gòu)。該體系結(jié)構(gòu)可以為集成設(shè)計過程的許多方面提供模塊性和擴(kuò)展性,包括用戶界面、編程接口、服務(wù)、組件、運行時引擎,以及外部連接器。該體系結(jié)構(gòu)還可以在整個設(shè)計過程中使用通用集成元數(shù)據(jù)共享方法,以允許在設(shè)計的各個階段之間進(jìn)行無縫過渡,并實施數(shù)據(jù)集成進(jìn)程。
文檔編號G06Q10/00GK101076793SQ200580029007
公開日2007年11月21日 申請日期2005年8月31日 優(yōu)先權(quán)日2004年8月31日
發(fā)明者邁克爾·詹姆斯·貝克爾勒, 讓-克勞德·馬姆, 戴維·托馬斯·米克斯, 馬文·門德爾森, 李·J.·舍夫勒, 查里斯·K.·尚克 申請人:國際商業(yè)機器公司