亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

面向?qū)ο蟮臄?shù)據(jù)集成服務(wù)體系結(jié)構(gòu)的制作方法

文檔序號:6656678閱讀:540來源:國知局
專利名稱:面向?qū)ο蟮臄?shù)據(jù)集成服務(wù)體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)的領(lǐng)域,更具體地說,涉及數(shù)據(jù)集成系統(tǒng)的領(lǐng)域。
背景技術(shù)
計算機應(yīng)用程序的出現(xiàn)使許多商業(yè)過程更快、更高效;但是,使用不同數(shù)據(jù)結(jié)構(gòu)、通信協(xié)議、語言和平臺的不同計算機應(yīng)用程序的激增已導(dǎo)致典型商業(yè)企業(yè)的信息技術(shù)基礎(chǔ)結(jié)構(gòu)極其復(fù)雜。典型企業(yè)內(nèi)的不同商業(yè)過程可能使用完全不同的計算機應(yīng)用程序,每種計算機應(yīng)用程序是為特定的商業(yè)過程開發(fā)和優(yōu)化的,而不是為整個企業(yè)開發(fā)和優(yōu)化的。例如,企業(yè)可能具有一種用于跟隨應(yīng)付賬款的特殊計算機應(yīng)用程序,和一種完全不同的用于記錄客戶聯(lián)系人的計算機應(yīng)用程序。事實上,即使相同的商業(yè)過程也可能使用一個以上的計算機應(yīng)用程序,例如當企業(yè)維持集中式客戶聯(lián)系數(shù)據(jù)庫,但是雇員把他們自己的聯(lián)系人信息保持在例如個人信息管理器中時。
雖然專用計算機應(yīng)用程序帶來定制的解決方案的優(yōu)點,不過專用計算機應(yīng)用程序的激增會導(dǎo)致效率低,例如在整個企業(yè)內(nèi)多次重復(fù)輸入和處理相同的數(shù)據(jù),或者當企業(yè)執(zhí)行可受益于與一個過程相關(guān)的數(shù)據(jù)的另一過程時,企業(yè)不能利用該數(shù)據(jù)。例如,如果應(yīng)付賬款過程與供應(yīng)鏈和定貨過程分離,那么企業(yè)可能接受和供應(yīng)來自其信用會導(dǎo)致企業(yè)拒絕其定貨的客戶的定貨。企業(yè)可受益于跨越各種計算機應(yīng)用程序?qū)ζ渌袛?shù)據(jù)的一致訪問的其它例子有很多。
許多公司已認識到并致力于滿足跨越商業(yè)企業(yè)中的不同應(yīng)用程序,共享數(shù)據(jù)的需要。從而,作為一種處理來自不同來源的數(shù)據(jù)的基于消息的策略,出現(xiàn)了企業(yè)應(yīng)用程序集成或者說EAI。隨著計算機應(yīng)用程序在復(fù)雜性和數(shù)量方面的增加,EAI遇到許多挑戰(zhàn),從需要處理不同的協(xié)議,到需要應(yīng)付不斷增大的數(shù)據(jù)量和事務(wù)數(shù)量,和不斷增長的對更快速的數(shù)據(jù)集成的強烈愿望。已采取了對EAI的各種方法,包括最小公分母方法,原子方法和橋式方法。但是,EAI以單個應(yīng)用程序之間的通信為基礎(chǔ)。一個明顯的缺陷在于,隨著平臺和應(yīng)用程序的線性增加,EAI解決方案的復(fù)雜性幾何增大。
雖然數(shù)據(jù)集成系統(tǒng)提供解決企業(yè)的需要的有用工具,不過這樣的系統(tǒng)通常被部署為客戶解決方案。它們具有很長的部署周期,并且要求高級的技術(shù)訓(xùn)練,以適應(yīng)企業(yè)結(jié)構(gòu)和信息要求方面的變化。存在對數(shù)據(jù)集成方法和系統(tǒng)的需要,所述數(shù)據(jù)集成方法和系統(tǒng)允許在不斷變化的企業(yè)環(huán)境中使用、重新使用和修改功能。為了使這樣的方法和系統(tǒng)更容易,還需要用于部署數(shù)據(jù)集成功能的改進方法和系統(tǒng)。

發(fā)明內(nèi)容
提供數(shù)據(jù)集成方法和系統(tǒng)。所述方法和系統(tǒng)可包括提供實現(xiàn)數(shù)據(jù)集成功能的一個或多個模塊、工具、設(shè)施、函數(shù)、服務(wù)、過程等。所述方法和系統(tǒng)還包括提供可被用戶,比如識別、設(shè)計、開發(fā)、部署和使用數(shù)據(jù)集成作業(yè)或平臺的用戶訪問的服務(wù)注冊器(registry)。一個或多個模塊、工具、設(shè)施、函數(shù)、服務(wù)、過程等可具備輸入級,輸出級,或者這兩者,比如允許通過注冊器訪問數(shù)據(jù)集成模塊、工具、函數(shù)、服務(wù)或過程的綁定,以便實時或批處理執(zhí)行所述模塊、工具、設(shè)施、函數(shù)、服務(wù)或過程支持的數(shù)據(jù)集成功能。從而,模塊、工具、設(shè)施、函數(shù)、服務(wù)或過程可被識別和用作面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。其中,通過在面向服務(wù)的體系結(jié)構(gòu)中部署數(shù)據(jù)集成平臺模塊、工具、設(shè)施、函數(shù)、服務(wù)和過程,它們中的任意之一可被修改而不會影響其它相關(guān)項目的性能。
各種數(shù)據(jù)集成模塊、工具、設(shè)施、函數(shù)、服務(wù)和過程可被部署成用于數(shù)據(jù)集成作業(yè)、方法、平臺或系統(tǒng)的面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。例如,前述可包括提取功能、數(shù)據(jù)變換、裝入功能、元數(shù)據(jù)管理功能、數(shù)據(jù)剖析(profiling)功能、映射功能、數(shù)據(jù)審計功能、數(shù)據(jù)質(zhì)量功能、數(shù)據(jù)清洗功能、匹配功能、概率匹配功能、元代理功能、數(shù)據(jù)遷移功能、原子數(shù)據(jù)儲存庫功能、語義識別功能、過濾功能、精煉和選擇功能、設(shè)計接口功能、或者其它許多功能。
從而,這里描述的方法和系統(tǒng)包括提供數(shù)據(jù)提取功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)變換功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)裝入功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供元數(shù)據(jù)管理功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)剖析功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)審計功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)清洗功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)質(zhì)量功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)匹配功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,數(shù)據(jù)匹配功能可以是概率匹配功能。
這里描述的方法和系統(tǒng)還包括提供元代理功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,元代理功能跨多個數(shù)據(jù)集成平臺保持數(shù)據(jù)集成功能的語義。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)遷移功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供原子數(shù)據(jù)儲存庫模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供語義識別功能模決,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供過濾功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,過濾基于抽象層次。在實施例中,抽象層次可以是物理抽象層次和邏輯抽象層次中的至少一個。
這里描述的方法和系統(tǒng)還包括提供精煉和選擇設(shè)施模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,精煉和選擇設(shè)施允許系統(tǒng)區(qū)分邏輯抽象層次和物理抽象層次。
這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫的內(nèi)容的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫的表的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫的行的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)結(jié)構(gòu)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供推薦目標數(shù)據(jù)設(shè)施的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供主鍵的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供外鍵的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供表標準化的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供源-目標映射的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供根據(jù)數(shù)據(jù)集成作業(yè)的簡表自動生成數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供探測缺陷的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供測量數(shù)據(jù)集成功能的性能的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)去重模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,去重模塊根據(jù)概率匹配數(shù)據(jù)項。在實施例中,去重模塊丟棄重復(fù)的項目。
這里描述的方法和系統(tǒng)還包括提供多個數(shù)據(jù)項的統(tǒng)計分析模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供調(diào)和來自多個數(shù)據(jù)設(shè)施的數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供訪問變換函數(shù)庫的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供管理數(shù)據(jù)集成作業(yè)的版本的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供管理數(shù)據(jù)集成作業(yè)的版本的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,該模塊允許用戶與另一用戶共享某一版本。在實施例中,該模塊允許用戶簽入和簽出某一版本的數(shù)據(jù)集成作業(yè),以便使用該數(shù)據(jù)集成作業(yè)。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成功能的并行執(zhí)行模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供劃分數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供劃分和重新劃分數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)庫接口模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,該接口模塊便于實現(xiàn)對于多個數(shù)據(jù)庫廠家的數(shù)據(jù)庫的接口。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供使數(shù)據(jù)同步的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,該模塊便于實現(xiàn)跨多個分級數(shù)據(jù)格式的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)跨多種事務(wù)格式的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)跨多種工作環(huán)境的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)電子數(shù)據(jù)互換格式數(shù)據(jù)的同步。在實施例中,該模塊便于實現(xiàn)HIPAA數(shù)據(jù)的同步。在實施例中,該模塊便于實現(xiàn)SWIFT格式數(shù)據(jù)的同步。
這里描述的方法和系統(tǒng)還包括提供供給元數(shù)據(jù)目錄的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供圖形描述數(shù)據(jù)集成功能的變化的影響的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供創(chuàng)建元代理的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供元數(shù)據(jù)的中心儲存庫模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,該中心保存多個數(shù)據(jù)集成平臺的語義模型。
這里描述的方法和系統(tǒng)還包括提供打包應(yīng)用連接性工具箱(PACK),提供服務(wù)注冊器,提供用于PACK的接口,并在注冊器中識別PACK,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問PACK。
這里描述的方法和系統(tǒng)還包括提供保存行業(yè)專用數(shù)據(jù)模型的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。所述模型可以是制造業(yè)模型、零售業(yè)模型、電信業(yè)模型、保健業(yè)模型、金融服務(wù)業(yè)模型或者任何其它行業(yè)的模型。
這里描述的方法和系統(tǒng)還包括提供建立數(shù)據(jù)集成功能的模板,提供服務(wù)注冊器,提供該模板的接口,并在注冊器中識別該模板,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模板。
這里描述的方法和系統(tǒng)還包括提供創(chuàng)建商業(yè)規(guī)則的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供創(chuàng)建確認表的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成功能模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供創(chuàng)建商業(yè)度量(businessmetric)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供定義目標數(shù)據(jù)庫的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供剖析主機數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供批處理一批數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供交叉表分析模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供關(guān)系分析模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供產(chǎn)生數(shù)據(jù)定義語言(DDL)代碼的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。在實施例中,所述方法和系統(tǒng)還包括利用該模塊來創(chuàng)建源數(shù)據(jù)設(shè)施和目標數(shù)據(jù)設(shè)施之間的映射。
這里描述的方法和系統(tǒng)還包括提供設(shè)計數(shù)據(jù)集成作業(yè)的設(shè)計接口模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供開發(fā)數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
這里描述的方法和系統(tǒng)還包括提供部署數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供該模塊的接口,并在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該模塊。
在實施例中,數(shù)據(jù)集成平臺或過程的面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)可以是可用于各種集成和計算任務(wù)的服務(wù),包括執(zhí)行許多公共任務(wù)所需的或者對其有益的功能的模塊。
監(jiān)視服務(wù)可被部署成面向服務(wù)的體系結(jié)構(gòu)中的具有輸入級和/或輸出級的服務(wù)。例如,監(jiān)視服務(wù)可被用戶調(diào)用,以監(jiān)視數(shù)據(jù)集成作業(yè)或任務(wù)的性能的某一方面,或者監(jiān)視事件或過程。例如,數(shù)據(jù)集成系統(tǒng)可具有稱為作業(yè)執(zhí)行服務(wù)的服務(wù),其用途是執(zhí)行作業(yè),例如批處理作業(yè)。利用監(jiān)視服務(wù),用戶能夠監(jiān)視作業(yè)執(zhí)行服務(wù)已被運行多少次,運行需要多少時間,最小執(zhí)行時間,最大執(zhí)行時間,平均執(zhí)行時間和其它統(tǒng)計信息。用戶能夠在不了解底層作業(yè)執(zhí)行服務(wù)的代碼的情況下完成所有這些功能。所有監(jiān)視服務(wù)被部署成服務(wù)的事實意味著在作業(yè)的執(zhí)行之內(nèi),用戶能夠詢問已接觸了多少個數(shù)據(jù)庫,或者特定于作業(yè)執(zhí)行服務(wù)的語義的其它監(jiān)視項目。從而,通過監(jiān)視服務(wù),系統(tǒng)能夠告訴在另一服務(wù)的實現(xiàn)中正在發(fā)生什么。在實施例中,每個公共服務(wù),比如監(jiān)視服務(wù)和其它服務(wù),可為每個服務(wù)確定不同的區(qū)域,比如要監(jiān)視什么,服務(wù)的運行時間,以及管理部分。為了調(diào)用監(jiān)視服務(wù),可詢問用戶要監(jiān)視什么。從而,監(jiān)視服務(wù)可被面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)用于監(jiān)視所述服務(wù)做什么,或者可被用于關(guān)于其它事件和條件進行特定于領(lǐng)域的監(jiān)視。
安全模塊或服務(wù)可被部署成面向服務(wù)的體系結(jié)構(gòu)中的服務(wù),以便提供安全能力,比如在數(shù)據(jù)集成作業(yè)或任務(wù)方面的安全能力。當用戶需要安全設(shè)施,比如口令保護、加密、跟蹤訪問、限制訪問等時,用戶可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式,調(diào)用安全模塊,從而用戶不必為每個數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的安全設(shè)施。
許可模塊可被部署在面向服務(wù)的體系結(jié)構(gòu)中,以便當被用戶調(diào)用時能夠?qū)崿F(xiàn)許可功能。例如,作業(yè)設(shè)計人員可使數(shù)據(jù)集成作業(yè)調(diào)用許可服務(wù)來確定將在運行時執(zhí)行的特定任務(wù)是否遵守許可證約束,比如和機器數(shù)目,用戶數(shù)目等相關(guān)的許可證約束。用戶不需要為該用戶創(chuàng)建的每個數(shù)據(jù)集成作業(yè)或任務(wù)準備獨立的許可代碼。
事件管理模塊可被部署在面向服務(wù)的體系結(jié)構(gòu)中,當通過服務(wù)注冊器被用戶調(diào)用時用于跟蹤和管理事件。用戶可為數(shù)據(jù)集成作業(yè)或任務(wù)所需的任何事件管理訪問事件管理模塊,比如跟蹤事件以便確定何時執(zhí)行過程或功能。用戶不需要為每個不同的數(shù)據(jù)集成任務(wù)或作業(yè)創(chuàng)建獨立的事件管理代碼。
在實施例中,可以面向服務(wù)的體系結(jié)構(gòu)中的公共服務(wù)的形式提供供應(yīng)能力。
事務(wù)模塊可被部署在具有輸入級和/或輸出級的面向服務(wù)的體系結(jié)構(gòu)中,該面向服務(wù)的體系結(jié)構(gòu)允許用戶通過服務(wù)注冊器訪問事務(wù)模塊,不需要為用戶創(chuàng)建的每個應(yīng)用程序,例如為數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的事務(wù)管理代碼。
審計模塊可被部署在具有輸入級和/或輸出級的面向服務(wù)的體系結(jié)構(gòu)中,該面向服務(wù)的體系結(jié)構(gòu)允許用戶通過服務(wù)注冊器訪問審計模塊,不需要為用戶創(chuàng)建的每個應(yīng)用程序,例如為數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的審計代碼。從而,通過調(diào)用該服務(wù)訪問審計模塊,用戶能夠?qū)徲嬍录?,比如審計什么用戶訪問了特定數(shù)據(jù)庫或過程,已發(fā)生了什么事件等。審計模塊可允許用戶方便地審計過去的事件,而不必產(chǎn)生獨立的代碼。
從而,數(shù)據(jù)集成作業(yè)或平臺所必需的或者對其有益的各種公共任務(wù)可以模塊的形式創(chuàng)建,并部署成面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。
在這里描述的模塊和服務(wù)的各個實施例中,面向特征編程(AOP)技術(shù)可被用于實現(xiàn)面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。例如,可利用AOP以服務(wù)的形式實現(xiàn)各種元數(shù)據(jù)功能和模塊。在實施例中,服務(wù)的綁定,比如EJB(例如EJB 3.0)可使用AOP。利用面向特征的編程,策略可與任意前述服務(wù)和/或模塊關(guān)聯(lián)起來。
在面向服務(wù)的體系結(jié)構(gòu)中,加上允許比如通過端口訪問服務(wù)的綁定。如這里所述,各種綁定,比如EJB、JMS、web服務(wù)和JCA綁定可被用于調(diào)用這里描述的面向服務(wù)的體系結(jié)構(gòu)的各個實施例中的服務(wù)。在實施例中,可提供應(yīng)用編程接口(API)以幫助訪問服務(wù)。API可提供各種功能,比如為服務(wù)選擇特定的綁定,其中所述選擇建立在條件或事件的基礎(chǔ)上,比如選擇適合于特定應(yīng)用程序的綁定。例如,綁定可在靈活性方面有所不同,API可根據(jù)訪問服務(wù)的應(yīng)用程序或裝置的情況應(yīng)用或緊或松的綁定。在實施例中,API可以是Java API或者類似設(shè)施。在實施例中,相同的Java API可被用于多種不同綁定。在實施例中,可為服務(wù)提供智能客戶端程序。智能客戶端程序可以是API之上的另一層。可通過與服務(wù)相關(guān)的注冊器保存和訪問智能客戶端程序。例如,應(yīng)用程序可根據(jù)使用應(yīng)用程序的裝置,應(yīng)用程序的語境等,下載適當?shù)闹悄芸蛻舳顺绦颉@?,智能客戶端程序可被用于緩存由服?wù)使用的某些信息,并打包地把信息發(fā)送給服務(wù),而不是使應(yīng)用程序不斷訪問該服務(wù)。例如,當訪問記錄服務(wù)時,用戶可能希望只記錄錯誤,而不是記錄所有事件。通過保持在預(yù)定時間之前的事件,用戶能夠減少對服務(wù)器的調(diào)用次數(shù),同時仍然能夠捕捉所有必需的事件。從而,智能客戶端程序能夠執(zhí)行優(yōu)化裝置或應(yīng)用程序?qū)Ψ?wù)的使用的各種規(guī)則。在實施例中,智能客戶端程序能夠根據(jù)訪問的狀況、裝置的能力、訪問的語境等,單獨地或者與API互動地選擇綁定,所述綁定優(yōu)化客戶端裝置或應(yīng)用程序與服務(wù)的綁定。智能客戶端程序或API可被用于保存各種訪問規(guī)則。例如,所述規(guī)則可指出如果裝置或應(yīng)用程序在防火墻之內(nèi),那么它能夠利用EJB綁定來訪問服務(wù),而如果裝置或應(yīng)用程序在防火墻之外,那么它將利用web服務(wù)綁定來訪問服務(wù)。任何這樣的規(guī)則可被具體體現(xiàn)在API中,或者可被包括在智能客戶端程序中,它可和服務(wù)一起被隨意列舉在注冊器中,并且可由訪問該服務(wù)的客戶端裝置或應(yīng)用程序下載。
面向服務(wù)的體系結(jié)構(gòu)的好處之一在于它便于訪問服務(wù)的客戶端裝置或應(yīng)用程序與服務(wù)本身的代碼之間的松散耦接;即,客戶端裝置或應(yīng)用程序能夠調(diào)用和使用服務(wù),而不必非常了解該服務(wù)的代碼,只需要滿足某些預(yù)定輸入,比如向服務(wù)輸入什么(例如,文件、查詢的回答等)。但是,不存在緊密耦接會導(dǎo)致性能問題,因為為了使之更通用,從服務(wù)描述中省略了語境相關(guān)優(yōu)化例程。通過確保最佳地訪問服務(wù),比如通過選擇正確的綁定,高速緩存數(shù)據(jù)以便批處理,從而避免為較小的作業(yè)不斷調(diào)用服務(wù)等等,API和/或智能客戶端程序能夠彌補降低的性能。從而,智能客戶端程序在松散耦合環(huán)境中提供有效的性能。從而,智能客戶端程序橋接緊密耦接環(huán)境和松散耦接環(huán)境之間的間隙,并且允許訪問服務(wù)的用戶、應(yīng)用程序或裝置按照性能預(yù)期或要求,沿著松散耦接和緊密耦接(比如EJB)之間的范圍(spectrum)選擇一種綁定。例如,EJB耦接比web服務(wù)表現(xiàn)更好,因為EJB耦接生性被更緊密地耦接在客戶端應(yīng)用程序和服務(wù)器端之間。通過高速緩存或者緩沖信息,并且恰當?shù)胤峙l(fā)送所述信息,智能客戶端程序改進EJB和web服務(wù)的性能。在不可能或者不值得高速緩存或緩沖項目的情況下,系統(tǒng)可使用緊密的EJB綁定來獲得良好的性能。在實施例中,API可隱藏客戶端裝置或應(yīng)用程序正在使用的綁定。借助智能客戶端程序,通過調(diào)整客戶端程序和服務(wù)器之間的耦接度,用戶能夠調(diào)整系統(tǒng)的性能。
在實施例中,面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的運行時可以是另一服務(wù),比如上面說明的一個或多個公共服務(wù)的客戶端程序本身。在實施例中,前述可利用AOP來實現(xiàn)。在AOP中,稱為攔截器的實體能夠把策略和服務(wù)關(guān)聯(lián)起來。在服務(wù)的策略之內(nèi),攔截器可被插入策略中,攔截器可以是公共服務(wù)的客戶端程序。例如,服務(wù)中的策略可包括調(diào)用監(jiān)視服務(wù)的攔截器。從而,AOP技術(shù)可被用于把攔截器的代碼插入這里描述的各種服務(wù)的代碼中。在AOP中,用戶能夠創(chuàng)建一段代碼,并且在執(zhí)行所述代碼的時候,把“方面(aspect)”-將在運行時插入的一長串東西和所述代碼關(guān)聯(lián)起來。此時在該代碼中,運行時程序調(diào)用另一段代碼,比如調(diào)用一個服務(wù),而不是執(zhí)行該代碼通常進行的操作。此時,該代碼調(diào)用獨立編譯的另一函數(shù)。從而,當程序員查看源代碼尋找運行時程序時,程序員看不到攔截器調(diào)用的那一段的源代碼。例如,就Java來說,程序可編譯源代碼,從而創(chuàng)建字節(jié)碼(它是Java的運行時),Java虛擬機讀取該字節(jié)碼。程序具有Java碼和所述方面(aspect)。AOP編譯器進行字節(jié)碼處理,并調(diào)用其它類型的代碼,比如面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成用框架,包括為實現(xiàn)數(shù)據(jù)集成任務(wù)而開發(fā)的代碼的模塊,和作為在面向服務(wù)體系結(jié)構(gòu)中組織的服務(wù)的代碼的部署。代碼模塊可以是J2EE工件。
這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成用框架,包括建立面向服務(wù)的體系結(jié)構(gòu),在面向服務(wù)的體系結(jié)構(gòu)內(nèi),部署可被任何其它服務(wù),包括面向服務(wù)的體系結(jié)構(gòu)本身訪問的公共部署。公共服務(wù)可以是監(jiān)視服務(wù)、事務(wù)處理服務(wù)、供應(yīng)服務(wù)、事件管理服務(wù)、安全服務(wù)、審計服務(wù)和/或記錄服務(wù)。服務(wù)可被插入應(yīng)用程序和另一服務(wù)至少之一的代碼中的攔截器調(diào)用。服務(wù)還可包括把擴展與公共服務(wù)關(guān)聯(lián)起來,其中所述擴展識別體系結(jié)構(gòu)內(nèi)供模塊、應(yīng)用程序和體系結(jié)構(gòu)內(nèi)的另一服務(wù)中的至少之一監(jiān)視的公共服務(wù)。
這里描述的方法和系統(tǒng)還包括提供一種提供數(shù)據(jù)集成服務(wù)的方法,包括建立用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu),其中該服務(wù)具有一個以上的綁定,和根據(jù)訪問特性自動產(chǎn)生該服務(wù)的一種綁定。訪問特性可基于調(diào)用該服務(wù)的裝置、應(yīng)用程序和/或服務(wù)中的至少之一。
從而,這里描述的方法和系統(tǒng)包括按照各種方式,比如明確地從應(yīng)用程序或者從另一裝置,或者從插入服務(wù)策略中的攔截器使用公共服務(wù)。這允許相同的公共服務(wù)被任意服務(wù)實現(xiàn)者使用,以及透明地被面向服務(wù)的體系結(jié)構(gòu)框架使用,比如通過AOP子系統(tǒng)。
在各個實施例中,通過各種輸入和輸出設(shè)施,包括綁定和類似設(shè)施,比如EJB、JMS、web服務(wù)、SOAP和其它綁定,能夠訪問這里描述的模塊、設(shè)施、工具、作業(yè)、服務(wù)、過程和函數(shù)。
在實施例中,這里描述的方法和系統(tǒng)可包括優(yōu)化客戶端裝置對模塊、設(shè)施、作業(yè)、服務(wù)、過程、函數(shù)等的訪問的客戶端設(shè)施。在實施例中,這里描述的方法和系統(tǒng)可包括優(yōu)化客戶端裝置對模塊、設(shè)施、作業(yè)、服務(wù)、過程、函數(shù)等的訪問的服務(wù)器端設(shè)施。
在另一方面,這里公開的方法可包括提供用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu);部署面向服務(wù)的體系結(jié)構(gòu)內(nèi)的服務(wù),所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)中可用的許多綁定;和為所述服務(wù)自動選擇所述許多綁定之一。包含在計算機可讀介質(zhì)中的計算機程序產(chǎn)品可包括提供用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu)的計算機可執(zhí)行代碼;部署面向服務(wù)的體系結(jié)構(gòu)內(nèi)的服務(wù)的計算機可執(zhí)行代碼,所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)中可用的許多綁定;和為所述服務(wù)自動選擇所述許多綁定之一的計算機可執(zhí)行代碼。系統(tǒng)可包括用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu);面向服務(wù)的體系結(jié)構(gòu)內(nèi)的服務(wù),所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)中可用的許多綁定;和為所述服務(wù)自動選擇所述許多綁定之一的軟件模塊。
在上面的方法、系統(tǒng)和計算機程序產(chǎn)品中,自動選擇可包括根據(jù)規(guī)則,為所述服務(wù)選擇所述許多綁定之一,和/或可包括根據(jù)調(diào)用所述服務(wù)的實體的訪問特性進行選擇。所述實體可包括裝置、應(yīng)用程序和服務(wù)中的一個或多個。
上面的方法、系統(tǒng)和計算機程序產(chǎn)品可包括提供用于調(diào)用服務(wù)的客戶調(diào)用框架??蛻粽{(diào)用框架可包括動態(tài)調(diào)用所述服務(wù)的許多綁定中的任意之一的接口。所述方法、系統(tǒng)和計算機程序產(chǎn)品可包括產(chǎn)生所述接口的多個代理,所述多個代理可包括至少一個C++代理和至少一個C#代理。客戶調(diào)用框架可以與語言無關(guān)??蛻粽{(diào)用框架可以是基于代理的。所述服務(wù)包括至少一種數(shù)據(jù)集成功能。
在另一方面,這里描述的方法、系統(tǒng)和計算機程序產(chǎn)品可包括面向方向的編程系統(tǒng),用于實現(xiàn)面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的策略管理,其中策略管理器管理服務(wù)和綁定策略。面向方面的編程攔截器可把策略和服務(wù)關(guān)聯(lián)起來,每個攔截器可以是在運行時提供策略管理的公共服務(wù)的客戶端程序。
在其它方面,計算機程序產(chǎn)品可包括計算機可用介質(zhì),所述計算機可用介質(zhì)包括計算機可讀程序代碼,其中當在一個或多個計算機上執(zhí)行時,所述計算機可讀程序代碼使一個或多個計算機執(zhí)行上述任意一種或多種方法。
這里使用的“數(shù)據(jù)源”或“數(shù)據(jù)目標”意圖具有與這些術(shù)語相符的最寬的可能含義,包括數(shù)據(jù)庫、多個數(shù)據(jù)庫、儲存庫信息管理器、隊列、消息服務(wù)、儲存庫、數(shù)據(jù)設(shè)施、數(shù)據(jù)存儲裝置、數(shù)據(jù)提供者、網(wǎng)站、服務(wù)器、計算機、計算機存儲裝置、CD、DVD、移動存儲裝置、中央存儲裝置、硬盤、多調(diào)諧數(shù)據(jù)存儲裝置、RAM、ROM、閃速存儲器、存儲卡、臨時存儲裝置、永久存儲裝置、磁帶、本地連接的計算裝置、遠程連接的計算裝置、無線裝置、有線裝置、移動裝置、中央裝置、web瀏覽器、客戶端、膝上型計算機、個人數(shù)字助手(“PDA”)、電話機、蜂窩電話機、移動電話機、信息平臺、分析裝置、處理裝置、商業(yè)企業(yè)系統(tǒng)或者處理數(shù)據(jù)的其它裝置或者提供的保存數(shù)據(jù)或其它信息的其它裝置,以及保持在任意上述系統(tǒng)中使用的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),或者任何流化、消息化、事件驅(qū)動的或者其它來源的數(shù)據(jù)的文件或文件類型,和上面所述的任意組合,除非另外指出特定的含義或者短語的上下方要求另外的含義。存儲機構(gòu)是任意邏輯或物理裝置、資源、或者能夠充當數(shù)據(jù)源或數(shù)據(jù)目標的裝置。
“企業(yè)型Java Bean(EJB)”包括J2EE平臺的服務(wù)器方組件體系結(jié)構(gòu)。EJB支持快速、簡化地開發(fā)分布式、事務(wù)性、安全并且可移植的Java應(yīng)用程序。EJB支持允許消息的同時消費的容器體系結(jié)構(gòu),并且提供對分布式事務(wù)的支持,從而利用J2EE體系結(jié)構(gòu)的數(shù)據(jù)庫更新、消息處理和與企業(yè)系統(tǒng)的連接能夠參與相同的事務(wù)語境。
這里使用的“國際商用機器”或者“IBM”指的是Armonk,NewYork的國際商用機器公司。
“JMS”意味著Java消息服務(wù),Java消息服務(wù)是基于Java的J2EE企業(yè)體系結(jié)構(gòu)的一種企業(yè)消息服務(wù)。“JCA”意味著下面更詳細說明的J2EE平臺的J2EE連接器體系結(jié)構(gòu)。應(yīng)認識到雖然EJB、JMS和JCA是當代的分布式事務(wù)環(huán)境中的常用軟件工具,不過提供類似功能的任何平臺、系統(tǒng)或體系結(jié)構(gòu)可和這里描述的數(shù)據(jù)集成系統(tǒng)一起采用。
這里使用的“實時”包括接近商業(yè)事務(wù)或業(yè)務(wù)的持續(xù)時間的時間周期,并且包括與離線,例如在每夜的批處理操作中發(fā)生的過程或服務(wù)相對的在業(yè)務(wù)操作或業(yè)務(wù)中發(fā)生的過程或服務(wù)。根據(jù)商業(yè)過程的持續(xù)時間,實時可包括幾秒,幾分之一秒,幾分鐘,幾小時或者甚至幾天。
這里使用的“商業(yè)過程”、“商業(yè)邏輯”和“商業(yè)事務(wù)”包括可由企業(yè)執(zhí)行的任何方法、服務(wù)、操作、過程或事務(wù),包括(但不限于)銷售、行銷、合同履行、庫存管理、定價、產(chǎn)品設(shè)計、職業(yè)服務(wù)、金融服務(wù)、行政管理、財政、保險業(yè)、分析、訂合同、信息技術(shù)服務(wù)、數(shù)據(jù)存儲、數(shù)據(jù)挖掘、信息的傳遞、物品的發(fā)送、調(diào)度、通信、投資、交易、供貨、推銷、廣告、出價、工程、制造、供應(yīng)鏈管理、人力資源管理、數(shù)據(jù)處理、數(shù)據(jù)集成、工作流程管理、軟件生產(chǎn)、硬件生產(chǎn)、新產(chǎn)品的開發(fā)、研究、開發(fā)、策略功能、質(zhì)量控制和保險、包裝、后勤、客戶關(guān)系管理、處理折扣和返還、客戶支持、產(chǎn)品維護、電話銷售、企業(yè)傳播、投資人關(guān)系和其它許多。
這里使用的“面向服務(wù)的體系結(jié)構(gòu)”(SOA)包括構(gòu)成商業(yè)企業(yè)的基礎(chǔ)結(jié)構(gòu)的一部分的服務(wù)。在SOA中,服務(wù)可變成應(yīng)用程序開發(fā)和部署的構(gòu)件決,便于快速應(yīng)用程序開發(fā)和避免冗余代碼。每種服務(wù)可具體體現(xiàn)被約束在周圍環(huán)境,比如服務(wù)的數(shù)據(jù)輸入的源或者服務(wù)的數(shù)據(jù)輸出的目標上的一組商業(yè)邏輯或商業(yè)規(guī)則。在下面的說明中提供SOA的各種實例。
這里使用的“元數(shù)據(jù)”包括產(chǎn)生正被處理的數(shù)據(jù)的語境的數(shù)據(jù),和正被處理的數(shù)據(jù)有關(guān)的數(shù)據(jù),與相關(guān)信息的語境有關(guān)的信息,與數(shù)據(jù)的起源有關(guān)的信息,與數(shù)據(jù)的位置有關(guān)的信息,與數(shù)據(jù)的含意有關(guān)的信息,與數(shù)據(jù)的壽命有關(guān)的信息,與數(shù)據(jù)的標題有關(guān)的信息,與數(shù)據(jù)的單位有關(guān)的信息,與數(shù)據(jù)的字段有關(guān)的信息和/或與涉及數(shù)據(jù)的語境的任何其它信息有關(guān)的信息。
這里使用的“WSDL”或者“Web服務(wù)描述語言”包括把網(wǎng)絡(luò)服務(wù)(通常web服務(wù))描述成作用于包含面向文檔或者面向過程信息的消息的一組端點。操作和消息被抽象描述,隨后被綁定到具體的網(wǎng)絡(luò)協(xié)議和消息格式上,從而定義一個端點。相關(guān)的具體端點被組合成抽象端點(服務(wù))。WSDL是可擴展的,從而允許端點和它們的消息的描述,而不管什么消息格式或網(wǎng)絡(luò)協(xié)議被用于通信。
這里使用的“元代理”包括調(diào)用轉(zhuǎn)換(translation)引擎或者其它裝置對數(shù)據(jù)或元數(shù)據(jù)進行轉(zhuǎn)換操作或者其它操作的系統(tǒng)或方法。轉(zhuǎn)換操作或其它操作可涉及數(shù)據(jù)或元數(shù)據(jù)從一種或多種格式、語言和/或數(shù)據(jù)模型到一種或多種格式、語言和/或數(shù)據(jù)模型的轉(zhuǎn)換。


圖1是具有多個商業(yè)過程的商業(yè)企業(yè)的示意圖,每個商業(yè)過程可包括多個不同的計算機應(yīng)用程序和數(shù)據(jù)源。
圖2是表示跨越商業(yè)企業(yè)的多個商業(yè)過程的數(shù)據(jù)集成的示意圖。
圖3是表示為商業(yè)企業(yè)的多個數(shù)據(jù)源提供數(shù)據(jù)集成的體系結(jié)構(gòu)的示意圖。
圖4表示與其它項目有關(guān)的一個項目。
圖5表示與其它項目有關(guān)的一個項目。
圖6A表示在某一語境中的一個項目。
圖6B表示在某一語境中的一個項目。
圖7表示某些串。
圖8表示一個項目和對應(yīng)的串。
圖9表示一個串及其某些變異。
圖10表示作用于某些串的轉(zhuǎn)換引擎。
圖11表示可以多種形式或?qū)嵗嬖诘囊粋€項目。
圖12表示可以多種形式或?qū)嵗嬖谟谥行幕驍?shù)據(jù)庫中的一個項目。
圖13表示在不同抽象層次下的中心中的項目。
圖14表示在數(shù)據(jù)庫或中心奪取所有項目的轉(zhuǎn)換過程。
圖15A表示在數(shù)據(jù)庫或中心過濾項目的轉(zhuǎn)換過程。
圖15B表示轉(zhuǎn)換查詢的轉(zhuǎn)換過程。
圖16A表示包括面向服務(wù)的體系結(jié)構(gòu)設(shè)施的數(shù)據(jù)集成系統(tǒng)的概觀。
圖16B表示包括面向服務(wù)的體系結(jié)構(gòu)的數(shù)據(jù)集成系統(tǒng)的另一類似體系結(jié)構(gòu)的高級示意圖。
圖16C表示能夠?qū)崿F(xiàn)面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的模塊。
圖16D表示能夠?qū)崿F(xiàn)面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的其它模塊。
圖16E表示具有智能客戶端的面向服務(wù)的體系結(jié)構(gòu)。
圖16F表示面向服務(wù)體系結(jié)構(gòu)的一個特定實施例。
圖16G表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的模塊、服務(wù)和/或裝置的開發(fā)和部署。
圖17表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的模塊的部署。
圖18表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)變換模塊的開發(fā)和部署。
圖19表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)裝入模塊的開發(fā)和部署。
圖20表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的元數(shù)據(jù)管理模塊的開發(fā)和部署。
圖21表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)剖析模塊的開發(fā)和部署。
圖22表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)審計模塊的開發(fā)和部署。
圖23表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)清洗模塊的開發(fā)和部署。
圖24表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)質(zhì)量模塊的開發(fā)和部署。
圖25表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)匹配模塊的開發(fā)和部署。
圖26表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的元代理模塊的開發(fā)和部署。
圖27表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)遷移模塊的開發(fā)和部署。
圖28表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)儲存庫模塊的開發(fā)和部署。
圖29表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的語義識別模塊的開發(fā)和部署。
圖30表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的過濾模塊的開發(fā)和部署。
圖31表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的精煉和選擇模塊的開發(fā)和部署。
圖32表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)庫內(nèi)容分析模塊的開發(fā)和部署。
圖33表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)庫表分析模塊的開發(fā)和部署。
圖34表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)庫行分析模塊的開發(fā)和部署。
圖35表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)庫結(jié)構(gòu)分析模塊的開發(fā)和部署。
圖36表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的推薦模塊的開發(fā)和部署。
圖37表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的主鍵模塊的開發(fā)和部署。
圖38表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的外鍵模塊的開發(fā)和部署。
圖39表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的表標準化模塊的開發(fā)和部署。
圖40表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的源-目標映射模塊的開發(fā)和部署。
圖41表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的自動數(shù)據(jù)集成作業(yè)生成模塊的開發(fā)和部署。
圖42表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的缺陷探測模塊的開發(fā)和部署。
圖43表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的性能測量模塊的開發(fā)和部署。
圖44表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)去重模塊的開發(fā)和部署。
圖45表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的統(tǒng)計分析模塊的開發(fā)和部署。
圖46表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)調(diào)諧模塊的開發(fā)和部署。
圖47表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的變換函數(shù)庫模塊的開發(fā)和部署。
圖48表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的版本管理模塊的開發(fā)和部署。
圖49表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的版本管理模塊的開發(fā)和部署。
圖50表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的并行執(zhí)行模塊的開發(fā)和部署。
圖51表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)劃分模塊的開發(fā)和部署。
圖52表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的劃分和重新劃分模塊的開發(fā)和部署。
圖53表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)庫接口模塊的開發(fā)和部署。
圖54表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)集成模塊的開發(fā)和部署。
圖55表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的同步模塊的開發(fā)和部署。
圖56表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的元數(shù)據(jù)目錄供給模塊的開發(fā)和部署。
圖57表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的圖形描述模塊的開發(fā)和部署。
圖58表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的元代理模塊的開發(fā)和部署。
圖59表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的元數(shù)據(jù)中心儲存庫模塊的開發(fā)和部署。
圖60表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的打包應(yīng)用連接性工具箱模塊的開發(fā)和部署。
圖61表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的行業(yè)專用數(shù)據(jù)模型存儲模塊的開發(fā)和部署。
圖62表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的模板模塊的開發(fā)和部署。
圖63表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的商業(yè)規(guī)則創(chuàng)建模塊的開發(fā)和部署。
圖64表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的確認表創(chuàng)建模塊的開發(fā)和部署。
圖65表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)集成模塊的開發(fā)和部署。
圖66表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的商業(yè)度量創(chuàng)建模塊的開發(fā)和部署。
圖67表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的目標數(shù)據(jù)庫定義模塊的開發(fā)和部署。
圖68表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的主機數(shù)據(jù)剖析模塊的開發(fā)和部署。
圖69表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的批處理模塊的開發(fā)和部署。
圖70表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的交叉表分析模塊的開發(fā)和部署。
圖71表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的關(guān)系分析模塊的開發(fā)和部署。
圖72表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)定義語言代碼生成模塊的開發(fā)和部署。
圖73表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的設(shè)計接口模塊的開發(fā)和部署。
圖74表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)集成作業(yè)開發(fā)模塊的開發(fā)和部署。
圖75表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的數(shù)據(jù)集成作業(yè)部署模塊的開發(fā)和部署。
圖76表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的記錄服務(wù)模塊的開發(fā)和部署。
圖77表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的監(jiān)視服務(wù)模塊的開發(fā)和部署。
圖78表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的安全模塊的開發(fā)和部署。
圖79表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的許可模塊的開發(fā)和部署。
圖80表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的事件管理模塊的開發(fā)和部署。
圖81表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的供應(yīng)模塊的開發(fā)和部署。
圖82表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的事務(wù)模塊的開發(fā)和部署。
圖83表示作為面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的審計模塊的開發(fā)和部署。
圖84表示服務(wù)、API和智能客戶端。
具體實施例方式
在下面的說明中,相同的附圖標記指的是相同的部件,除非另外明確說明。
這里公開的發(fā)明可以采取純硬件實施例,純軟件實施例或包含硬件部件和軟件部件的實施例的形式。在一個優(yōu)選實施例中,用軟件實現(xiàn)本發(fā)明,所述軟件包括(但不限于)固件、駐留軟件、微代碼等。
此外,本發(fā)明可以采取可從計算機可用或計算機可讀介質(zhì)存取的計算機程序產(chǎn)品的形式,所述計算機可用或計算機可讀介質(zhì)提供供計算機或者任何指令執(zhí)行系統(tǒng)之用或者與之結(jié)合使用的程序代碼。對于本說明來說,計算機可用或計算機可讀介質(zhì)可以是能夠包含、保存、傳遞、傳播或傳送供指令執(zhí)行系統(tǒng)、設(shè)備或裝置之用或者與之結(jié)合使用的程序的任意設(shè)備。
所述介質(zhì)可以是電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)(或設(shè)備或裝置)或者傳播介質(zhì)。計算機可讀介質(zhì)的例子包括半導(dǎo)體或固體存儲器、磁帶、可拆卸的計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。目前的光盤例子包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫存儲器(CD-R/W)和DVD。
適合于保存和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括至少一個通過總線直接或間接地與存儲元件耦合的處理器。存儲元件可包括在程序代碼的實際執(zhí)行期間采用的本地存儲器,大容量存儲器和提供至少一些程序代碼的臨時存儲,以減少執(zhí)行期間,必須從大容量存儲器取回代碼的次數(shù)。
輸入/輸出或者說I/O裝置(包括但不限于鍵盤、顯示器、指示裝置等)可直接地或者通過居中的I/O控制器與數(shù)據(jù)處理系統(tǒng)耦接。
網(wǎng)絡(luò)適配器也可與系統(tǒng)耦接,從而使數(shù)據(jù)處理系統(tǒng)能夠通過居中的專用或公共網(wǎng)絡(luò),與其它數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲裝置耦接。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡只是目前可用的各類網(wǎng)絡(luò)適配器中的一些。
圖1表示便于商業(yè)企業(yè)的各種數(shù)據(jù)的集成的平臺100。該平臺包括多個商業(yè)過程,每個商業(yè)過程可包括多個不同的計算機應(yīng)用程序和數(shù)據(jù)源。該平臺可包括幾個數(shù)據(jù)源102,數(shù)據(jù)源102可以是如上所述的那些數(shù)據(jù)源。這些數(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可包括使用數(shù)據(jù)產(chǎn)品或者標準,比如IMS、DB2、ADABAS、VSAM、MD系列、UDB、XML、復(fù)合平面文件、或者FTP文件的系統(tǒng)。數(shù)據(jù)源102可包括由諸如Microsoft Outlook、Microsoft Word、Microsoft Excel、MicrosoftAccess之類應(yīng)用程序創(chuàng)建或使用的文件,以及諸如ASCII、CSV、GIF、TIF、PNG、PDP之類標準格式的文件。數(shù)據(jù)源102可來自于不同的位置,或者它們可位于中心。從數(shù)據(jù)源102供給的數(shù)據(jù)可以不同的格式到來,并且具有可能相互兼容也可能相互不兼容的不同格式。
數(shù)據(jù)目標在后面說明。一般來說,這些數(shù)據(jù)目標可以是上述任意數(shù)據(jù)耦接102。命名方面的這種差別一般表示在數(shù)據(jù)集成過程中,數(shù)據(jù)系統(tǒng)是提供數(shù)據(jù)還是接收數(shù)據(jù)。但是,應(yīng)認識到這種區(qū)別并不意圖轉(zhuǎn)達數(shù)據(jù)源和數(shù)據(jù)目標之間能力的差別(除非另外明確指出),因為在常規(guī)的數(shù)據(jù)集成系統(tǒng)中,數(shù)據(jù)源可接收數(shù)據(jù),數(shù)據(jù)目標可提供數(shù)據(jù)。
圖1中圖解說明的平臺還包括數(shù)據(jù)集成系統(tǒng)104。數(shù)據(jù)集成系統(tǒng)可簡化作為數(shù)據(jù)集成系統(tǒng)接收查詢或檢索命令的結(jié)果,從數(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ù)在內(nèi)的各種格式,因此數(shù)據(jù)集成系統(tǒng)可重新配置接收的數(shù)據(jù),以致接收的數(shù)據(jù)隨后可被組合以便集中處理。下面更詳細地說明可由數(shù)據(jù)集成系統(tǒng)104執(zhí)行的功能。
平臺100還包括幾個檢索系統(tǒng)108。檢索系統(tǒng)108可包括用于進一步處理來自數(shù)據(jù)集成系統(tǒng)104的數(shù)據(jù)的數(shù)據(jù)庫或處理平臺。例如,數(shù)據(jù)集成系統(tǒng)104可凈化、組合、變換或以其它方式處理它從數(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ù)的任何其它表現(xiàn)。
平臺100還可包括數(shù)據(jù)庫或數(shù)據(jù)庫管理系統(tǒng)112。數(shù)據(jù)庫112可用于臨時地、永久地或者長期地保存數(shù)據(jù)。例如,數(shù)據(jù)集成系統(tǒng)104可從一個或多個數(shù)據(jù)源102收集數(shù)據(jù),并把數(shù)據(jù)變換成相互兼容的形式,或者適合于相互組合的形式。一旦數(shù)據(jù)被變換,那么數(shù)據(jù)集成系統(tǒng)104可按照分解形式、組合形式或者其它形式保存在數(shù)據(jù)庫112中以便稍后檢索。
圖2是表示跨越商業(yè)企業(yè)的多個實體和商業(yè)過程的數(shù)據(jù)集成的示意圖。在圖解說明的實施例中,數(shù)據(jù)集成系統(tǒng)104簡化用戶接口系統(tǒng)202和數(shù)據(jù)源10之間的信息流動。數(shù)據(jù)集成系統(tǒng)104可接收來自接口系統(tǒng)202的查詢,其中所述查詢使駐留在一個或多個數(shù)據(jù)源102中的數(shù)據(jù)的提取和可能的變換成為必需。接口系統(tǒng)202可包括與數(shù)據(jù)集成系統(tǒng)104通信的任意裝置或程序,比如在膝上型計算機或桌面計算機上工作的web瀏覽器、蜂窩電話機、個人數(shù)字助手(“PDA”)、連網(wǎng)平臺及與之連接的裝置、或者可能與數(shù)據(jù)集成系統(tǒng)104面接的任何其它裝置或系統(tǒng)。
例如,用戶可能正在操作一個PDA,并且通過WiFi或無線接入?yún)f(xié)議/無線置標語言(“WAP/WML”)接口向數(shù)據(jù)集成系統(tǒng)發(fā)出信息請求。數(shù)據(jù)集成系統(tǒng)104可接收該請求,并產(chǎn)生任何請求的查詢,以便從網(wǎng)站或者其它數(shù)據(jù)源102,比如FTP文件站點訪問信息。來自數(shù)據(jù)源102的數(shù)據(jù)可被提取并被變換成與發(fā)出請求的接口系統(tǒng)(在本例中,PDA)兼容的格式,隨后被傳送給接口系統(tǒng)202供用戶查看和處理。在另一實施例中,數(shù)據(jù)可能先前已從數(shù)據(jù)源被提取,并被保存在獨立的數(shù)據(jù)庫112中,數(shù)據(jù)庫112可以是數(shù)據(jù)倉庫或者數(shù)據(jù)集成系統(tǒng)104使用的其它數(shù)據(jù)設(shè)施。數(shù)據(jù)可能已按照變換后的情形或者以其初始狀態(tài)被保存在數(shù)據(jù)庫112中。例如,數(shù)據(jù)可按照變換后的情形被保存,以致來自許多數(shù)據(jù)源102的數(shù)據(jù)可在另一變換過程中被組合。例如,來自PDA的查詢可被傳送給數(shù)據(jù)集成系統(tǒng)104,數(shù)據(jù)集成系統(tǒng)104可從數(shù)據(jù)庫112提取信息。在所述提取之后,數(shù)據(jù)集成系統(tǒng)104可把數(shù)據(jù)變換成與PDA兼容的組合格式,之后傳送給PDA。
圖3是表示向商業(yè)企業(yè)提供多個數(shù)據(jù)源102的數(shù)據(jù)集成的體系結(jié)構(gòu)的示意圖。數(shù)據(jù)集成系統(tǒng)104的一個實施例可包括從數(shù)據(jù)源提取數(shù)據(jù)并分析源數(shù)據(jù)的列值和表格結(jié)構(gòu),以及執(zhí)行其它過程的發(fā)現(xiàn)數(shù)據(jù)階段302。發(fā)現(xiàn)數(shù)據(jù)階段302還可產(chǎn)生關(guān)于數(shù)據(jù)目標的表格結(jié)構(gòu)、關(guān)系和關(guān)鍵字的推薦。更高級的剖析和審計功能可包括數(shù)據(jù)范圍確認、計算的準確性、if-then評估的準確性等。發(fā)現(xiàn)數(shù)據(jù)階段302可使數(shù)據(jù)歸一化,例如通過消除源數(shù)據(jù)中的冗余相關(guān)性和其它異常。發(fā)現(xiàn)數(shù)據(jù)階段302可提供另外的功能,比如深挖(drill down)數(shù)據(jù)源102中的例外以便進一步分析,或者能夠?qū)崿F(xiàn)主機數(shù)據(jù)的直接剖析。在IBM的WebSphere ProfileStage產(chǎn)品中可找到發(fā)現(xiàn)數(shù)據(jù)階段302的商業(yè)實施例的一個非限制性例子。
數(shù)據(jù)集成系統(tǒng)104還可包括數(shù)據(jù)準備階段304,在數(shù)據(jù)準備階段304,數(shù)據(jù)被準備、標準化、匹配或者以其它方式處理,從而產(chǎn)生稍后將被變換的質(zhì)量數(shù)據(jù)。數(shù)據(jù)準備階段304可執(zhí)行類屬數(shù)據(jù)質(zhì)量功能,比如調(diào)和不一致性或者檢查數(shù)據(jù)內(nèi)的正確匹配(包括一對一匹配,一對多匹配,和去除重復(fù)數(shù)據(jù))。數(shù)據(jù)準備階段304還可提供專用數(shù)據(jù)增強功能。例如,數(shù)據(jù)準備階段304可確保地址符合改進的國際通信用跨國郵政索引。數(shù)據(jù)準備階段304可使位置數(shù)據(jù)符合空間信息管理用跨國地理編碼標準。數(shù)據(jù)準備階段可修改或增加地址,以確保地址信息根據(jù)政府核準的美國地址更正,取得美國郵政服務(wù)郵費率折扣的資格。類似的分析和數(shù)據(jù)修改可被提供給加拿大和澳大利亞郵政系統(tǒng),加拿大和澳大利亞郵政系統(tǒng)為收信地址正確的郵件提供折扣率。在IBM的WebSphere QualityStage產(chǎn)品中可找到數(shù)據(jù)準備階段304的商業(yè)實施例的一個非限制性例子。
數(shù)據(jù)集成系統(tǒng)還可包括一個變換、富集(enrich)和遞送變換后數(shù)據(jù)的數(shù)據(jù)變換階段308。數(shù)據(jù)變換階段308可進行過渡服務(wù),比如數(shù)據(jù)的重新組織和重新形成,并根據(jù)系統(tǒng)用戶的商業(yè)規(guī)則和算法進行計算。數(shù)據(jù)變換階段308還可把目標數(shù)據(jù)組織成稱為數(shù)據(jù)集市(datamart)或者立方體的子集,以便在某些分析語境中更調(diào)諧地處理數(shù)據(jù)。數(shù)據(jù)變換階段308可采用橋、轉(zhuǎn)換器或者其它接口(如下概述)來跨越數(shù)據(jù)集成系統(tǒng)104使用的各種數(shù)據(jù)源和數(shù)據(jù)目標的各種軟件和硬件體系結(jié)構(gòu)。數(shù)據(jù)變換階段308可包括圖形用戶接口,命令行接口,或者這些接口的一些組合來設(shè)計跨平臺100的數(shù)據(jù)集成作業(yè)。在IBM的WebSphere DataStage產(chǎn)品中可找到數(shù)據(jù)變換階段308的商業(yè)實施例的一個非限制性例子。
可利用并行執(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ù)源102相關(guān)的元數(shù)據(jù)的元數(shù)據(jù)管理系統(tǒng)312。一般來說,元數(shù)據(jù)管理系統(tǒng)312可跨越數(shù)據(jù)集成環(huán)境中的所有工具,提供元數(shù)據(jù)的互換、集成、管理和分析。例如,元數(shù)據(jù)管理系統(tǒng)312可提供不同的來源,例如IBM的WebSphereODBC MetaBroker、CA ERwin,IBM的WebSphere ProfileStage,IBM的WebSphere DataStage,IBM的WebSphere QualityStage,IBM DB2Cube Views和Cognos Profilestage中的數(shù)據(jù)的常見、普遍的可訪問視圖。元數(shù)據(jù)管理系統(tǒng)312還可為數(shù)據(jù)結(jié)構(gòu)的變化提供用于分析數(shù)據(jù)沿襲和影響的分析工具。元數(shù)據(jù)管理系統(tǒng)312還可被用于為數(shù)據(jù)集成系統(tǒng)內(nèi)的數(shù)據(jù)準備數(shù)據(jù)定義、算法和商業(yè)環(huán)境的商業(yè)數(shù)據(jù)術(shù)語表,所述術(shù)語表可被公布以便在整個企業(yè)內(nèi)使用。在IBM的WebSphereMetaStage產(chǎn)品中可找到數(shù)據(jù)管理系統(tǒng)312的商業(yè)實施例的一個非限制性例子。
參見圖4,可關(guān)于各種語境和分層結(jié)構(gòu)說明與企業(yè)相關(guān)的項目,以便捕捉項目的語義語境。從而,圖4描述項目的一個語義標識符。項目可以是對象、類、屬性、數(shù)據(jù)項、數(shù)據(jù)模型、元數(shù)據(jù)模型、模型、定義、身份、結(jié)構(gòu)、語言、映射、關(guān)系、實例或其它項目或概念,包括另一語義標識符。語義標識符可根據(jù)項目的屬性,項目的物理位置,項目與一個或多個其它項目的關(guān)系,例如在分層結(jié)構(gòu)中的關(guān)系等來識別項目。在一些情況下,關(guān)系可被定義為某一特定關(guān)系的不存在。關(guān)系可涉及項目在關(guān)系分層結(jié)構(gòu)中的位置。例如,在圖4中,可根據(jù)項目1 5202和與之關(guān)聯(lián)的其它項目的關(guān)系,識別項目1 5202。項目1 5202可被識別成與項目2 5204、項目3 5204和項目4 5210直接相關(guān),與項目5 5212間接相關(guān),并通過項目5 5212和項目5 5210與項目6 5214間接相關(guān)。項目1還可被識別成與項目2 5204、項目3 5204和項目45210直接相關(guān)。在實施例中,項目1 5202和項目5 5212及項目6 5214之間的間接關(guān)系可被記錄在項目1 5202到項目4 5210的關(guān)系中。除了靜態(tài)標識符之外,這種串聯(lián)或遞歸的識別還允許動態(tài)標識符。例如,如果項目4 5210和項目6 5214之間的關(guān)系改變,那么通過項目4 5210的并入,項目1 5202的包含項目2 5204、項目3 5204和項目4 5210的語義標識符會體現(xiàn)這種變化,不需要為了說明項目6 5214方面的變化而被更新,好像項目6 5214被直接包括在語義標識符中那樣。
圖5表示了語義標識符的一個更具體例子。Jim可被識別成居住在111 Anyroad,Anytown,Anystate USA,電話號碼為555-555-5555并且社會保險號為013-65-8067的Jim。另一方面,可按照Jim與其它人的關(guān)系識別他。如圖5中所示,Jim可被識別成Betty的兒子,Larryt和Jeff的兄弟,Jessica的父親,以及Frank的侄子。
語義標識符可以是一個項目的唯一標識符。在圖5的例子中,如果在世界上只存在一個為Betty的兒子,Larryt和Jeff的兄弟,Jessica的父親,以及Frank的侄子的Jim,那么該語義標識符是Jim的唯一標識符。某一項目的唯一語義標識符可能考慮比該項目與其它項目的所有關(guān)系少的關(guān)系。在圖5的例子中,如果世界上只有一個Jim是Betty的兒子,Larry的兄弟和Jessica的父親,那么這些關(guān)系的單獨存在就足以產(chǎn)生個唯一的語義標識符。不需要考慮Jim與Jeff和Frank的關(guān)系。創(chuàng)建一個以確保唯一性的最少數(shù)量的關(guān)系為基礎(chǔ)的語義標識符是有利的。例如,如果語義標識符將被保存在數(shù)據(jù)庫112中或者將由數(shù)據(jù)集成系統(tǒng)104處理,那么不太復(fù)雜的語義標識符需要較少的空間,并且便于更快速地處理。
創(chuàng)建某一項目的唯一語義標識符所需的關(guān)系的數(shù)目可能根據(jù)語境發(fā)生變化。圖6A描述關(guān)心的兩個項目項目1 5402和項目7 5404。在語境A 5408中,可依據(jù)項目1 5402與項目5 5410和項目6 5412的關(guān)系,把項目1 5402和項目7 5404區(qū)分開。即,在語境A中,項目15402的唯一語義標識符可以是直接與項目2、3和4相關(guān)的語義標識符,通過項目4間接與項目5 5410相關(guān)的語義標識符,通過項目5 5410和項目4間接與項目6 5412相關(guān)的語義標識符。在語境A中,項目75494的唯一標識符可以是只與項目2和3直接相關(guān)的語義標識符。圖6B表示在不同語境B,語境B 5414中的項目1 5402。為了在語境B5414中唯一地識別項目1 5402,可以考慮項目1 5402與項目4的直接關(guān)系,與項目6的直接關(guān)系的不存在,或者與項目5的間接關(guān)系中的任意一個或多個。在語境B 5414中,項目1 5402在語義上可被唯一地識別成與項目2和3直接相關(guān),但是不與項目6直接相關(guān)。從而,在語境A 5408和語境B 5414之間,項目1的唯一標識符不同。從而,在這里描述的數(shù)據(jù)集成方法和系統(tǒng)的實施例中,項目的語義標識符,比如與數(shù)據(jù)集成作業(yè)或者數(shù)據(jù)集成平臺相關(guān)的項目可具備該項目的語境相關(guān)標識符。在實施例中,可以原子格式把這樣的語境相關(guān)標識符保存在數(shù)據(jù)儲存庫中。
在其它實施例中,語境A 5408和B 5414可以是兩個不同的進口、映射、運行版本run version、模型、元代理(metabroker)模型、實例、工具、視圖、對象、類、項目、關(guān)系、屬性或者上述任意的任意組合。匹配或比較裝置可比較在不同進口、運行版本、模型、元代理模型、實例、工具和/或項目中,一個項目的身份的語法,并根據(jù)所述比較確定或幫助確定要采取或者要避免采取什么行動。例如,匹配引擎可比較進口實例A使用的模型和元代理B使用的模型。根據(jù)該比較,可確定元代理B可在沒有變換或修改的情況下訪問進口實例A的數(shù)據(jù)和元數(shù)據(jù),比較裝置可指令元代理B繼續(xù)前進。在另一例子中,可比較工具A 5408和工具B 5414,可確定進行交叉工具對象合并,其中每個工具能夠訪問和使用另一工具的對象。在實施例中,比較裝置可觸發(fā)轉(zhuǎn)換裝置幫助交叉工具對象合并,例如建立橋,元代理,中心(hub)等,以便轉(zhuǎn)換任何需要轉(zhuǎn)換的對象,所述轉(zhuǎn)換比如是以在每個相應(yīng)工具中特定項目的身份的處理的不同語法為基礎(chǔ)的轉(zhuǎn)換,或者以所述比較確定的工具之間的其它差別為基礎(chǔ)的轉(zhuǎn)換。
在實施例中,可用以串結(jié)構(gòu)或格式保存、維持、記錄、處理和/或解釋的語法保存、維持、記錄、處理和/或解釋語義標識符。圖7描述語法和用該語法構(gòu)成的對應(yīng)串的一個例子。語法5502可以是列名稱表名稱數(shù)據(jù)庫名稱。該語法可與識別數(shù)據(jù)庫中的一個表的某一列的語法標識符相關(guān)。以該語法構(gòu)成的串5504可以是年齡雇員雇員數(shù)據(jù)庫。該串可與識別特定雇員數(shù)據(jù)庫中某一雇員的年齡的語義標識符相關(guān)。在圖6B的例子中,對應(yīng)于語境B 5414中項目15402的語義標識符的串可以是與項目2的直接關(guān)系與項目3的直接關(guān)系與項目4的間接關(guān)系。語義標識符和對應(yīng)的串還可體現(xiàn)項目1 5402和項目6之間直接關(guān)系的不存在。
在圖8中,項目9 5602的串格式的語義標識符可以是直接到項目2直接到項目3直接到項目4間接到項目5 5604。串能夠被解析。語法和/或串可被截短、修改和/或語法和/或串的元素可被重新排序。在圖9中,串5702是串5604的截斷,串5704是串504的截斷和修改和/或重新排序,串5708是串5606的個性和/或重新排序。所述截斷、修改和/或重新排序可由轉(zhuǎn)換引擎進行。當就語義標識符的唯一性來說,不需要包括在語法和/或串中的所有關(guān)系時,截短語法和/或串是有益的。假定在串5604的指定語境中,所有項目都與項目3直接相關(guān);例如,項目3是其中保存所有項目的數(shù)據(jù)庫。串5604可被截短,從而產(chǎn)生串5702,省略涉及項目3的關(guān)系,同時仍然是一個唯一的標識符。截短語法和/或串可降低存儲要求,并提高處理效率。改變語法和/或串中的關(guān)系的順序也有益于減少數(shù)據(jù)集成過程的處理時間。如果首先處理不太常見的關(guān)系,那么系統(tǒng)很可能只需要訪問和處理與某一項目相關(guān)的較少關(guān)系就能夠識別該項目。例如,如果很少的項目與項目3相關(guān),更少的項目與項目4相關(guān),并且許多項目與項目2相關(guān),那么取決于語境,與串5604相比,串5708可能便于在較短的時間中識別項目9。在該語境中唯一地識別項目9可能只需要串5708的前兩個元素,而需要串5604的前三個元素。
轉(zhuǎn)換引擎可對一個或多個語義標識符,數(shù)據(jù)庫112,包括語義標識符的數(shù)據(jù)庫112,信息系統(tǒng),包括語義標識符的信息系統(tǒng)或者其它項目進行轉(zhuǎn)換操作。圖10描述作用于體現(xiàn)為串5804的語義標識符,以及作用于體現(xiàn)為位于數(shù)據(jù)庫5808中的串的的語義標識符的轉(zhuǎn)換引擎5802。轉(zhuǎn)換操作可轉(zhuǎn)換或者以其它方式修改語義標識符的格式、語言和/或數(shù)據(jù)模型。轉(zhuǎn)換操作可涉及從一個或多數(shù)據(jù)工具、語言、格式和/或數(shù)據(jù)模型到至少一種其它的數(shù)據(jù)工具、語言、格式和/或數(shù)據(jù)模型的轉(zhuǎn)換或映射,或者從至少一種其它的數(shù)據(jù)工具、語言、格式和/或數(shù)據(jù)模型到一個或多數(shù)據(jù)工具、語言、格式和/或數(shù)據(jù)模型的轉(zhuǎn)換或映射。例如,轉(zhuǎn)換操作可涉及往來于已知的數(shù)據(jù)集成工具,或者已知的數(shù)據(jù)集成工具之間的轉(zhuǎn)換或映射,所述已知的數(shù)據(jù)集成工具例如是IBM的WebSphere DataStage 7,IBM的WebSphere QualityStage,Business Object工具,IBM-DB2 Cube Views,UML 1.1,UML 1.3,ERStudio,IBM的WebSphere ProfileStage,PowerDesigner(另外支持Packages and Extended Attributes)和/或MicroStrategy工具。轉(zhuǎn)換引擎和/或轉(zhuǎn)換操作可隨意地包含在元代理中??煞峙?,實時地和/或連續(xù)地進行、執(zhí)行和/或?qū)嵤┺D(zhuǎn)換操作??梢苑?wù)的形式,例如作為面向服務(wù)的體系結(jié)構(gòu)的一部分的形式提供服務(wù)或者使之可用。SOA可以是商業(yè)企業(yè)的企業(yè)計算系統(tǒng)的基礎(chǔ)結(jié)構(gòu)的一部分。在SOA中,服務(wù)變成應(yīng)用程序開發(fā)和部署的構(gòu)件塊,允許快速應(yīng)用程序開發(fā)和避免冗余代碼。每個服務(wù)具體體現(xiàn)周圍的環(huán)境,例如服務(wù)的數(shù)據(jù)輸入的來源或者服務(wù)的數(shù)據(jù)輸出的目標看不見的一組商業(yè)邏輯或者商業(yè)規(guī)則。從而,服務(wù)可隨同各種應(yīng)用程序被重新使用,只要在服務(wù)和應(yīng)用程序之間建立了正確的輸入和輸出。面向服務(wù)的體系結(jié)構(gòu)允許保護服務(wù)免受環(huán)境變化的影響,以致即使周圍的計算機環(huán)境被改變,該體系結(jié)構(gòu)也能夠正常工作。從而,服務(wù)不需要被記錄成基礎(chǔ)結(jié)構(gòu)變化的結(jié)果,這可節(jié)省時間和工作。SOA可用于一個web服務(wù),可涉及三個實例,一個服務(wù)提供者,一個服務(wù)請求者和一個服務(wù)注冊器。注冊器可以是公共注冊器或者專用注冊器。服務(wù)請求者可搜索注冊器尋找適當?shù)姆?wù)。一旦發(fā)現(xiàn)適當?shù)姆?wù),服務(wù)請求者可接收調(diào)用該服務(wù)所必需的代碼,例如Web服務(wù)描述語言(“WDSL”)代碼。WSDL是通常用于描述web服務(wù)的編程語言。服務(wù)請求者隨后例如通過恰當格式(例如關(guān)于web服務(wù)消息的簡單對象訪問協(xié)議(“SOAP”)格式)的消息,與服務(wù)提供者連接,以便調(diào)用該服務(wù)。SOAP協(xié)議是在web服務(wù)中傳送數(shù)據(jù)的優(yōu)選協(xié)議。SOAP協(xié)議定義web服務(wù)客戶端和web服務(wù)服務(wù)器之間消息的交換格式。SOAP協(xié)議使用可擴展置標語言(“XML”)方案,XML是在web服務(wù)中常見的用于標記數(shù)據(jù)的類似語言規(guī)范,不過也可使用其它置標語言。
一旦對于語義標識符,數(shù)據(jù)庫112,包括一個或多個語義標識符的數(shù)據(jù)庫112,信息系統(tǒng),包括一個或多個語義標識符的信息系統(tǒng)或者其它項目來說,存在轉(zhuǎn)換操作,那么它可被轉(zhuǎn)換成或者轉(zhuǎn)換自,映射到,鏈接到任意其它的語義標識符,數(shù)據(jù)庫112,包括一個或多個語義標識符的數(shù)據(jù)庫112,信息系統(tǒng),包括一個或多個語義標識符的信息系統(tǒng)或者共享至少一個轉(zhuǎn)換操作的其它項目,和任意其它的語義標識符,數(shù)據(jù)庫112,包括一個或多個語義標識符的數(shù)據(jù)庫112,信息系統(tǒng),包括一個或多個語義標識符的信息系統(tǒng)或者共享至少一個轉(zhuǎn)換操作的其它項目一起使用或者與之相聯(lián)系。在實施例中,例如通過把原子數(shù)據(jù)儲存庫用作轉(zhuǎn)換操作的中心,除了其它之外,轉(zhuǎn)換操作的映射跟蹤在初始語義語境和轉(zhuǎn)換后的語義語境之間來回執(zhí)行的轉(zhuǎn)換操作中轉(zhuǎn)換的數(shù)據(jù)。根據(jù)語境,數(shù)據(jù)的適當標識符可變化,例如在語義語境變化的情況下,通過改變或者截短語法和/或串,從而能夠?qū)崿F(xiàn)更有效的存儲或更快的處理,或者通過改變用于形成唯一標識符的關(guān)系。從而,在使用數(shù)據(jù)項的各種語境中,動態(tài)標識符能夠結(jié)合可回溯轉(zhuǎn)換的優(yōu)點與快速處理、有效的數(shù)據(jù)處理和有效操作的優(yōu)點。
指定的項目,比如在模型中具有身份的項目可以多種形式或?qū)嵗嬖?,例如物理實例和邏輯建模實例。圖11描述一個項目,即雇員信息表5902。但是,概念或?qū)嶓w“雇員”可以多種不同的形式存在于企業(yè)內(nèi)。例如,雇員表5902可以保存和雇員相關(guān)的值的物理表的形式存在于物理數(shù)據(jù)存儲裝置中。另一方面,實體雇員也可被表現(xiàn)為邏輯實例,例如邏輯建?;顒?908中代表雇員的圖標或文本,或者各種其它的形式或?qū)嵗?。即,相同的項?包括任何相關(guān)的數(shù)據(jù)或元數(shù)據(jù))可跨視圖、模型、結(jié)構(gòu)或數(shù)據(jù)集成環(huán)境,以多種形式或?qū)嵗嬖谟跀?shù)據(jù)庫、數(shù)據(jù)儲存庫、模型、中心等中。圖12描述在數(shù)據(jù)庫6002中呈一種形式或者單一實例,和/或在數(shù)據(jù)庫6004或中心6008中呈一個以上的形式或?qū)嵗墓蛦T表5902。
為了區(qū)分項目的各種形式或?qū)嵗?,可以使用任何區(qū)別特性,例如抽象層次,項目的物理性質(zhì),項目在分層結(jié)構(gòu)中的位置,項目在數(shù)據(jù)庫中的位置,其中發(fā)現(xiàn)項目的語境,項目的語法,項目與其它項目的關(guān)系,項目的屬性,項目的類別或者其它特性。例如,參見圖5,根據(jù)年齡、性別、發(fā)色、IQ、政治面貌和/或過去三個月中看醫(yī)生的次數(shù)區(qū)分項目,或者說這種情況下區(qū)別個人。例如,如果年齡被選為產(chǎn)品區(qū)別特性,那么Jessica是唯一一個小于10歲的,Betty是唯一一個介于57歲和67歲之間的,Jim是唯一一個37歲的。在另一例子中,項目的不同形式或?qū)嵗纱嬖谟诓煌某橄髮哟位蛘卟煌恼Z境中。例如,雇員表可以多種形式或?qū)嵗嬖谟谥行?102中,例如物理雇員表5904(比如用于把和關(guān)于雇員的數(shù)據(jù)有關(guān)的值保存在數(shù)據(jù)庫中),和邏輯雇員模型5908(比如將用在和雇員相關(guān)的過程的視圖中)。
區(qū)分識別的特定項目的不同實例能夠?qū)崿F(xiàn)各種其它方法和過程。例如,在一個實施例中,項目,比如名為“雇員”的表可被帶到中心。中心收集者在中心中具有“雇員”的兩種形式中實例;一種對應(yīng)于物理數(shù)據(jù)庫實例,另一種對應(yīng)于邏輯建?;顒?。區(qū)別特性,比如中心中起因于該項目的項目特性可以供區(qū)分物理實例和邏輯模型實例或形式之用。在實施例中,區(qū)別特性可被稱為抽象層次,以便區(qū)別邏輯抽象層次和物理抽象層次。在其它情況下,中心可把其它特征與項目關(guān)聯(lián)起來,比如不同形式的標識符、關(guān)系、類、屬性、物理位置、邏輯位置、模型等。
如圖14中所述,當進行操作時,例如選擇將被裝入數(shù)據(jù)庫中的數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù),產(chǎn)生查詢等時,系統(tǒng),比如轉(zhuǎn)換引擎6204能夠從中心208或數(shù)據(jù)庫6210奪取、裝入或者獲得所有項目。它可根據(jù)任意區(qū)別特性選擇或過濾6204項目。例如,它可選擇或濾出具有物理抽象層次,和其它項目具有特殊關(guān)系,具有邏輯抽象層次,在規(guī)定的日期和時間之前創(chuàng)建的,或者具有任何其它區(qū)別特性的那些實例或形式。從而,這里描述的方法和系統(tǒng)根據(jù)任何區(qū)別特性,有選擇地處理相同項目或?qū)嶓w的實例。
如圖15A中所示,當進行響應(yīng)查詢6202的數(shù)據(jù)集成操作,比如轉(zhuǎn)換操作時,轉(zhuǎn)換引擎6204可在中心6208或數(shù)據(jù)庫6210過濾或選擇項目,包括任何數(shù)據(jù)和/或元數(shù)據(jù),只奪取、裝入或獲得相關(guān)抽象層次的那些項目。例如,它可濾出或選出具有邏輯抽象層次的那些實例或形式,只保留具有物理抽象層次的那些實例或形式??稍谶\行時或者設(shè)計時進行所述過濾或選擇,可以分批地、實時地或者連續(xù)地進行所述過濾或選擇。在實施例中,可以面向服務(wù)的體系結(jié)構(gòu)中的RTI服務(wù)的形式提供這樣的過濾或選擇方法。
過濾或選擇可以在開發(fā)時、設(shè)計時或者運行時由轉(zhuǎn)換引擎和/或系統(tǒng)獲得的信息為基礎(chǔ),例如數(shù)據(jù)模型的映射,元數(shù)據(jù)模型的映射,區(qū)別特性,項目與其它項目的關(guān)系,項目的屬性,或者標識符的語法。在實施例中,所述信息可被實時地動態(tài)更新。
在整個過程中,過濾或選擇越接近中心或數(shù)據(jù)庫,操作就越高效和越快。如圖15B中所示,轉(zhuǎn)換引擎6204可對查詢6202本身進行轉(zhuǎn)換操作,產(chǎn)生修改的查詢6402,修改的查詢6402可被直接發(fā)送給中心6208或數(shù)據(jù)庫6210以便進一步處理。例如,可用直接與中心6208或者數(shù)據(jù)庫6210的本地格式兼容的格式呈遞修改的查詢6402。例如,通過用數(shù)據(jù)庫6210的本地格式呈遞查詢,系統(tǒng)能夠提高對該查詢的處理效率。類似地,查詢6402可被過濾,或者可產(chǎn)生諸如選擇命令之類的命令,以保持邏輯建模實體而不是物理實體,在這種情況下,可按照適合于邏輯建?;顒?,而不是適合于數(shù)據(jù)庫的格式(例如圖形用戶接口)呈遞查詢6402。當然,不僅查詢,而且其它消息和操作都可按照抽象層次被過濾,使得能夠跨數(shù)據(jù)集成平臺跟蹤相同的實體,并按照特定的數(shù)據(jù)集成活動的適當操作環(huán)境處理相同的實體。
這里描述的方法和系統(tǒng)可被用于捕捉語義語境,以及關(guān)于和企業(yè)相關(guān)的各種項目處理數(shù)據(jù)集成任務(wù),所述各種項目比如是對象、數(shù)據(jù)項、數(shù)據(jù)、列、行、表、數(shù)據(jù)庫、實例、屬性、元數(shù)據(jù)、概念、題目、主題、語義標識符、其它標識符、RFID標簽、廠家、供應(yīng)者、消費者、個人、團體、機構(gòu)、用戶、網(wǎng)絡(luò)、系統(tǒng)、設(shè)備、家庭、商店、產(chǎn)品、生產(chǎn)線、產(chǎn)品特征、產(chǎn)品規(guī)格、產(chǎn)品屬性、價格、成本、材料單、裝運數(shù)據(jù)、稅款數(shù)據(jù)、課程、教育規(guī)劃、位置、地圖、部門、組織、有機體、過程、規(guī)則、法律、收費制、物品、服務(wù)和/或服務(wù)提供。
這里描述的方法和系統(tǒng)可用在各種語義語境中,例如企業(yè)方法中的步驟,數(shù)據(jù)庫中的數(shù)據(jù),行或列中的數(shù)據(jù),表中的行或列,數(shù)據(jù)庫中的行或列,表中的數(shù)據(jù),數(shù)據(jù)庫中的表,數(shù)據(jù)庫中的元數(shù)據(jù),中心或儲存庫的項目,數(shù)據(jù)庫中的項目,表中的項目,列中的項目,行中的項目,機構(gòu)中的人,通信的發(fā)送者或接收者,網(wǎng)絡(luò)上的用戶,網(wǎng)絡(luò)上的系統(tǒng),網(wǎng)絡(luò)上的設(shè)備,家庭中的成員,商店中的物品,菜單上的菜,生產(chǎn)線上的產(chǎn)品,產(chǎn)品提供中的產(chǎn)品,教育或訓(xùn)練計劃中的課程或步驟,地圖上的位置,物品的位置,機構(gòu)的部門,團體中的個人,規(guī)則體系中的規(guī)則,一套服務(wù)中的服務(wù),企業(yè)的組織層次中的實體,供應(yīng)鏈中的實體,市場中的消費者,購買決策的購買者,商品或服務(wù)的價格,商品或服務(wù)的成本,產(chǎn)品或系統(tǒng)的組件,方法的步驟,小組的成員或者其它許多。
參見圖16A,體系結(jié)構(gòu)的高級示意圖描述多個服務(wù)如何可被組合成起集成應(yīng)用程序的作用,所述集成應(yīng)用程序統(tǒng)一數(shù)據(jù)集成解決方案的開發(fā)、部署、操作和生存周期管理。把數(shù)據(jù)集成任務(wù)統(tǒng)一到單一平臺可消除對設(shè)施和開發(fā)的不同階段的獨立軟件產(chǎn)品的需要。雖然在統(tǒng)一的視圖中示出,不過應(yīng)明白單個的模塊、過程、服務(wù)和功能都可獨立提供,例如通過以面向服務(wù)體系結(jié)構(gòu)中的服務(wù)的形式,獨立地調(diào)用它們中的每一個。
體系結(jié)構(gòu)6430可包括GUI/工具框架6432,智能自動化層6403,一個或多個客戶端程序6434,API 6438,核心服務(wù)6440,產(chǎn)品功能服務(wù)6442,元數(shù)據(jù)服務(wù)6452,元數(shù)據(jù)儲存庫6454,具有組件運行時6450和連接器6448的一個或多個運行時引擎6444。體系結(jié)構(gòu)6430可被部署在面向服務(wù)的體系結(jié)構(gòu),例如上面所述的任意面向服務(wù)的體系結(jié)構(gòu)上。
保存在元數(shù)據(jù)儲存庫6454中的元數(shù)據(jù)模型在過程的從設(shè)計到部署的每個步驟,在整個系統(tǒng)內(nèi)提供數(shù)據(jù)的公共內(nèi)部表現(xiàn)。公共服務(wù)可為批處理、并行處理、直通處理、流水線操作、建模、模擬、概念化、詳細設(shè)計、測試、調(diào)試、確認、部署、執(zhí)行、監(jiān)視、測量、改進、升級、報告、系統(tǒng)管理和經(jīng)營創(chuàng)造條件。模型可被記錄在其它系統(tǒng)組件能夠訪問的目錄中。公共模型可提供眾多的全套項目的公共表現(xiàn)(所有產(chǎn)品功能服務(wù)共有),所述全套項目包括元數(shù)據(jù)(包括數(shù)據(jù)簡表信息的數(shù)據(jù)描述性數(shù)據(jù)),數(shù)據(jù)集成過程規(guī)范,用戶,機器和軟件配置等。這些公共模型能夠?qū)崿F(xiàn)企業(yè)資源和集成過程的公共用戶視圖,不論用戶正在使用什么產(chǎn)品功能,并且不需要集成的產(chǎn)品功能之間的模型轉(zhuǎn)換。
面向服務(wù)的體系結(jié)構(gòu)(SOA)被表示成包含所有的服務(wù),并且為從GUI 6432經(jīng)運行時引擎6444和連接6448到計算環(huán)境的所有服務(wù)的協(xié)調(diào)創(chuàng)造了條件??杀4嬖谠獢?shù)據(jù)儲存庫6454中的公共模型允許SOA無縫提供多種服務(wù)或多個模型之間的互動。通過使用公共核心服務(wù)6440、產(chǎn)品功能服務(wù)6442和元數(shù)據(jù)服務(wù)6452,SOA可向數(shù)據(jù)集成設(shè)計和部署的所有方面顯露GUI 6432,并且可通過智能自動化層6403工作。公共模型和服務(wù)為關(guān)于設(shè)計和部署過程中的各種動作,GUI6432中對象的公共表現(xiàn)創(chuàng)造條件。GUI 6432可具有與SOA協(xié)調(diào)的服務(wù)對接的多個客戶端程序6434??蛻舳顺绦?204允許用戶與具有多種技術(shù)水平的數(shù)據(jù)集成設(shè)計面接,所述多種技術(shù)水平使用戶能夠起跨適當組織層次的小組的作用。SOA 5201可提供對公共核心服務(wù)5210和產(chǎn)品功能服務(wù)5212的訪問,以及為數(shù)據(jù)集成設(shè)計中的功能和服務(wù),提供對API 5208的后端支持。服務(wù)可被多個客戶端程序5204和其它服務(wù)共享和重新使用。例如,GUI 6432可以是專門用來與特定的RTI服務(wù)(比如以服務(wù)的形式顯露特定的數(shù)據(jù)集成作業(yè))一起工作的客戶端應(yīng)用程序的GUI。另一方面,GUI 6432可以是用于產(chǎn)品服務(wù)6442,比如數(shù)據(jù)集成服務(wù),例如提取、變換、裝入、清洗、剖析、審計、匹配等的GUI。在其它情況下,GUI 6432可以是公共服務(wù)6440,比如記錄或事件管理服務(wù)的GUI或客戶端程序。客戶端程序6434允許用戶與具有多種技術(shù)水平的數(shù)據(jù)集成設(shè)計面接,所述多種技術(shù)水平使用戶能夠起跨適當組織層次的小組的作用。
SOA可提供對公共核心服務(wù)6440、產(chǎn)品功能服務(wù)644和與元數(shù)據(jù)相關(guān)的服務(wù)的訪問。SOA還可包括一個或多個API 6438,所述一個或多個API 6438向外部應(yīng)用程序和服務(wù)顯露數(shù)據(jù)集成平臺中的功能和服務(wù)。服務(wù)可被多個客戶端程序6434、API、裝置、應(yīng)用程序和其它服務(wù)共享和重新使用。智能自動化層6403可采用該體系結(jié)構(gòu)內(nèi)的元數(shù)據(jù)和服務(wù)來簡化GUI 6432內(nèi)的用戶選擇,例如通過只顯示相關(guān)的用戶選擇,或者使常見的、頻繁的和/或明顯的操作自動化。智能自動化層6403可自動產(chǎn)生某些作業(yè),診斷設(shè)計和設(shè)計選擇,以及調(diào)整性能。智能自動化層6403還能夠支持高級設(shè)計范例,比如商業(yè)環(huán)境的工作流管理或者建模,并且更一般地可應(yīng)用計劃了解或其它前后關(guān)系了解來幫助用戶更快更有效地實現(xiàn)數(shù)據(jù)集成解決方案。
公共核心服務(wù)6440能夠提供通??煽缭綌?shù)據(jù)集成解決方案的設(shè)計和部署的各個方面使用的公共功能服務(wù),例如一個或多個公共注冊器的目錄服務(wù),記錄和審計服務(wù),監(jiān)視,事件管理,事務(wù)處理服務(wù),安全,許可(比如許可策略的創(chuàng)建和強制實施,以及與外部許可服務(wù)的通信),以及SOA服務(wù)的供應(yīng)和管理。公共核心服務(wù)6440可允許相對于公共GUI 6432的函數(shù)和對象的共同表征。任何其它服務(wù),比如產(chǎn)品功能服務(wù)6442、RTI服務(wù)或者其它服務(wù),裝置、應(yīng)用程序或模塊能夠訪問任何特定公共服務(wù)6440的客戶端程序,或者充當任何特定公共服務(wù)6440的客戶端程序。
其它特定于產(chǎn)品的功能服務(wù)6442可包含在產(chǎn)品功能服務(wù)6442中,并且能夠向特定的適當客戶端程序6434和服務(wù)提供服務(wù)。例如,這些可包括引入和瀏覽外部元數(shù)據(jù),以及剖析、分析和產(chǎn)生報告。其它功能可以是更面向設(shè)計的,比如通過該體系結(jié)構(gòu)設(shè)計、編譯、部署和運行數(shù)據(jù)集成服務(wù)的服務(wù)。當適當?shù)娜蝿?wù)被使用并且能夠提供面向任務(wù)的GUI 6432時,GUI 6432能夠訪問產(chǎn)品功能服務(wù)6442。面向任務(wù)的GUI可以只向用戶呈現(xiàn)適合于數(shù)據(jù)集成設(shè)計中的動作的函數(shù)。
應(yīng)用程序接口(API)6438可提供用于訪問整個體系結(jié)構(gòu),包括其中的任意或者全部的服務(wù)、儲存庫、引擎和連接器的編程接口。API6438可包含供各種服務(wù)使用和/或由各種服務(wù)創(chuàng)建的常用函數(shù)庫,并且可被遞歸調(diào)用。
圖16A另外表示了可控制對元數(shù)據(jù)儲存庫6454的訪問的元數(shù)據(jù)和儲存庫服務(wù)6454。所有函數(shù)把由其自己的特定函數(shù)模型表示的元數(shù)據(jù)保存在元數(shù)據(jù)儲存庫6454中的公共儲存庫中。函數(shù)可共享公共模型,或者使用元數(shù)據(jù)映射在它們自己的模型之間動態(tài)轉(zhuǎn)換語義。在數(shù)據(jù)集成設(shè)計中使用的所有內(nèi)部元數(shù)據(jù)和數(shù)據(jù)被保存在元數(shù)據(jù)儲存庫6454中,對外部元數(shù)據(jù)和數(shù)據(jù)的訪問可由保存在元數(shù)據(jù)儲存庫6454中并且受元數(shù)據(jù)和儲存庫服務(wù)6452控制的中心(一種元數(shù)據(jù)模型)提供。元數(shù)據(jù)和元數(shù)據(jù)模型可保存在元數(shù)據(jù)儲存庫6454中,元數(shù)據(jù)和儲存庫服務(wù)6452可保持元數(shù)據(jù)版本,持續(xù)時間,元數(shù)據(jù)和元數(shù)據(jù)模型的簽入和簽出,以及在與其它元數(shù)據(jù)調(diào)和之前,用戶所創(chuàng)建的中間元數(shù)據(jù)的儲存庫空間。元數(shù)據(jù)和儲存庫服務(wù)6452可向多個服務(wù)、GUI 6432、內(nèi)部客戶端程序6434和利用儲存庫中心的外部客戶端程序提供對元數(shù)據(jù)儲存庫6454的訪問。其它服務(wù)和客戶端程序6434對元數(shù)據(jù)儲存庫6454的訪問允許元數(shù)據(jù)在SOA協(xié)調(diào)的無縫事務(wù)中被所述其它服務(wù)訪問、變換、組合、清洗和查詢。
運行時引擎6444(可存在幾個運行時引擎)可使用適配器和連接器6448與外部來源通信。引擎6444可被暴露給用戶創(chuàng)建的設(shè)計,從而根據(jù)計算環(huán)境創(chuàng)建編譯和部署的解決方案。運行時引擎6444可向計算機環(huán)境提供最新的綁定,并且可向用戶提供獨立地計算機環(huán)境考慮因素,設(shè)計數(shù)據(jù)集成解決方案的能力。與SOA服務(wù)配合的運行引擎6444允許用戶進行設(shè)計,而不受運行時編譯問題的限制。運行時引擎6444可編譯數(shù)據(jù)集成解決方案,并且自動為高吞吐量或高并行性的環(huán)境提供適當部署的運行時。從為各種服務(wù)提供對接口和應(yīng)用規(guī)范的訪問的注冊器,服務(wù)可被部署成J2EE結(jié)構(gòu)。服務(wù)可支持多種協(xié)議,比如HTTP、Corba/RMI、JMS、JCA等,供不同種類的硬件和軟件環(huán)境之用。與這些協(xié)議的綁定可由運行時引擎6444自動選擇,或者作為部署過程的一部分由用戶手動從GUI 6432選擇。
外部連接器6448可提供對網(wǎng)絡(luò)或其它外部資源的訪問,并且把多個執(zhí)行引擎和其它變換執(zhí)行環(huán)境,比如Java或保存的進程的公共接入點提供給外部資源。
要認識到可提供另外的功能層來幫助選擇和使用各種運行時引擎6444。當提供所述另外的功能層以支持高吞吐量或高并行性部署時,這是特別有益的。例如,運行時引擎6444可包括適合于解析長度可能無限的大事務(wù),以及實時事務(wù)的連續(xù)流的事務(wù)引擎。運行時引擎6444還可包括適合于處理小的獨立事務(wù)的平行(或并行)引擎。并行引擎試圖把過程分解成流水線功能或者一些其它的分塊流程,并且能夠很好地處理大量的相似工作單位。并行引擎適合于接收已被分解成流水線化或者以其它方式分塊的流程的預(yù)處理輸入(和輸出)。編譯和優(yōu)化層可確認如何把過程提供給這些各個引擎,例如通過把并行引擎的輸出預(yù)處理成小塊。通過把連接器集中在體系結(jié)構(gòu)內(nèi),能夠更緊密地控制各個引擎之間過程的分布,以及在用戶接口層提供對這種控制的可訪問性。另外,變換過程中連接性的常見中間表現(xiàn)能夠?qū)崿F(xiàn)自動化策略的部署,執(zhí)行引擎的不同組合的選擇,以及基于元數(shù)據(jù)或剖析的優(yōu)化。
這里描述的體系結(jié)構(gòu)6430向用戶的工作環(huán)境提供高度的靈活性和可定制性。這可適用于環(huán)繞現(xiàn)有的或者規(guī)劃的工作流和設(shè)計過程配置用戶環(huán)境。通過構(gòu)成組件并把組件組合成組成物,用戶能夠創(chuàng)建特定的功能服務(wù),所述組成物又可充當組件,從而允許新組件的設(shè)計中模塊性的遞歸嵌套。組件和組成物可被保存在由元數(shù)據(jù)和儲存庫服務(wù)6452提供訪問的元數(shù)據(jù)儲存庫6454中。元數(shù)據(jù)和儲存庫服務(wù)6452可向具有公共接口的公共數(shù)據(jù)定義提供多種服務(wù),并且可提供對本地數(shù)據(jù)格式和行業(yè)標準格式的支持。這里描述的體系結(jié)構(gòu)的模塊性使得能夠把任何企業(yè)函數(shù)或集成過程打包成具有從公共核心服務(wù)6440選擇的組件和產(chǎn)品功能服務(wù)6442的其它一些組件,以及整個體系結(jié)構(gòu)的其它組件的程序包??梢怨埠诵姆?wù)6442的形式提供由系統(tǒng)組件產(chǎn)生程序包的能力。通過這種打包能力,能夠構(gòu)成任何的任意函數(shù),只要它能夠表述成已存在于體系結(jié)構(gòu)6430內(nèi)的原子服務(wù)、組件和組成物的組合。體系結(jié)構(gòu)6430的打包能力可與用戶接口的任務(wù)導(dǎo)向相結(jié)合,從而實現(xiàn)特別適合于用戶希望的任意工作流或者設(shè)計方法的用戶接口。
圖16B是描述包括SOA的數(shù)據(jù)集成系統(tǒng)的另一體系結(jié)構(gòu)的高級示意圖,在實施例中,SOA可以是IBM的IBM WebSphere ServicesBackbone。該體系結(jié)構(gòu)可包括和結(jié)合圖16A說明的那些組件類似的組件,比如一個或多個GUI 6434,所述GUI 6434可包括用來與各種RTI服務(wù)(比如在本公開內(nèi)容內(nèi)描述的各種RTI服務(wù))交互作用的特定客戶端程序6480。GUI 6430可包括各種其它GUI,比如用于各種數(shù)據(jù)集成工具(比如IBM的WebSphere DataStage,Metastage,RTI,Datastage TX和其它工具,以及其它廠家的工具)的GUI。從而,專門設(shè)計的GUI,比如RTI客戶端程序6480,或者常規(guī)的GUI 6434可簡化與數(shù)據(jù)集成平臺的函數(shù)、過程、模塊和服務(wù)的互動。在實施例中,GUI 6434可以是部署在面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的客戶端程序。在這種體系結(jié)構(gòu)中能夠?qū)崿F(xiàn)各種服務(wù)。除了如上所述的實時數(shù)據(jù)集成服務(wù)或者說RTI服務(wù)之外,該平臺還包括其它產(chǎn)品服務(wù)6442,比如執(zhí)行特定的數(shù)據(jù)集成功能的服務(wù)。各種產(chǎn)品服務(wù)6442可被顯露成SOA中的服務(wù),從而能夠?qū)崿F(xiàn)對函數(shù)的訪問,而需要函數(shù)被獨立編碼。下面詳細說明了這種產(chǎn)品服務(wù)6442的許多實施例。另外,該體系結(jié)構(gòu)可包括公共服務(wù)6440,公共服務(wù)6440包括可用于各種應(yīng)用程序、模塊、過程或函數(shù)的各種服務(wù)。如下所述,GUI 6434、產(chǎn)品服務(wù)6442、其它公共服務(wù)6440和其它應(yīng)用程序能夠充當任意公共服務(wù)6440的客戶端程序,根據(jù)需要調(diào)用公共服務(wù)6440,從而實現(xiàn)公共功能,比如記錄、事件管理、監(jiān)視、供應(yīng)、安全等。下面說明這種公共服務(wù)6440的許多實施例。SOA還可以與公共模型和儲存庫數(shù)據(jù)和元數(shù)據(jù)6454互動,包括顯著SOA中與元數(shù)據(jù)有關(guān)的服務(wù)。該體系結(jié)構(gòu)還可以包括API,以允許外部裝置或應(yīng)用程序訪問平臺的數(shù)據(jù)集成功能。SOA還可以與元代理6452、引擎6450和連接應(yīng)用程序6448互動和/或與調(diào)用它們,以便完成數(shù)據(jù)集成任務(wù),比如數(shù)據(jù)和元數(shù)據(jù)的提取、變換和裝入。
參見圖16C,SOA環(huán)境的示意圖表示SOA如何與其它體系結(jié)構(gòu)6400客戶端程序和服務(wù)連接。SOA的核心可以是服務(wù)綁定6468,SOA基礎(chǔ)結(jié)構(gòu)6470和服務(wù)實現(xiàn)6474。服務(wù)綁定6468可允許客戶端程序,比如GUI 6464、應(yīng)用程序6460、腳本編排6458、管理框架6456和其它客戶端程序與可在SOA內(nèi)部或外部的服務(wù)的綁定。綁定的服務(wù)可以是公共核心服務(wù)5520的一部分,服務(wù)綁定6464可訪問服務(wù)描述注冊器6466,從而例示該服務(wù)。服務(wù)綁定6464使客戶端程序能夠利用相同或不同的技術(shù)使用本地或外部的服務(wù)。與外部服務(wù)的綁定可顯露外部服務(wù),并且可按照和內(nèi)部服務(wù)相同的方式調(diào)用它們。與服務(wù)的通信可以是同步的或者異步的,可以使用不同的通信路徑,可以是有狀態(tài)的或者無狀態(tài)的。服務(wù)綁定6464可提供對多種協(xié)議,比如HTTP、EJB、web服務(wù)協(xié)議、CORBA/RMI、JMS或JCA的支持。如這里所述,服務(wù)綁定6464可按照計算機環(huán)境自動確定服務(wù)綁定的恰當協(xié)議,或者作為設(shè)計解決方案5304的一部分,用戶可從GUI 6464選擇所述協(xié)議。
管理框架6456可提供安裝、暴露、編目、配置、監(jiān)視和以其它方式管理SOA服務(wù)的設(shè)施。管理框架6456可提供對客戶端程序、對內(nèi)部服務(wù)、通過連接對外部服務(wù)、或者對內(nèi)部或外部元數(shù)據(jù)中的元數(shù)據(jù)的訪問。
通過把多個SOA服務(wù)合成為一個設(shè)計解決方案5304,編排客戶端程序6458使得能夠設(shè)計多種復(fù)雜的產(chǎn)品功能和工作流。服務(wù)可由公共核心服務(wù)6476,在內(nèi)部服務(wù)6480之外的服務(wù),內(nèi)部過程6484或者用戶定義的服務(wù)6478組成。SOA的編排是在企業(yè)環(huán)境中提供統(tǒng)一的數(shù)據(jù)集成設(shè)計的核心能力??蛻舳顺绦?、核心服務(wù)、元數(shù)據(jù)儲存庫服務(wù)、部署引擎和外部服務(wù)及元數(shù)據(jù)之間的編排能夠?qū)崿F(xiàn)滿足各種企業(yè)需求的設(shè)計。統(tǒng)一的方法提供把全套的企業(yè)設(shè)計綁定在一起的體系結(jié)構(gòu),并且便于單一的GUI 6464能夠無縫地表現(xiàn)整個設(shè)計過程一直到部署設(shè)計解決方案。這種體系結(jié)構(gòu)還使得在設(shè)計和運行時能夠使用公共模型,公共部署模型利用和設(shè)計GUI 6464相同的服務(wù)。
通過允許服務(wù)根據(jù)需要調(diào)用公共功能,客戶端應(yīng)用程序6460可以有計劃地向SOA協(xié)調(diào)的服務(wù)提供另外的功能。通過允許服務(wù)調(diào)用功能,并如同它們是服務(wù)的一部分那樣應(yīng)用所述功能,客戶端應(yīng)用程序6460的功能可增強SOA的服務(wù)的能力。通過允許SOA服務(wù)和資源被圖形顯示和處理,GUI客戶端程序6464可向SOA服務(wù)和資源提供用戶接口。
SOA基礎(chǔ)結(jié)構(gòu)6470可基于J2EE,并且可以提供允許獨立于部署環(huán)境地部署服務(wù)的設(shè)施。SOA基礎(chǔ)結(jié)構(gòu)6470可提供另外的功能以支持部署環(huán)境,比如建立資源池,攔截,串行化,負載平衡,事件監(jiān)聽和監(jiān)視。SOA基礎(chǔ)結(jié)構(gòu)6470可以訪問計算環(huán)境,并且影響GUI 6464可用的服務(wù),以及支持指向語境的GUI 6464。
利用例如企業(yè)型Java Bean(EJB)和實時集成(RTI),SOA基礎(chǔ)結(jié)構(gòu)6464能夠提供資源池。資源池允許多個同時的服務(wù)實例共享內(nèi)部和外部的少量資源。
SOA基礎(chǔ)結(jié)構(gòu)可提供許多有用的工具和特征??商峁r截以便插入加密、壓縮、跟蹤、監(jiān)視以及對服務(wù)來說透明的其它管理工具,并且向客戶端程序和其它服務(wù)提供這些服務(wù)的報告。串行化和去串行化能夠跨多種調(diào)用協(xié)議,以及跨越不同的技術(shù)提供復(fù)雜的服務(wù)請求和數(shù)據(jù)傳送支持。負載平衡允許多個服務(wù)實例分布在多個服務(wù)器間。負載平衡可支持訪問多個服務(wù)器上的一個或多個處理器的高并行性處理或高吞吐量處理。事件監(jiān)聽和產(chǎn)生能夠根據(jù)觀察到的外部事件實現(xiàn)服務(wù)的調(diào)用。這允許根據(jù)第一服務(wù)的功能以及如果出現(xiàn)了規(guī)定的條件,調(diào)用第二服務(wù)。事件監(jiān)聽還支持回叫能力,所述回叫能力規(guī)定可利用先前調(diào)用服務(wù)的相同標識符調(diào)用該服務(wù)。
服務(wù)描述注冊器466是保持所有其它服務(wù)的全部接口和使用規(guī)范的服務(wù)。服務(wù)描述注冊器6466可提供創(chuàng)建將供設(shè)計解決方案使用的服務(wù)、綁定和協(xié)議的實例的查詢和選擇服務(wù)。例如,客戶端程序或其它服務(wù)可向SOA請求服務(wù)的實例,這里,SOA將請求被調(diào)用服務(wù)的查詢或選擇。服務(wù)描述注冊器6466隨后返回服務(wù)的實例供服務(wù)綁定6464綁定,隨后可被用在設(shè)計解決方案中。
公共核心服務(wù)6476可包含為了創(chuàng)建設(shè)計解決方案和運行時部署的解決方案,可能被調(diào)用的多個服務(wù)。公共核心服務(wù)6476可包含設(shè)計解決方案的所有公共服務(wù),從而使其它服務(wù)不必自己保持這些服務(wù)。服務(wù)本身可根據(jù)需要調(diào)用公共核心服務(wù)6476內(nèi)的其它服務(wù),以完成設(shè)計解決方案。多個客戶端程序可通過服務(wù)綁定6464,基礎(chǔ)結(jié)構(gòu)6470和服務(wù)描述注冊器6466,訪問公共核心服務(wù)6476。通過元數(shù)據(jù)儲存庫服務(wù)6452和SOA基礎(chǔ)結(jié)構(gòu)6470,公共核心服務(wù)還可被外部服務(wù)訪問。
通過服務(wù)實現(xiàn)6474,另外的外部服務(wù)可訪問SOA基礎(chǔ)結(jié)構(gòu)6464支持的任意環(huán)境。通過使用適配器或連接器6448,服務(wù)實現(xiàn)可提供對外部服務(wù)的訪問。通過服務(wù)實現(xiàn)6474,服務(wù)6480可顯露由其它軟件產(chǎn)品提供的特定產(chǎn)品功能以便部署設(shè)計解決方案。這些服務(wù)6480可提供調(diào)查、設(shè)計、開發(fā)、測試、部署、操作、監(jiān)視、調(diào)整或者其它功能。例如,服務(wù)6480可執(zhí)行數(shù)據(jù)集成作業(yè),并且可關(guān)于元數(shù)據(jù)、元模型或服務(wù)訪問SOA。
服務(wù)實現(xiàn)6474可向過程6484提供對利用其它工具創(chuàng)建的,并且以服務(wù)的形式向SOA基礎(chǔ)結(jié)構(gòu)6470暴露的集成過程的訪問。其它工具的用戶可能已創(chuàng)建這些集成過程,這些過程可以服務(wù)的形式暴露給SOA和客戶端程序。
服務(wù)實現(xiàn)6474還可以提供對用戶定義的服務(wù)7478的訪問,用戶定義的服務(wù)6478允許用戶定義或創(chuàng)建他們自己的定制過程,并將其顯露成SOA服務(wù)。把用戶定義的服務(wù)6478顯露成SOA服務(wù)便于向SOA的所有客戶端程序和服務(wù)顯露用戶定義的服務(wù)6478。
圖16D描述SOA,比如IBM WebSphere Services Backbone的內(nèi)部體系結(jié)構(gòu)。SOA可包含幾個不同的管理器,或者由幾個不同的管理器構(gòu)成,例如管理客戶端接口6434的調(diào)用的客戶端程序調(diào)用管理器6451,管理服務(wù)和綁定策略的策略管理器6453,J2EE管理器6455,注冊器管理器6461,持久性管理器6463,管理服務(wù)的部署,比如增加、修改或刪除服務(wù)的服務(wù)管理器6457,綁定管理器6465,管理服務(wù)的部署的服務(wù)部署管理器6459,和管理服務(wù)的綁定的部署的綁定部署管理器6467。應(yīng)用程序服務(wù)器6486、UDDI注冊器6488和公共儲存庫6490可與SOA相關(guān)聯(lián)或者是SOA的一部分。SOA可提供公共服務(wù)6440和產(chǎn)品服務(wù)6442。每種服務(wù)具有與之相關(guān)的描述6477。描述6477或者服務(wù)本身可具有與之相關(guān)的某些擴展。擴展可被用于把一個服務(wù)與其它服務(wù)鏈接起來。擴展的一個例子是把“監(jiān)視服務(wù)擴展”附到服務(wù)上。就監(jiān)視服務(wù)來說,該擴展可由服務(wù)用于跟蹤與該服務(wù)行為相關(guān)的某些值的m-bean組成。當發(fā)現(xiàn)該擴展時,m-bean被自動向監(jiān)視服務(wù)登記。在本發(fā)明的實施例中,管理員可定義“尺度”,所述“尺度”是在m-bean的原始屬性值之上創(chuàng)建的計算值,并且還可以定義監(jiān)視m-bean的“監(jiān)視器”,從而對m-bean屬性值的變化,或者對尺度的計算值的變化作出反應(yīng)。與監(jiān)視服務(wù)相關(guān)的行為的一個例子可以是產(chǎn)生一個事件(由事件管理服務(wù)管理)。該事件又可調(diào)用另一服務(wù),或者向某些特定用戶或管理員發(fā)送電子郵件或警報。與服務(wù)描述相關(guān)的m-bean可捕捉服務(wù)的屬性值,比如服務(wù)被調(diào)用的次數(shù)等。在實施例中,公共服務(wù)6440,比如監(jiān)視服務(wù)能夠監(jiān)視m-bean,根據(jù)在m-bean中捕捉到的值和屬性,計算各種尺度,比如平均值、加權(quán)平均值等。該體系結(jié)構(gòu)還可包括服務(wù)包裝器6473和綁定包裝器6469。綁定工廠6479可被用于建立綁定6468,例如適合于各種服務(wù)的綁定。一個服務(wù)可具有多個綁定,如下所述,所述多個綁定可簡化服務(wù)和服務(wù)的各種客戶端程序之間的各種耦接。
參見圖16E,在面向服務(wù)的體系結(jié)構(gòu)中,加上允許比如通過端口6402訪問服務(wù)的綁定6404。如這里所述,各種綁定,比如EJB、JMS、web服務(wù)和JCA綁定可被用于調(diào)用這里描述的面向服務(wù)的體系結(jié)構(gòu)的各個實施例中的服務(wù)。在實施例中,可提供API 13210以幫助訪問服務(wù)6400。API可提供各種功能,比如為服務(wù)選擇特定的綁定,其中所述選擇建立在條件或事件的基礎(chǔ)上,比如選擇適合于特定應(yīng)用程序的綁定。例如,綁定可在靈活性方面有所不同,API 13210可根據(jù)訪問服務(wù)的應(yīng)用程序或裝置的情況應(yīng)用或緊或松的綁定。在實施例中,API13210可以是Java API或者類似設(shè)施。在實施例中,相同的Java API13210可被用于多種不同綁定。在實施例中,可為服務(wù)6400供給智能客戶端程序13208。智能客戶端程序13208可以是API 13210之上的另一層或者可替代API 13210。可通過與服務(wù)相關(guān)的注冊器保存和訪問智能客戶端程序13208。例如,應(yīng)用程序可根據(jù)使用應(yīng)用程序的裝置,應(yīng)用程序的語境等,下載適當?shù)闹悄芸蛻舳顺绦?3208。例如,智能客戶端程序13208可被用于緩存由服務(wù)使用的某些信息,并打包地把信息發(fā)送給服務(wù),而不是使應(yīng)用程序不斷訪問該服務(wù)。例如,當訪問記錄服務(wù)時,用戶可能希望只記錄錯誤,而不是記錄所有事件。通過保持在預(yù)定時間之前的事件,用戶能夠減少對服務(wù)器的調(diào)用次數(shù),同時仍然能夠捕捉所有必需的事件。從而,智能客戶端程序13208能夠執(zhí)行優(yōu)化裝置或應(yīng)用程序?qū)Ψ?wù)的使用的各種規(guī)則。在實施例中,智能客戶端程序13208能夠根據(jù)訪問的狀況、裝置的能力、訪問的語境等,單獨地或者與API 13210互動地選擇綁定,所述綁定優(yōu)化客戶端裝置或應(yīng)用程序與服務(wù)6400的綁定。智能客戶端程序13208或API13210可被用于保存各種訪問規(guī)則。例如,所述規(guī)則可指出如果裝置或應(yīng)用程序在防火墻之內(nèi),那么它能夠利用EJB綁定來訪問服務(wù),而如果裝置或應(yīng)用程序在防火墻之外,那么它將利用web服務(wù)綁定來訪問服務(wù)。任何這樣的規(guī)則可被具體體現(xiàn)在API 13210中,或者可被包括在智能客戶端程序13208中,它可和服務(wù)一起被任意列舉在注冊器中,并且可由訪問該服務(wù)的客戶端裝置或應(yīng)用程序下載。
面向服務(wù)的體系結(jié)構(gòu)的好處之一在于它便于訪問服務(wù)的客戶端裝置或應(yīng)用程序與服務(wù)本身的代碼之間的松散耦接;即,客戶端裝置或應(yīng)用程序能夠調(diào)用和使用服務(wù),而不必非常了解該服務(wù)的代碼,只需要滿足某些預(yù)定輸入,比如向服務(wù)輸入什么(例如,文件、查詢的回答等)。但是,不存在緊密耦接會導(dǎo)致性能問題,因為為了使之更通用,從服務(wù)描述中省略了語境相關(guān)優(yōu)化例程。通過確保最佳地訪問服務(wù),比如通過選擇正確的綁定,高速緩存數(shù)據(jù)以便批處理,從而避免為較小的作業(yè)不斷調(diào)用服務(wù)等等,API 13210和/或智能客戶端程序13208能夠彌補降低的性能。從而,智能客戶端程序13208在松散耦合環(huán)境中提供有效的性能。從而,智能客戶端程序13208橋接緊密耦接環(huán)境和松散耦接環(huán)境之間的間隙,并且允許訪問服務(wù)的用戶、應(yīng)用程序或裝置按照性能預(yù)期或要求,沿著松散耦接和緊密耦接(比如EJB)之間的范圍(spectrum),選擇一種綁定。例如,EJB耦接比web服務(wù)表現(xiàn)更好,因為EJB耦接生性被更緊密地耦接在客戶端應(yīng)用程序和服務(wù)器端之間。通過高速緩存或者緩沖信息,并且恰當?shù)胤峙l(fā)送所述信息,智能客戶端程序13208改進EJB和web服務(wù)的性能。在不可能或者不值得高速緩存或緩沖項目的情況下,系統(tǒng)可使用緊密的EJB綁定來獲得良好的性能。在實施例中,API 13210可隱藏客戶端裝置或應(yīng)用程序正在使用的綁定。借助智能客戶端程序13208,通過調(diào)整客戶端程序和服務(wù)器之間的耦接度,用戶能夠調(diào)整系統(tǒng)的性能。
在實施例中,面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的運行時13200可以是另一服務(wù),比如結(jié)合圖76-83說明的一個或多個公共服務(wù)的客戶端程序本身。在實施例中,前述可利用AOP來實現(xiàn)。在AOP中,稱為攔截器的實體能夠把策略和服務(wù)關(guān)聯(lián)起來。在服務(wù)的策略之內(nèi),攔截器可被插入策略中,攔截器可以是公共服務(wù)的客戶端程序。例如,服務(wù)中的策略可包括調(diào)用圖77的監(jiān)視服務(wù)12500的插件。從而,AOP技術(shù)可被用于把攔截器的代碼插入這里描述的各種服務(wù)的代碼中。在AOP中,用戶能夠創(chuàng)建一段代碼,并且在執(zhí)行所述代碼的時候,把“方面(aspect)”-將在運行時插入的一長串東西和所述代碼關(guān)聯(lián)起來。此時在該代碼中,運行時程序調(diào)用另一段代碼,比如調(diào)用一個服務(wù),而不是執(zhí)行該代碼通常進行的操作。此時,該代碼調(diào)用獨立編譯的另一函數(shù)。從而,當程序員查看源代碼尋找運行時程序時,程序員看不到攔截器調(diào)用的那一段的源代碼。例如,就Java來說,程序可編譯源代碼,從而創(chuàng)建字節(jié)碼(它是Java的運行時),Java虛擬機讀取該字節(jié)碼。程序具有Java碼和所述方面(aspect)。AOP編譯器進行字節(jié)碼處理,并調(diào)用其它類型的代碼,比如面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。從而,這里描述的方法和系統(tǒng)包括利用明確來自一個應(yīng)用程序或另一服務(wù),或者來自插入服務(wù)策略中的攔截器的公共服務(wù)。這允許相同的公共服務(wù)被任何服務(wù)實現(xiàn)者使用,以及通過AOP子系統(tǒng)透明地被面向服務(wù)的體系結(jié)構(gòu)框架使用。
圖16F描述在SOA中部署服務(wù)的體系結(jié)構(gòu)的一個詳細實施例。如圖16F中所示,可提供各種客戶端和系統(tǒng)端組件,從而能夠?qū)崿F(xiàn)SOA。在客戶端,可開發(fā)和配置各種客戶端應(yīng)用程序6480或GUI 6434,比如用于RTI服務(wù)、公共服務(wù)6440或產(chǎn)品服務(wù)6442的客戶應(yīng)用程序,以便訪問具體的服務(wù)。通過用來與各種綁定,比如SOAP、EJB、JMS和web服務(wù)綁定交互作用的代碼,客戶應(yīng)用程序6480或GUI 6434能夠直接訪問服務(wù)。從而,取決于客戶應(yīng)用程序6480、6434或裝置的能力、語境和需要,在客戶應(yīng)用程序6480、6434中可選擇和啟用恰當?shù)慕壎?,比如緊密的EJB綁定或者松散耦接的web服務(wù)綁定。該體系結(jié)構(gòu)還可包括API 13210,API 13210可用來提供適合于特定類型的客戶端應(yīng)用程序、裝置、通信協(xié)議等的特定服務(wù)的接口。在實施例中,客戶調(diào)用框架能夠或者為產(chǎn)生的客戶API 13210或者為登記的智能/富客戶應(yīng)用程序自動產(chǎn)生代理,比如C#或C++代理。這種代理的優(yōu)點是(i)通過客戶API 13210的服務(wù)能夠按照商業(yè)規(guī)則透明地使用任何定義的綁定,而不需要特殊的編碼來與綁定互動;(ii)在產(chǎn)生的API 13210之上能夠創(chuàng)建另外的智能/富客戶應(yīng)用程序,從而優(yōu)化特定服務(wù)的使用;(iii)能夠產(chǎn)生諸如C#或者C++之類的代理,從而在和API 13210的環(huán)境不同的環(huán)境,比如在Java API的情況下的非Java環(huán)境中,提供對這些產(chǎn)生的客戶程序或富/智能客戶程序的訪問。系統(tǒng)可包括特定的客戶端程序,比如SOAP客戶端程序6407、EJB客戶端程序6409、JCA客戶端程序6411和JMS客戶端程序413。該體系結(jié)構(gòu)還可包括WSDL層6415。從而,能夠存在多個客戶端程序以通過各種綁定訪問指定的服務(wù),同時特定的應(yīng)用程序或裝置能夠選擇適當?shù)目蛻舳顺绦?、API 13210或者綁定來訪問所述服務(wù)。系統(tǒng)還包括執(zhí)行上述功能的各種端口6402以及適當?shù)慕壎?404。仍然參見圖16F,SOA運行時13200能夠啟動許多服務(wù),比如各種公共服務(wù)6440(例如,記錄、監(jiān)視、供應(yīng)、安全、事件管理、管理、審計等),產(chǎn)品服務(wù)6442(包括元數(shù)據(jù)服務(wù)6452、RTI服務(wù)、用戶定義的服務(wù)等)。服務(wù)還可包括連接器訪問服務(wù)、作業(yè)執(zhí)行服務(wù)、元數(shù)據(jù)服務(wù)、作業(yè)瀏覽服務(wù)、作業(yè)部署服務(wù)、與工作流相關(guān)的服務(wù)、作業(yè)編制服務(wù)、記錄服務(wù)、安全服務(wù)、審計服務(wù)、監(jiān)視服務(wù)、許可服務(wù)、事件管理服務(wù)和會話管理服務(wù)。
參見圖16G,這里描述的方法和系統(tǒng)可包括開發(fā)各種數(shù)據(jù)集成模塊、工具、設(shè)施、函數(shù)、服務(wù)、作業(yè)和過程,或者它們的組合,并將其部署成用于數(shù)據(jù)集成的面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的方法和系統(tǒng)。面向服務(wù)的體系結(jié)構(gòu)可采取各種形式,例如結(jié)合圖16A-16F公開的那些形式。仍然參見圖16G,數(shù)據(jù)集成模塊6400,它可以是任意模塊、工具、設(shè)施、函數(shù)、服務(wù)、過程、客戶端應(yīng)用程序或者可被一個或多個預(yù)定端口6402(比如可通過計算機網(wǎng)絡(luò)、編程接口或者任何其它硬件或軟件連接或接口訪問的端口)訪問的其它項目。每個端口可具有相關(guān)的綁定6404,所述綁定6404允許用戶通過端口6402訪問模塊6400,如上結(jié)合SOA的各個實施例所述那樣。模塊6400可包括各種操作6408,當通過綁定6404和端口6402訪問所述各種操作6408時,所述各種操作6408中由模塊6400執(zhí)行??蛻舳私涌?410可調(diào)用服務(wù)或者與服務(wù)交互作用。一個或多個客戶端接口6410可被數(shù)據(jù)集成服務(wù)、模塊或設(shè)施6400調(diào)用,或者可與數(shù)據(jù)集成服務(wù)、模塊或設(shè)施6400交互作用??蛻舳私涌?410可以是C++、C#、Java或者任何其它應(yīng)用程序。每個模塊6400可包括接口6414,比如用于輸入消息和輸出消息以及與服務(wù)的其它交互作用的接口。通過一個或多個綁定6404,模塊6400可調(diào)用或者與服務(wù)策略和/或攔取器6412交互作用。服務(wù)策略6412可以是記錄服務(wù)、事件管理服務(wù)、安裝服務(wù)、供應(yīng)服務(wù)、許可服務(wù)、監(jiān)視服務(wù)或?qū)徲嫹?wù)。攔截器6412可把策略和服務(wù)關(guān)聯(lián)起來??蛻舳私涌?410、端口6402、綁定6404、服務(wù)策略或攔截器6412中的任意一個或多個可形成面向服務(wù)的體系結(jié)構(gòu),比如IBM WebSphereServices Backone,公共服務(wù)6440或產(chǎn)品服務(wù)6442的一部分,或者是所述面向服務(wù)的體系結(jié)構(gòu)的一部分。消息可具有與模塊6400的定義的要求對應(yīng)的各個部分,例如上面結(jié)合面向服務(wù)的體系結(jié)構(gòu)的各個實施例說明的那些。例如,輸入消息可以采取適合于指定綁定的格式,并且可包括用于觸發(fā)特定模塊6400的操作的輸入觸發(fā)器。模塊6400可包括與抽象接口6414連接或者創(chuàng)建抽象接口6414的各種操作6408,當通過綁定6404和端口6402訪問所述各種操作6408時,它們可由模塊6400執(zhí)行。
一旦模塊640被定義(包括適當端口類型、綁定和接口6414的定義),模塊6400就能夠在注冊器,比如web服務(wù)注冊器中被公布,以便由一個或多個用戶識別和訪問,從而完成在模塊6400的定義中規(guī)定的功能或操作。這些操作的代碼可以是數(shù)據(jù)集成平臺功能的任何常規(guī)代碼,或者可用在各個廠家,比如IBM和其它廠家的數(shù)據(jù)集成平臺中的任何其它代碼。
本公開考慮了模塊6400的許多例子。例如,模塊6400可包括提供各種功能,比如提取功能、數(shù)據(jù)變換功能、裝入功能、元數(shù)據(jù)管理功能、數(shù)據(jù)剖析功能、映射功能、數(shù)據(jù)審計功能、數(shù)據(jù)質(zhì)量功能、數(shù)據(jù)清洗功能、匹配功能、概率匹配功能、元代理功能、數(shù)據(jù)遷移功能、原子數(shù)據(jù)儲存庫功能、語義識別功能、過濾功能、精煉和選擇功能、設(shè)計接口功能或者許多其它功能的產(chǎn)品服務(wù)6442。
參見圖17,模塊6400可以是數(shù)據(jù)提取模塊6500。數(shù)據(jù)提取模塊6500可從數(shù)據(jù)庫112或者其它數(shù)據(jù)設(shè)施112提取數(shù)據(jù)或元數(shù)據(jù)供在中心里使用,在數(shù)據(jù)設(shè)施里使用,或者供工具或應(yīng)用程序之用。例如,數(shù)據(jù)提取模塊6400可把數(shù)據(jù)從數(shù)據(jù)庫提取到中心供元代理之用。從而,這里描述的方法和系統(tǒng)包括提供數(shù)據(jù)提取功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖18,模塊6400可以是數(shù)據(jù)變換模塊6600。數(shù)據(jù)變換模塊6600可把數(shù)據(jù)從數(shù)據(jù)設(shè)施112提供的形式變換成便于保存在數(shù)據(jù)目標,比如任何數(shù)據(jù)庫、數(shù)據(jù)設(shè)施或者過程,或者它們的組合中的形式。數(shù)據(jù)變換模塊6600可以采取這里說明的那些形式中的任意一種,例如可包括一個或多個中心或原子數(shù)據(jù)儲存庫、橋、并行執(zhí)行引擎、元代理、流水線設(shè)施或者在分批或?qū)崟r變換中移動數(shù)據(jù)的其它設(shè)施。例如,變換模塊6600可把數(shù)據(jù)從XML或類似的數(shù)據(jù)格式變換成數(shù)據(jù)庫或過程,例如利用SAP或Oracle的供應(yīng)鏈數(shù)據(jù)庫的本地格式。另外要認識到,盡管認為數(shù)據(jù)變換包括某些特定的數(shù)據(jù)集成操作,不過數(shù)據(jù)變換模塊6600可執(zhí)行附隨數(shù)據(jù)變換的其它操作,比如提取、裝入或清洗。從而,這里描述的方法和系統(tǒng)包括提供數(shù)據(jù)變換功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖19,模塊6400可以是數(shù)據(jù)裝入模塊6700。數(shù)據(jù)裝入模塊6700可把數(shù)據(jù)裝入一個或多個數(shù)據(jù)庫、過程或其它目標中。裝入模塊6700中以是批裝入設(shè)施或者實時裝入設(shè)施,例如使用流水線操作或者類似功能的裝入設(shè)施。裝入模塊6700可被用于把數(shù)據(jù)并行裝入一個以上的數(shù)據(jù)集成過程、模塊、系統(tǒng)、數(shù)據(jù)設(shè)施或其它元件中。例如,裝入設(shè)施可把保存在產(chǎn)品跟蹤系統(tǒng)上或者與產(chǎn)品跟蹤系統(tǒng)相關(guān)的數(shù)據(jù)同時裝入跟蹤物品的物理位置的數(shù)據(jù)庫,和跟蹤與物品相關(guān)的元數(shù)據(jù)的數(shù)據(jù)庫,所述元數(shù)據(jù)比如是在收集物理位置數(shù)據(jù)時由用戶輸入的元數(shù)據(jù),比如指示定單在可接受的條件下在指定時間被接受的數(shù)據(jù)。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)裝入功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖20,模塊6000可以是元數(shù)據(jù)管理模塊6800。元數(shù)據(jù)管理模塊6800便于關(guān)聯(lián)元數(shù)據(jù)的存儲和處理。元數(shù)據(jù)管理模塊6800可以采取這里描述的任意元數(shù)據(jù)設(shè)施的形式。例如,元數(shù)據(jù)管理模塊6800可以包括元代理、原子數(shù)據(jù)儲存庫、遷移引擎和/或其它元數(shù)據(jù)設(shè)施。元數(shù)據(jù)管理模塊6800可被構(gòu)建成提供當以服務(wù)的形式調(diào)用模塊6800時,能夠指定的各種元數(shù)據(jù)功能,或者元數(shù)據(jù)管理模塊6800可執(zhí)行單一的專用元數(shù)據(jù)管理功能。元數(shù)據(jù)管理模塊6800可允許用戶保存、增加和以其它方式處理元數(shù)據(jù)。例如,銷售經(jīng)理可修改與特定產(chǎn)品相關(guān)的元數(shù)據(jù),以說明該產(chǎn)品目前是特定地區(qū)中的銷售活動的主題的事實。作為另一例子,工程師可修改與某一零件相關(guān)的元數(shù)據(jù),以反映從公制單位到英制單位的變化,或者反之亦然,或者對現(xiàn)有的庫存增加新的特征,比如RFID或UPC標識碼。從而,這里描述的方法和系統(tǒng)還包括提供元數(shù)據(jù)管理功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖21,模塊6400可以是數(shù)據(jù)剖析模塊6900。數(shù)據(jù)剖析模塊6900可被用于剖析保存在數(shù)據(jù)設(shè)施中或者與系統(tǒng)關(guān)聯(lián)的數(shù)據(jù)。例如,數(shù)據(jù)剖析模塊6900可確定數(shù)據(jù)或元數(shù)據(jù)的列或表的內(nèi)容,或者評估數(shù)據(jù)或元數(shù)據(jù)的質(zhì)量。數(shù)據(jù)剖析模塊6900可產(chǎn)生一個或多個數(shù)據(jù)源的元數(shù)據(jù)模型,以方便后續(xù)數(shù)據(jù)集成任務(wù)的自動化。數(shù)據(jù)剖析模塊6900還可提供從正被剖析的源構(gòu)建目標數(shù)據(jù)庫的推薦,比如關(guān)鍵字和表標準化。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)剖析功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖22,模塊6400可以是數(shù)據(jù)審計模塊7000。數(shù)據(jù)審計模塊7000可被用于審計保存在數(shù)據(jù)設(shè)施中或者與系統(tǒng)相關(guān)的數(shù)據(jù)。例如,數(shù)據(jù)審計模塊7000可確定表的列的起點,并跟蹤修改數(shù)據(jù)的用戶的作業(yè)功能。數(shù)據(jù)審計模塊7000還執(zhí)行諸如數(shù)據(jù)范圍的確認,計算,值組合之類的任務(wù)。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)審計功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖23,模塊6400可以是數(shù)據(jù)清洗模塊7100。數(shù)據(jù)清除模塊7100可清洗從數(shù)據(jù)庫或系統(tǒng)接收的數(shù)據(jù)或元數(shù)據(jù)。數(shù)據(jù)清洗模塊7100可采取任意數(shù)據(jù)清洗設(shè)施的形式,并且可提供任意數(shù)據(jù)清洗操作,例如IBM的WebSphere QualityStage產(chǎn)品提供的那些數(shù)據(jù)清洗操作中的任意一種。數(shù)據(jù)清洗模塊7100可快速執(zhí)行清洗操作,比如去除重復(fù)的記錄,以致依賴于數(shù)據(jù)的任何過程、系統(tǒng)、函數(shù)、模塊等具有良好的數(shù)據(jù),而不是例如重復(fù)或者錯誤的數(shù)據(jù)。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)清洗功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖24,模塊6400可以是數(shù)據(jù)質(zhì)量模塊7200。數(shù)據(jù)質(zhì)量模塊7200可評估數(shù)據(jù)或元數(shù)據(jù)的質(zhì)量。數(shù)據(jù)質(zhì)量模塊7200可提供任何數(shù)據(jù)質(zhì)量功能,比如由IBM的WebSphere QualityStage產(chǎn)品提供的功能。數(shù)據(jù)質(zhì)量模塊7200可確定重復(fù)和錯誤數(shù)據(jù)的程度,并校正這樣的錯誤。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)質(zhì)量功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖25,模塊6400可以是數(shù)據(jù)匹配模塊7300。數(shù)據(jù)匹配模塊7300可匹配與某一項目相關(guān)的數(shù)據(jù)或元數(shù)據(jù)和另一項目,比如過程、標識符、元素、商業(yè)過程、商業(yè)對象、主題、數(shù)據(jù)設(shè)施、規(guī)則、系統(tǒng)等。例如,匹配模塊7300可匹配產(chǎn)品數(shù)據(jù)與特定過程,從而產(chǎn)品數(shù)據(jù)或元數(shù)據(jù)被保存在正確的過程中。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)匹配功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,數(shù)據(jù)匹配功能可以是概率匹配功能。
參見圖26,模塊6400可以是元代理模塊7400。元代理模塊740可把元數(shù)據(jù)從一種格式或語言轉(zhuǎn)換或變換成另一種格式或語言,或者在元數(shù)據(jù)模型之間轉(zhuǎn)換或變化元數(shù)據(jù),即使它們使用相同的數(shù)據(jù)庫技術(shù)。例如,元代理模塊7400可把與特定行的產(chǎn)品相關(guān)的元數(shù)據(jù)從SAP格式轉(zhuǎn)換成可與Oracle數(shù)據(jù)庫一起使用的格式。作為另一例子,對庫存使用它自己的元數(shù)據(jù)模型的公司可獲得對庫存使用一種不同的元數(shù)據(jù)模型的另一公司。元代理模塊7400可被用作組合或者在這兩個公司的庫存數(shù)據(jù)庫之間共享數(shù)據(jù)的轉(zhuǎn)換器。從而,這里描述的方法和系統(tǒng)還包括提供元代理功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。在實施例中,元代理功能跨越多個數(shù)據(jù)集成平臺保持數(shù)據(jù)集成功能的語義。
參見圖27,模塊640可以是數(shù)據(jù)遷移模塊7500。數(shù)據(jù)遷移模塊7500可把數(shù)據(jù)從一個數(shù)據(jù)設(shè)施112移動到另一數(shù)據(jù)設(shè)施112或中心。例如,數(shù)據(jù)遷移模塊7500可把數(shù)據(jù)從客戶數(shù)據(jù)庫移動到中心,在所述中心,它可由元代理模塊7400作用,隨后被遷移或者以其它方式轉(zhuǎn)移到金融數(shù)據(jù)庫。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)遷移功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。
參見圖28,模塊6400可以是原子數(shù)據(jù)儲存庫模塊7600。原子數(shù)據(jù)儲存庫模塊6400可利用儲存庫的原子數(shù)據(jù)結(jié)構(gòu),提供用于與儲存庫通信的一個或多個基本數(shù)據(jù)操作,比如讀或?qū)?。原子?shù)據(jù)儲存庫模塊7600可被用于關(guān)于保存在儲存庫中的元數(shù)據(jù)模型或其它項目的簡單數(shù)據(jù)事務(wù),或者可和其它模塊7600組合,從而提供核心儲存庫服務(wù),比如查詢元數(shù)據(jù)模型等。這里描述的方法和系統(tǒng)還包括提供原子數(shù)據(jù)儲存庫模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。
參見圖29,模塊6400可以是語義識別模塊7700。語義識別模塊7700可根據(jù)對象、表、列或其它項目與其它對象、表、列和其它項目的關(guān)系,識別所述對象、表、列或者其它項目。例如,語義識別模塊7700可創(chuàng)建數(shù)據(jù)變換模塊6600可作用于的串。從而,這里描述的方法和系統(tǒng)還包括提供語義識別功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。
參見圖30,模塊6400要以是過濾模塊7800。過濾模塊7800可根據(jù)相關(guān)的抽象層次或其它性質(zhì),過濾項目的數(shù)據(jù)、元數(shù)據(jù)、對象、項目或?qū)嵗?。例如,過濾模塊7800可根據(jù)與每個實例相關(guān)的抽象層次,把中心中的表的各列的物理實例從邏輯實例中過濾出來。從而,這里描述的方法和系統(tǒng)還包括提供過濾功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。在實施例中,所述過濾以抽象層次為基礎(chǔ)。在實施例中,抽象層次可以是物理抽象層次和邏輯抽象層次至少之一。
參見圖31,模塊6400可以是精煉和選擇模塊7900。精煉和選擇模塊7900可實數(shù)據(jù)庫、中心、查詢或者過程的其它層次或階段過濾數(shù)據(jù)、元數(shù)據(jù)、實例或者其它項目。例如,精煉和選擇模塊7900可允許在查詢被發(fā)送給相關(guān)數(shù)據(jù)庫之前,對該查詢進行變換操作。從而,這里描述的方法和系統(tǒng)還包括提供精煉和選擇設(shè)施模塊,提供服務(wù)注冊器,和在注冊器中識別該模塊,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問該設(shè)施。在實施例中,精煉和選擇設(shè)施允許系統(tǒng)區(qū)分邏輯抽象層次和物理抽象層次。
參見圖32,模塊6400可以是數(shù)據(jù)庫內(nèi)容分析模塊8000。數(shù)據(jù)庫內(nèi)容分析模塊8000分析和總結(jié)數(shù)據(jù)庫的內(nèi)容,并建議可能的關(guān)聯(lián)數(shù)據(jù)庫。例如,數(shù)據(jù)庫內(nèi)容分析模塊可分析客戶數(shù)據(jù)庫,并總結(jié)關(guān)于前25位客戶的主要信息。作為另一例子,數(shù)據(jù)庫內(nèi)容分析模塊800可提供數(shù)據(jù)庫各列中的數(shù)值數(shù)據(jù)的統(tǒng)計分析,或者關(guān)于空記錄的頻率的報告,或者報告表的數(shù)目和大小等。數(shù)據(jù)庫內(nèi)容分析模塊8000還可表征數(shù)據(jù)庫結(jié)構(gòu),提供與關(guān)鍵字,列名稱,表名稱,和上述內(nèi)容之間的分級關(guān)系或其它關(guān)系有關(guān)的元數(shù)據(jù)。更一般地,數(shù)據(jù)庫內(nèi)容分析模塊8000可提供可用程序代碼表示的數(shù)據(jù)庫的任何定量或定性分析,并可提供可被其它模塊6400或設(shè)計人員用于表征和應(yīng)用數(shù)據(jù)庫內(nèi)容的對應(yīng)報告或尺度。數(shù)據(jù)庫內(nèi)容分析模塊還可或者改為組合下面所述的模塊的功能以便分析數(shù)據(jù)庫的表、列和行,或者在分析數(shù)據(jù)庫時采用這些模塊。從而,這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫的內(nèi)容的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖33,模塊6400可以是數(shù)據(jù)庫表分析模塊8100。數(shù)據(jù)庫表分析模塊8100可分析和總結(jié)表的內(nèi)容。例如,數(shù)據(jù)庫表分析模塊8100可提供數(shù)據(jù)庫的一個表相對于該數(shù)據(jù)庫的其它表的分級位置。從而,這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫的表的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖34,模塊6400可以是數(shù)據(jù)庫行分析模塊8200。數(shù)據(jù)庫行分析模塊8200可分析和總結(jié)表中某一行的內(nèi)容。例如,數(shù)據(jù)庫行分析模塊可提出與所關(guān)心的一行相關(guān)的其它行和/或表。數(shù)據(jù)庫行分析模塊8200還可或者改為按照數(shù)據(jù)庫結(jié)構(gòu)信息,評估某一行內(nèi)的記錄的有效性。從而,這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)庫中某一行的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖35,模塊6400可以是數(shù)據(jù)結(jié)構(gòu)分析模塊8300。數(shù)據(jù)結(jié)構(gòu)分析模塊8300可分析與和行、列、表或數(shù)據(jù)設(shè)施112,或者這些的任意組合相關(guān)的數(shù)據(jù)聯(lián)系的數(shù)據(jù)或元數(shù)據(jù)的整體結(jié)構(gòu)。例如,數(shù)據(jù)結(jié)構(gòu)分析模塊8300可產(chǎn)生總結(jié)構(gòu)成特定數(shù)據(jù)庫112的行、列和表的數(shù)目和分級關(guān)系的報告。從而,這里描述的方法和系統(tǒng)還包括提供分析數(shù)據(jù)結(jié)構(gòu)的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖36,模塊6400可以是推薦模塊8400。推薦模塊8400可推薦操作或過程的目標數(shù)據(jù)設(shè)施。例如,推薦模塊8400可為涉及元代理模塊600的過程定位和推薦未用的中心。作為另一例子,推薦模塊8400可根據(jù)潛在目標數(shù)據(jù)庫的已知特性,比如訪問時間、容錯性、容量等,為ETL操作推薦目標數(shù)據(jù)庫。推薦模塊8400還可以或者改為利用與IBM的WebSphere ProfileStage和AuditStage產(chǎn)品采用的技術(shù)類似的技術(shù),為目標數(shù)據(jù)庫的結(jié)構(gòu)提供許多不同的建議。從而,這里描述的方法和系統(tǒng)還包括提供推薦目標數(shù)據(jù)設(shè)施的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖37,模塊6400可以是主鍵模塊8500。主鍵模塊8500可使用表分析得到的相關(guān)性信息來識別分析下的表的候選主鍵。例如,主鍵模塊8500可確定客戶姓名列應(yīng)是客戶信息表的主鍵。該信息可被用于幫助設(shè)計需要數(shù)據(jù)目標的ETL操作或其它數(shù)據(jù)集成過程的目標數(shù)據(jù)庫。從而,這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供主鍵的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖38,模塊6400可以是外鍵模塊8600。外鍵模塊8600可分析數(shù)據(jù)結(jié)構(gòu),從而識別外鍵。該信息可用于保持表之間的關(guān)系的完整性,和用于查找?guī)в袛?shù)據(jù)結(jié)構(gòu)的主鍵表。從而,這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供外鍵的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖39,模塊640可以是表標準化模塊8700。用于數(shù)據(jù)集成功能的表標準化模塊8700可變換或拆分表,從而消除相關(guān)性和/或消除冗余數(shù)據(jù)和異常。標準化可顯著提高數(shù)據(jù)庫的性能,包括查詢更快速和提高數(shù)據(jù)完整性。從而,這里描述的方法和系統(tǒng)還包括提供為數(shù)據(jù)集成功能提供表標準化的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖40,模塊6400可以是源-目標映射模塊8800。用于數(shù)據(jù)集成功能的源-目標映射模塊8800可創(chuàng)建數(shù)據(jù)變換映射,用于把數(shù)據(jù)或元數(shù)據(jù)從源系統(tǒng)映射到一個或多個目標數(shù)據(jù)設(shè)施。例如,映射設(shè)施可把傳感器收集的產(chǎn)品位置數(shù)據(jù)映射到組合產(chǎn)品的所有有關(guān)信息的新數(shù)據(jù)庫?;蛘哂成淇梢允枪?yīng)鏈數(shù)據(jù)庫和庫存數(shù)據(jù)庫之間的映射,或者更一般地是任何源到任何目標的映射。雖然映射一般意味著兩個位置之間的文字轉(zhuǎn)移,不過源-目標映射模塊還可指定含有映射的變換,比如組合、過濾、或者其它轉(zhuǎn)換或變換。例如,映射可指定從分鐘到小時或天的相合變換。從而,這里描述的方法和系統(tǒng)還包括為數(shù)據(jù)集成功能提供源-目標映射,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖41,模塊6400可以是自動數(shù)據(jù)集成作業(yè)生成模塊8900。通過利用提供給模塊8900的簡表或規(guī)范產(chǎn)生數(shù)據(jù)集成作業(yè),自動數(shù)據(jù)集成作業(yè)模塊8900可自動創(chuàng)建數(shù)據(jù)集成作業(yè)??梢粤硪荒K6400的形式提供數(shù)據(jù)集成作業(yè),所述另一模塊6400可被登記,供隨后在整個企業(yè)內(nèi)使用,自動數(shù)據(jù)集成作業(yè)生成模塊8900可返回在哪里和如何訪問新創(chuàng)建的作業(yè)模塊的規(guī)范。例如,自動數(shù)據(jù)集成模塊8900可關(guān)于保存的常用數(shù)據(jù)集成作業(yè)的簡表產(chǎn)生所述常用數(shù)據(jù)集成作業(yè)。所述常用數(shù)據(jù)集成作業(yè)可以是客戶信用信息與關(guān)于客戶的商業(yè)的信息的集成。對于每個新客戶需要進行該作業(yè)。從而,這里描述的方法和系統(tǒng)還包括提供根據(jù)數(shù)據(jù)集成作業(yè)的簡表自動產(chǎn)生數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖42,模塊6400可以是缺陷探測模塊9000。缺陷探測模塊9000可探測數(shù)據(jù)設(shè)施、過程或者其它操作中的缺陷。例如,缺陷探測模塊9000可確定被錯誤進行,從而產(chǎn)生具有失配條目的表的數(shù)據(jù)集成過程。從而,這里描述的方法和系統(tǒng)還包括提供缺陷探測模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖43,模塊6400可以是性能測量模塊9100。性能測量模塊9100可測量數(shù)據(jù)集成過程的性能。例如,性能測量模塊9100可記錄指定數(shù)據(jù)集成操作的時間和處理器負載。性能測量模塊9100還可幫助數(shù)據(jù)集成過程的優(yōu)化和修改。從而,這里描述的方法和系統(tǒng)還包括提供測量數(shù)據(jù)集成功能的性能的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖44,模塊6400可以是數(shù)據(jù)去重模塊9200。數(shù)據(jù)去重模塊9200可從數(shù)據(jù)設(shè)施112或數(shù)據(jù)設(shè)施112的子集中除去重復(fù)的條目、行、列、表和數(shù)據(jù)庫。例如,數(shù)據(jù)去重模塊9200可從Bob Smith中除去兩個相同的地址條目。雖然相同記錄的去重是直截了當?shù)?,不過通過使用關(guān)于名稱(例如,“Bill”=“William”或“GE”=“通用電氣”)和縮寫的信息,以及概率匹配或者可發(fā)覺由拼寫錯誤或數(shù)據(jù)輸入錯誤引起的微小變化的其它技術(shù),也可采用更敏銳的去重形式。從而,數(shù)據(jù)去重模塊9200還可確定關(guān)于55 Any Road的Robert A.Smith的條目與關(guān)于55Any Rd.的Bob Smith的條目相同,并除去重復(fù)的信息。去重是ETL操作,或者涉及從數(shù)據(jù)庫提取數(shù)據(jù)的任何其它數(shù)據(jù)集成過程中的重要的初步質(zhì)量提高步驟。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)去重模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,去重模塊根據(jù)概率匹配數(shù)據(jù)項。在實施例中,去重模塊丟棄重復(fù)的項目。
參見圖45,模塊6400可以是統(tǒng)計分析模塊9300。統(tǒng)計分析模塊9300可進行關(guān)于數(shù)據(jù)、元數(shù)據(jù)或者過程以及正對數(shù)據(jù)和元數(shù)據(jù)進行的操作的測試和收集統(tǒng)計。例如,統(tǒng)計分析模塊9300可產(chǎn)生描述銷售的產(chǎn)品的單位數(shù)和客戶的年齡之間的關(guān)系的關(guān)系函數(shù)。統(tǒng)計分析模塊9300還可提供過程尺度,比如確定利用某一處理器配置進行某一數(shù)據(jù)集成操作所用的平均時間。更一般地,統(tǒng)計分析模塊9300可對數(shù)據(jù)源內(nèi)的數(shù)據(jù),一個或多個數(shù)據(jù)源的元數(shù)據(jù),或者作用于數(shù)據(jù)或元數(shù)據(jù)的過程進行任何統(tǒng)計分析。從而,這里描述的方法和系統(tǒng)還包括提供多個數(shù)據(jù)項的統(tǒng)計分析模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖46,模塊6400可以是數(shù)據(jù)調(diào)諧模塊9400。數(shù)據(jù)調(diào)諧模塊可協(xié)調(diào)來自不同的數(shù)據(jù)設(shè)施112的數(shù)據(jù)和元數(shù)據(jù)。例如,數(shù)據(jù)調(diào)諧模塊9400可結(jié)合來自公司的與兩個不同地理區(qū)域?qū)?yīng)的產(chǎn)品數(shù)據(jù)庫的相似產(chǎn)品條目,便于創(chuàng)建主記錄。在另一方面,數(shù)據(jù)調(diào)諧模塊9400可協(xié)調(diào)相同或近乎相同的記錄的多個實例。例如,客戶可能具有包含不同地址的兩個不同記錄。通過利用創(chuàng)建日期或者最近處理日期,這些記錄可被協(xié)調(diào)成一條記錄。其它調(diào)諧可用在數(shù)據(jù)集成系統(tǒng)中,比如數(shù)據(jù)庫備份的調(diào)諧或者各種版本的元數(shù)據(jù)模型的調(diào)諧,并且可利用數(shù)據(jù)調(diào)諧模塊9400進行所述其它調(diào)諧。從而,這里描述的方法和系統(tǒng)還包括提供協(xié)調(diào)來自多個數(shù)據(jù)設(shè)施的數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖47,模塊6400可以是變換函數(shù)庫模塊9500。模塊6400可以是變換函數(shù)庫模塊9500。變換函數(shù)庫模塊9500可提供對變換函數(shù)庫的訪問。例如,常見的變換函數(shù),比如客戶信用與購買信息的集成,或者單位之間數(shù)據(jù)的變換(例如,攝氏到華氏或者夸脫到升),或者電話號碼的電話局的修改可被保存在庫中,以致每次用戶想要執(zhí)行該操作時,用戶不必從零開始創(chuàng)建該操作。也可使用其它更多的基本變換,比如字符串到數(shù)字值的變換或者反之亦然,或者數(shù)字值類型的改變(例如,字節(jié)、字、長字)。從而,這里描述的方法和系統(tǒng)還包括提供訪問變換函數(shù)庫的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖48,模塊6400可以是版本管理模塊9600。版本管理模塊9600可幫助管理保存在庫中的不同數(shù)據(jù)集成作業(yè),或者可幫助創(chuàng)建和執(zhí)行數(shù)據(jù)集成作業(yè)。例如,版本管理模塊可允許用戶保持多個版本的如上所述的客戶信用和購買數(shù)據(jù)集成作業(yè)。客戶可能通常具有需要集成的兩個或者三個賬戶,從而可為處理兩個或三個交易的作業(yè)保持一個獨立版本的數(shù)據(jù)集成作業(yè)。類似地,版本管理模塊9600可被用于選擇元數(shù)據(jù)模型、元代理或者其它儲存庫對象的版本,或者用于查詢注冊器或儲存庫,詢問存在這些對象的哪些版本。模塊9600還可支持與版本有關(guān)的功能,例如多個版本的分支和調(diào)和。從而,這里描述的方法和系統(tǒng)還包括提供管理數(shù)據(jù)集成作業(yè)的版本的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖49,模塊6400可以是一種不同類型的版本管理模塊9700。圖50的版本管理模塊9700可控制在數(shù)據(jù)集成過程中使用的數(shù)據(jù)或元數(shù)據(jù)的版本。從而雖然圖48的模塊9600可控制工具和過程的版本,圖49的模塊9700可控制這些工具適用于的數(shù)據(jù)或元數(shù)據(jù)的版本。從而,這里描述的方法和系統(tǒng)還包括提供管理數(shù)據(jù)集成作業(yè)的版本的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,該模塊允許用戶與另一用戶共享某一版本。在實施例中,該模塊允許用戶簽入和簽出某一版本的數(shù)據(jù)集成作業(yè),以便使用該數(shù)據(jù)集成作業(yè)。
參見圖50,模塊6400可以是并行執(zhí)行模塊9800。并行執(zhí)行模塊9800可便于并行地動態(tài)執(zhí)行數(shù)據(jù)集成作業(yè)。并行執(zhí)行模塊9800可分析執(zhí)行任務(wù)的各個部分的處理和數(shù)據(jù)相關(guān)性,從而產(chǎn)生適當?shù)牟⑿袌?zhí)行順序,或者可接收明確的并行性指令以及供執(zhí)行的任務(wù)的標識。從而,這里描述的方法和系統(tǒng)還包括提供并行執(zhí)行數(shù)據(jù)集成功能的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖51,模塊6400可以是數(shù)據(jù)劃分模塊9900。數(shù)據(jù)劃分模塊9900可把源記錄集分成幾個子集。例如,對于涉及一個表格的數(shù)據(jù)集成作業(yè),該表格可被分成幾個子表,每個子表具有它自己的數(shù)據(jù)、索引等,并且同時對每個子表進行數(shù)據(jù)集成作業(yè)。該過程可縮短處理時間。從而,這里描述的方法和系統(tǒng)還包括提供劃分數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖52,模塊6400可以是劃分和重新劃分模塊10000。劃分和重新劃分模塊10000可起增加了能夠重新組合初始子集或變換子集的功能的劃分模塊9900的作用。例如,在執(zhí)行了在圖51的例子中描述的數(shù)據(jù)集成作業(yè)之后,劃分和重新劃分模塊10000可結(jié)合子表,從而產(chǎn)生類似源表的變換表。從而,這里描述的方法和系統(tǒng)還包括提供劃分和重新劃分數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖53,模塊6400可以是數(shù)據(jù)庫接口模塊10100。數(shù)據(jù)庫接口模塊10100可允許用戶與數(shù)據(jù)庫交互作用和/或執(zhí)行數(shù)據(jù)集成作業(yè)。例如,數(shù)據(jù)庫接口模塊10100可允許用戶查看數(shù)據(jù)庫中的某些條目,比如某一雇員的銷售成績歷史。數(shù)據(jù)庫接口模塊10100可提供原子用戶交互作用,比如單獨的查詢、讀、寫或其它事務(wù)。數(shù)據(jù)庫接口模塊10100還可以或者改為提供更一般的數(shù)據(jù)庫連接性,通過所述數(shù)據(jù)庫連接性,數(shù)據(jù)集成作業(yè)或其它過程可同時處理數(shù)據(jù)庫。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)庫接口模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,該接口模塊便于實現(xiàn)相對于多個數(shù)據(jù)庫廠商的數(shù)據(jù)庫的接口。
參見圖54,模塊6400可以是數(shù)據(jù)集成模塊10200。數(shù)據(jù)集成模塊10200便于創(chuàng)建或執(zhí)行數(shù)據(jù)集成作業(yè)。例如,用戶可利用數(shù)據(jù)集成模塊10200創(chuàng)建和調(diào)度某些變換作業(yè),或者利用數(shù)據(jù)集成模塊10200調(diào)查什么數(shù)據(jù)集成過程在模塊6400中可用。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖55,模塊6400可以是同步模塊10300。數(shù)據(jù)同步模塊10300可使來自不同來源的數(shù)據(jù)同步。例如,數(shù)據(jù)同步模塊10300可對準不同數(shù)據(jù)庫中的類似條目,執(zhí)行交叉鏈接分析和除去任何重復(fù)的或者錯誤的記錄。從而,這里描述的方法和系統(tǒng)還包括提供使數(shù)據(jù)同步的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,該模塊便于實現(xiàn)跨多個分級數(shù)據(jù)格式的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)跨多種事務(wù)格式的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)跨多種工作環(huán)境的數(shù)據(jù)同步。在實施例中,該模塊便于實現(xiàn)電子數(shù)據(jù)互換格式數(shù)據(jù)的同步。在實施例中,該模塊便于實現(xiàn)HIPAA數(shù)據(jù)的同步。在實施例中,該模塊便于實現(xiàn)SWIFT格式數(shù)據(jù)的同步。
參見圖56,模塊6400可以是元數(shù)據(jù)目錄供給模塊10400。元數(shù)據(jù)目錄供給模塊10400可充當術(shù)語或定義數(shù)據(jù)庫,所述術(shù)語或定義數(shù)據(jù)庫便于深入了解企業(yè)記錄的信息的類型。例如,銷售部的用戶可利用元數(shù)據(jù)目錄供給模塊10400訪問元數(shù)據(jù)目錄,從而了解生產(chǎn)部門記錄的數(shù)據(jù)的類型。用戶可獲悉生產(chǎn)部門以批定義單位,而銷售部門以一百批定義單位。從而,用戶能夠據(jù)此調(diào)整她的供應(yīng)預(yù)測。從而,這里描述的方法和系統(tǒng)還包括提供供應(yīng)元數(shù)據(jù)目錄的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖57,模塊6400可以是圖形描述模塊10500。圖形描述模塊10500可用圖形格式描述對數(shù)據(jù)集成作業(yè)的修改的效果。例如,圖形描述模塊10500可向用戶顯示如果在數(shù)據(jù)集成過程中跳過數(shù)據(jù)歸一化步驟而產(chǎn)生的較大的表。圖形描述模塊10500特別可用于例如支持用于與數(shù)據(jù)集成系統(tǒng)交互作用的極度分離的用戶接口。從而,這里描述的方法和系統(tǒng)還包括提供圖形描述對數(shù)據(jù)集成功能的改變的影響的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖58,模塊6400可以是元代理模塊10600。元代理模塊10600可提供關(guān)于在系統(tǒng)中登記的元代理的元數(shù)據(jù)。例如,元代理模塊10600可許可關(guān)于可用元代理的查詢,以幫助手工或者自動選擇用于設(shè)計數(shù)據(jù)集成過程的元代理。從而,這里描述的方法和系統(tǒng)還包括提供創(chuàng)建元代理的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖59,模塊6400可以是元數(shù)據(jù)中心儲存庫模塊10700。元數(shù)據(jù)中心儲存庫模塊10700便于元數(shù)據(jù)的短暫存儲,以致可對元數(shù)據(jù)進行操作。例如,元數(shù)據(jù)中心儲存庫模塊10700可允許元數(shù)據(jù)以這樣的方式占用中心,從而允許元代理把元數(shù)據(jù)轉(zhuǎn)換成SAP兼容格式。從而,這里描述的方法和系統(tǒng)還包括提供元數(shù)據(jù)的中收儲存庫模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,所述中心保存多個數(shù)據(jù)集成平臺的語義模型。
參見圖60,模塊600可以是打包應(yīng)用連接性工具箱(PACK)模塊10800。通過利用待SAP BW訪問和使用的Information PowerCenter,PACK模塊10800允許產(chǎn)生和/或保存數(shù)據(jù)和元數(shù)據(jù)。更一般地,PACK能夠?qū)崿F(xiàn)與涉及任何操作系統(tǒng)和/或硬件的任意數(shù)據(jù)庫、應(yīng)用程序或企業(yè)的連接性,或者實現(xiàn)所述任意數(shù)據(jù)庫、應(yīng)用程序或企業(yè)之間的連接性。當把遺留數(shù)據(jù)系統(tǒng)集成到企業(yè)中,或者當跨越商業(yè)企業(yè)的先前分離的,并且使用不同數(shù)據(jù)庫管理技術(shù)的多個部門集成數(shù)據(jù)時,PACK模塊10800特別有用。從而,這里描述的方法和系統(tǒng)還包括提供PACK,提供服務(wù)注冊器,為PACK提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別PACK,其中可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式訪問PACK。
參見圖61,模塊6400可以是行業(yè)專用數(shù)據(jù)模型存儲模塊10900。行業(yè)專用數(shù)據(jù)模型存儲模塊10900可便于存儲行業(yè)專用數(shù)據(jù)模型。例如,貨運行業(yè)的公司可記錄和裝運的貨物有關(guān)的一些特性。行業(yè)專用數(shù)據(jù)模型存儲模塊10900便于保存可由貨運公司使用的模板。某些行業(yè)對數(shù)據(jù)存儲和通信使用廣泛采用或者法律要求的標準。例如,HIPAA批準保健提供者必須使用的某些事務(wù)類型和保密標準。SWIFT通常用于金融行業(yè)中的事務(wù)。利用行業(yè)專用數(shù)據(jù)模型存儲模塊10900,這些和其它類似標準可被管理和部署在數(shù)據(jù)集成系統(tǒng)內(nèi)。從而,這里描述的方法和系統(tǒng)還包括提供保存行業(yè)專用數(shù)據(jù)模型的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。所述模型可以是制造業(yè)模型、零售業(yè)模型、電信業(yè)模型、保健行業(yè)模型、金融服務(wù)業(yè)模型或者任何其它行業(yè)的模型。
參見圖62,模塊6400可以是模板模塊11000。模板模塊11000允許用戶建立和保存某些類型的數(shù)據(jù)集成作業(yè)的模板。模板可組合這里說明的其它模塊6400的任務(wù)和功能,或者適合于數(shù)據(jù)集成系統(tǒng)的任何其它任務(wù)和功能,從而捕捉供使用、重新使用和改進的特殊設(shè)計解決方案。例如,用戶可建立和保存集成客戶信用和定單信息的模板。通過變換函數(shù)庫模塊9500,用戶可使該模板供其它用戶之用。從而,這里描述的方法和系統(tǒng)還包括提供建立數(shù)據(jù)集成功能的模板,提供服務(wù)注冊器,為模板提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖63,模塊6400可以是商業(yè)規(guī)則創(chuàng)建模塊11100。商業(yè)規(guī)則創(chuàng)建模塊11100可提供能夠正式表述的任何商業(yè)規(guī)劃或商業(yè)邏輯,可包括比較、條件評估、數(shù)學(xué)評估、統(tǒng)計分析、布爾運算和可在提供商業(yè)規(guī)則的語境中執(zhí)行的任何其它操作。例如,在向客戶發(fā)給信用之前,公司可能要求最低的信用評分,這可被正式化成一條商業(yè)規(guī)則。對于可應(yīng)用于人力資源部中的工資單計算的工資和退休金,公司可能具有預(yù)定的程序,或者對于不同的部門,公司可保持不同的雇用標準,或者公司被要求向地方政府機構(gòu)報告銷售額??赡艿纳虡I(yè)規(guī)則的范圍和復(fù)雜性沒有限制。利用商業(yè)規(guī)則創(chuàng)建模塊11100能夠創(chuàng)建任意這樣的可有計劃地表述的規(guī)則,并且隨后將其應(yīng)用在數(shù)據(jù)集成過程中。從而,這里描述的方法和系統(tǒng)還包括提供創(chuàng)建商業(yè)規(guī)則的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖64,模塊6400可以是確認表創(chuàng)建模塊11200。確認表創(chuàng)建模塊11200便于創(chuàng)建其它數(shù)據(jù)集成功能的確認表。從而,這里描述的方法和系統(tǒng)還包括提供創(chuàng)建確認表的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖65,模塊6400可以是數(shù)據(jù)集成模塊11300。注意參考圖66說明了數(shù)據(jù)集成模塊10200。數(shù)據(jù)集成模塊10200與預(yù)先打包的數(shù)據(jù)集成作業(yè)的創(chuàng)建和/或執(zhí)行相關(guān)。這里描述的模塊11300改為涉及執(zhí)行特定的數(shù)據(jù)集成作業(yè)、任務(wù)或功能的模塊。從而,在這里說明的數(shù)據(jù)集成模塊11300中,可以預(yù)先打包的作業(yè)的形式執(zhí)行利用數(shù)據(jù)集成模塊10200創(chuàng)建的數(shù)據(jù)集成作業(yè)。數(shù)據(jù)集成模塊11300可執(zhí)行任何數(shù)據(jù)集成作業(yè)、任務(wù)或者過程。數(shù)據(jù)集成模塊10200還與標記為指示數(shù)據(jù)集成功能的本質(zhì)的圖形用戶接口中的控制件相關(guān)聯(lián)。這樣,通過被便利地標記以供用戶識別的按鍵、下拉菜單項或者其它控制件,強分離的用戶接口可以使用任何用戶定義的數(shù)據(jù)集成功能。從而,這里描述的方法和系統(tǒng)還包括提供數(shù)據(jù)集成功能模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖66,模塊6400可以是商業(yè)度量創(chuàng)建模塊11400。商業(yè)度量創(chuàng)建模塊11400可便于創(chuàng)建將與某一業(yè)務(wù)或者業(yè)務(wù)子集相關(guān)的某些商業(yè)度量。例如,所述業(yè)務(wù)可以是客戶產(chǎn)品業(yè)務(wù),商業(yè)度量創(chuàng)建模塊11400可幫助創(chuàng)建測量每一美元的廣告費的增長銷售額的尺度。商業(yè)度量創(chuàng)建模塊11400還可收集計算所述尺度所必需的數(shù)據(jù),或者與為此目的的其它模塊和系統(tǒng)一起工作。模塊11400能夠利用任何數(shù)學(xué)函數(shù)、邏輯函數(shù)、條件函數(shù)或者其它函數(shù),或者它們的組合實現(xiàn)所述尺度的創(chuàng)建。從而,這里描述的方法和系統(tǒng)還包括提供創(chuàng)建商業(yè)度量的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖67,模塊6400可以是目標數(shù)據(jù)庫定義模塊11500。目標數(shù)據(jù)庫定義模塊11500可參與目標數(shù)據(jù)庫的定義,包括數(shù)據(jù)庫的類型和結(jié)構(gòu)的定義。例如,目標數(shù)據(jù)庫定義模塊11500可接收來自剖析和審計模塊的推薦,準備適合于特定數(shù)據(jù)源和變換的目標數(shù)據(jù)庫的數(shù)據(jù)庫定義。模塊11500便于在各個判定點的交互式控制,或者可在無用戶干預(yù)的情況下確定性地發(fā)揮作用。從而,這里描述的方法和系統(tǒng)還包括提供定義目標數(shù)據(jù)庫的模塊,提供服務(wù)注冊器,提供一個或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,和在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖68,模塊6400可以是主機數(shù)據(jù)剖析模塊11600。主機數(shù)據(jù)剖析模塊11600可以供主機數(shù)據(jù)的剖析之用。計算機主機可具有特殊的數(shù)據(jù)格式,連通要求,安全層等。主機數(shù)據(jù)剖析模塊11600可被設(shè)計成致力于特定主機或者特定類型的主機的所有這些問題,從而加速利用這種主機的數(shù)據(jù)集成系統(tǒng)的設(shè)計。從而,這里描述的方法和系統(tǒng)還包括提供剖析主機數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖69,模塊6400可以是批處理模塊11700。批處理模塊11700可便于分批處理數(shù)據(jù)集成作業(yè)。例如,就某些處理器配置來說,最好分批處理事務(wù)。作為另一例子,最好把處理集中到遠離計算機使用高峰期的時候,例如從早上1點到早上3點。批處理可在用戶可計劃的時間,或者在用戶可選擇的機器上便于大型數(shù)據(jù)集成作業(yè)和過程的執(zhí)行。批處理模塊11700可按照這種方式或者任何其它可控方式幫助簡化處理。從而,這里描述的方法和系統(tǒng)還包括提供批處理一批數(shù)據(jù)的模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖70,模塊6400可以是交叉表分析模塊11800。交叉表分析模塊11800便于分析表之間的關(guān)系和連接,在目標數(shù)據(jù)庫的構(gòu)建方面,這可帶來顯著的好處。例如,交叉表分析模塊11800可允許用戶確定兩個客戶數(shù)據(jù)表之間的關(guān)聯(lián)度。根據(jù)該信息,用戶可決定集成表格中的信息。從而,這里描述的方法和系統(tǒng)還包括提供交叉表分析模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖71,模塊6400可以是關(guān)系分析模塊11900。關(guān)系分析模塊11900可分析任何兩個或更多行、列、表、數(shù)據(jù)庫或者它們的組合以及其它數(shù)據(jù)源項目之間的關(guān)系。例如,關(guān)系分析模塊11900可確定列和表之間的關(guān)系。該信息可被用于驗證數(shù)據(jù)庫中的其它數(shù)據(jù),或者識別還未被充分表征的數(shù)據(jù)庫的關(guān)鍵字或者其它結(jié)構(gòu)信息。根據(jù)關(guān)系分析,用戶可決定在設(shè)計數(shù)據(jù)集成過程或目標數(shù)據(jù)庫中采取響應(yīng)步驟,例如合并表格,拆分表格,刪除列等。從而,這里描述的方法和系統(tǒng)還包括提供關(guān)系分析模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖72,模塊6400可以是數(shù)據(jù)定義語言代碼生成模塊12000。數(shù)據(jù)定義語言(DDL)代碼生成模塊12000可產(chǎn)生數(shù)據(jù)庫用DDL代碼,從而或者創(chuàng)建新的目標數(shù)據(jù)庫,或者修改源或目標數(shù)據(jù)庫。數(shù)據(jù)定義語言代碼生成模塊12000可響應(yīng)提供給該模塊的其它結(jié)構(gòu)數(shù)據(jù)庫描述產(chǎn)生DDL代碼,或者產(chǎn)生DDL代碼作為伴隨某一其它數(shù)據(jù)集成過程的參數(shù)。DDL代碼可被直接提供給數(shù)據(jù)庫,比如SQL數(shù)據(jù)庫,從而在其中實現(xiàn)結(jié)構(gòu)變化。從而,這里描述的方法和系統(tǒng)還包括提供DDL代碼模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。在實施例中,所述方法和系統(tǒng)還可包括使用該模塊來創(chuàng)建源數(shù)據(jù)設(shè)施和目標數(shù)據(jù)設(shè)施之間的映射。
參見圖73,模塊640可以是設(shè)計接口模塊12100。設(shè)計接口模塊12100可提供用于創(chuàng)建和設(shè)計數(shù)據(jù)集成作業(yè)的用戶接口。設(shè)計接口模塊12100可包括圖形用戶接口。設(shè)計接口模塊12100可以是極度分離的,只提供接口的低級控制和布局,同時與完成數(shù)據(jù)集成系統(tǒng)內(nèi)的功能的其它模塊6400或代碼相關(guān)聯(lián)。作為可通過設(shè)計接口模塊12100執(zhí)行的操作的一個例子,設(shè)計接口模塊12100可允許用戶在屏幕上鏈接各種操作,從而創(chuàng)建一個數(shù)據(jù)集成作業(yè)。在另一實施例中,通過提供對設(shè)計的存儲、檢索和修改的適當程序控制,設(shè)計接口模塊12100可以只提供對設(shè)計,比如元數(shù)據(jù)模型或數(shù)據(jù)集成作業(yè)的功能訪問。設(shè)計接口模塊12100又可連接程序控制與諸如程序或圖形用戶接口之類的客戶端。從而,這里描述的方法和系統(tǒng)還包括提供設(shè)計數(shù)據(jù)集成作業(yè)的設(shè)計接口模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖74,模塊6400可以是數(shù)據(jù)集成作業(yè)開發(fā)模塊12200。數(shù)據(jù)集成作業(yè)開發(fā)模塊12200便于數(shù)據(jù)集成作業(yè)的開發(fā)。例如,用戶可使用數(shù)據(jù)集成作業(yè)開發(fā)模塊12200建立預(yù)先存在的數(shù)據(jù)集成作業(yè)。數(shù)據(jù)集成作業(yè)開發(fā)模塊12200可為強分離的圖形用戶接口的開發(fā)特征提供功能支持。從而,這里描述的方法和系統(tǒng)還包括提供開發(fā)數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
參見圖75,模塊6400可以是數(shù)據(jù)集成作業(yè)部署模塊12300。數(shù)據(jù)集成作業(yè)部署模塊12300可簡化數(shù)據(jù)集成作業(yè)的部署,并解決在進行時出現(xiàn)的任何實現(xiàn)問題。數(shù)據(jù)集成作業(yè)部署模塊12300可在預(yù)定計劃的基礎(chǔ)上,或者在模塊12300的客戶的控制下部署數(shù)據(jù)集成作業(yè)。模塊12300還可建議另外的數(shù)據(jù)集成作業(yè)的調(diào)度。數(shù)據(jù)集成作業(yè)部署模塊12300可跨越不同的數(shù)據(jù)設(shè)施112同時部署多個數(shù)據(jù)集成作業(yè)。從而,這里描述的方法和系統(tǒng)還包括提供部署數(shù)據(jù)集成作業(yè)的模塊,提供服務(wù)注冊器,提供一種或多個客戶端接口6410,服務(wù)策略和/或攔截器6412,以及在注冊器中識別該模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
在各個實施例中,通過各種輸入和輸出設(shè)施,包括綁定和類似的設(shè)施,比如EJB、JMS、web服務(wù)、SOAP和其它綁定,可訪問這里描述的模塊、設(shè)施、工具、作業(yè)、服務(wù)、過程和功能。
在實施例中,這里描述的方法和系統(tǒng)可包括優(yōu)化客戶裝置對模塊、設(shè)施、作業(yè)、服務(wù)、過程、功能等的訪問的客戶端設(shè)施。在實施例中,這里描述的方法和系統(tǒng)包括優(yōu)化客戶裝置對模塊、設(shè)施、作業(yè)、服務(wù)、過程、功能等的訪問的服務(wù)器端設(shè)施。
參見圖76,在實施例中,數(shù)據(jù)集成平臺或過程的面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)可以是可用于各種集成和計算任務(wù)的服務(wù),包括執(zhí)行許多公共任務(wù)所要求的或者有益于許多公共任務(wù)的功能的模塊。從而,例如,可部署記錄服務(wù)12400,比如用于記錄事件。希望記錄事件的用戶(出于與任何任務(wù)相關(guān)的任何原因,比如與數(shù)據(jù)集成作業(yè)或任務(wù)有關(guān)的任務(wù)原因)通過經(jīng)由面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)注冊器訪問記錄服務(wù)12400,可調(diào)用記錄服務(wù)12400。從而,程序員不必創(chuàng)建新的記錄服務(wù)來記錄事件,而是通過服務(wù)注冊器調(diào)用預(yù)先編碼的記錄服務(wù)。
參見圖77,監(jiān)視服務(wù)12500可被部署成面向服務(wù)的體系結(jié)構(gòu)中的一個服務(wù)。例如,用戶可調(diào)用監(jiān)視服務(wù)12500來監(jiān)視數(shù)據(jù)集成作業(yè)或任務(wù)的性能的某一方面,或者監(jiān)視事件或過程。監(jiān)視服務(wù)12500便于產(chǎn)生具體的事件和尺度,比如計數(shù)器、平均值和總和,以便監(jiān)視。例如,數(shù)據(jù)集成系統(tǒng)具有稱為作業(yè)執(zhí)行服務(wù)的服務(wù),其目的是運行某一作業(yè),比如批作業(yè)。利用監(jiān)視服務(wù)12500,用戶能夠監(jiān)視作業(yè)執(zhí)行服務(wù)已被運行多少次,作業(yè)執(zhí)行服務(wù)的運行需要多長時間,最小執(zhí)行時間,最大執(zhí)行時間,平均執(zhí)行時間和其它統(tǒng)計信息。用戶能夠在不了解底層的作業(yè)執(zhí)行服務(wù)的代碼的情況下完成所有這些功能。所有監(jiān)視服務(wù)被部署成服務(wù)的事實意味著在作業(yè)的執(zhí)行之內(nèi),用戶能夠詢問已接觸了多少個數(shù)據(jù)庫,或者特定于作業(yè)執(zhí)行服務(wù)的語義的其它監(jiān)視項目。從而,作業(yè)執(zhí)行服務(wù)本身可以是監(jiān)視服務(wù)的客戶。從而,通過監(jiān)視服務(wù)12500,系統(tǒng)能夠告訴在另一服務(wù)的實現(xiàn)中正在發(fā)生什么。在實施例中,每個公共服務(wù),比如監(jiān)視服務(wù)12500和結(jié)合圖76-83說明的其它服務(wù),可為每個服務(wù)確定不同的區(qū)域,比如要監(jiān)視什么,服務(wù)的運行時間和管理部分。為了調(diào)用監(jiān)視服務(wù)12500,可詢問用戶要監(jiān)視什么。從而,監(jiān)視服務(wù)12500可被面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)用于監(jiān)視所述服務(wù)做什么,或者可被用于關(guān)于其它事件和條件進行特定于領(lǐng)域的監(jiān)視。
參見圖78,安全模塊12600或服務(wù)可被部署成面向服務(wù)的體系結(jié)構(gòu)中的服務(wù),以便提供安全能力,比如在數(shù)據(jù)集成作業(yè)或任務(wù)方面的安全能力。當用戶需要安全設(shè)施,比如口令保護、加密、跟蹤訪問、限制訪問等時,用戶可以面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)的形式,調(diào)用安全模塊12600,從而用戶不必為每個數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的安全設(shè)施。
參見圖79,許可模塊12700可被部署在面向服務(wù)的體系結(jié)構(gòu)中,以便當被用戶調(diào)用時能夠?qū)崿F(xiàn)許可功能。例如,作業(yè)設(shè)計人員可使數(shù)據(jù)集成作業(yè)調(diào)用許可服務(wù)來確定將在運行時執(zhí)行的特定任務(wù)是否遵守許可證約束,比如和機器的數(shù)目,用戶的數(shù)目等相關(guān)的許可證約束。用戶不需要為該用戶創(chuàng)建的每個數(shù)據(jù)集成作業(yè)或任務(wù)準備獨立的許可代碼。許可模塊可連同安裝和/或供應(yīng)服務(wù)一起使用。
參見圖80,事件管理模塊12800可被部署在面向服務(wù)的體系結(jié)構(gòu)中,當用戶通過服務(wù)注冊器調(diào)用時用于跟蹤和管理事件。用戶可為數(shù)據(jù)集成作業(yè)或任務(wù)所需的任何事件管理訪問事件管理模塊12800,比如跟蹤事件以便確定何時執(zhí)行過程或功能。用戶不需要為每個不同的數(shù)據(jù)集成任務(wù)或作業(yè)創(chuàng)建獨立的事件管理代碼。事件管理模塊12800可便于應(yīng)用程序的事件預(yù)約,并且可包含調(diào)回機構(gòu)。
參見圖81,供應(yīng)模塊12900可被部署在面向服務(wù)的體系結(jié)構(gòu)中,允許用戶通過經(jīng)由服務(wù)注冊器訪問供應(yīng)模塊12900實現(xiàn)供應(yīng)功能。供應(yīng)模塊12900便于對多個機器的組件供應(yīng),可保持安裝在不同機器上的組件和版本的歷史,推送或分發(fā)軟件或補丁,可觸發(fā)安全服務(wù)的安裝,可幫助或方便授權(quán)和/中驗證,可保持內(nèi)部和外部用戶目錄,以及可幫助或方便一次性登錄功能。
參見圖82,事務(wù)模塊13000可被部署在允許用戶通過服務(wù)注冊器訪問事務(wù)模塊13000的面向服務(wù)的體系結(jié)構(gòu)中,不需要為用戶創(chuàng)建的每個應(yīng)用程序,例如為數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的事務(wù)管理代碼。
參見圖83,審計模塊13100可被部署在允許用戶通過服務(wù)注冊器訪問審計模塊13100的面向服務(wù)的體系結(jié)構(gòu)中,不需要為用戶創(chuàng)建的每個應(yīng)用程序,例如為數(shù)據(jù)集成作業(yè)或任務(wù)創(chuàng)建獨立的審計代碼。從而,通過調(diào)用該服務(wù)訪問模塊13100,用戶能夠?qū)徲嬍录?,比如審計什么用戶訪問了特定數(shù)據(jù)庫或過程,已發(fā)生了什么事件等。審計模塊13100可允許用戶方便地審計過去的事件,而不必產(chǎn)生獨立的代碼。
從而,數(shù)據(jù)集成作業(yè)或平臺所必需的或者對數(shù)據(jù)集成作業(yè)或平臺有益的各種公共任務(wù)可以模塊的形式創(chuàng)建,并部署成面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。
在這里描述的模塊和服務(wù)的各個實施例中,AOP技術(shù)可被用于實現(xiàn)面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。例如,可利用AOP以服務(wù)的形式實現(xiàn)各種元數(shù)據(jù)功能和模塊。在實施例中,服務(wù)的綁定,比如EJB(例如EJB 3.0)可使用AOP。
雖然關(guān)于一些優(yōu)選實施例說明了本發(fā)明,不過應(yīng)明白本領(lǐng)域的技術(shù)人員會認識到其它實施例,并且所述其它實施例在本公開的范圍內(nèi)。
權(quán)利要求
1.一種方法,包括提供數(shù)據(jù)集成功能的模塊;提供服務(wù)的注冊器;提供該模塊的接口;和在注冊器中識別所述模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
2.按照權(quán)利要求1所述的方法,其中數(shù)據(jù)集成功能包括數(shù)據(jù)提取、數(shù)據(jù)變換、數(shù)據(jù)裝入、元數(shù)據(jù)管理、數(shù)據(jù)剖析、數(shù)據(jù)審計、數(shù)據(jù)清洗、數(shù)據(jù)質(zhì)量、數(shù)據(jù)匹配、數(shù)據(jù)遷移和過濾中的一個或多個。
3.按照權(quán)利要求1所述的方法,其中數(shù)據(jù)集成功能包括原子數(shù)據(jù)儲存庫功能、語義識別功能、過濾功能、精煉和選擇功能、設(shè)計接口功能、分析功能、定向功能、主鍵供應(yīng)功能、外鍵供應(yīng)功能、表標準化功能、源-目標映射功能、數(shù)據(jù)集成作業(yè)自動產(chǎn)生功能、缺陷探測功能、性能測量功能、數(shù)據(jù)去重功能、統(tǒng)計分析功能、數(shù)據(jù)調(diào)和功能、庫功能、版本管理功能、并行執(zhí)行功能、劃分功能、劃分和重新劃分功能、接口功能、同步功能、元數(shù)據(jù)目錄功能、圖形影響描述功能、中心儲存庫功能、打包應(yīng)用連接性工具箱功能、行業(yè)專用數(shù)據(jù)模型存儲功能、模板功能、商業(yè)規(guī)則功能、確認表功能、商業(yè)度量功能、目標數(shù)據(jù)庫定義功能、主機數(shù)據(jù)剖析功能、批處理功能、交叉表分析功能、關(guān)系分析功能、數(shù)據(jù)定義語言代碼產(chǎn)生功能、數(shù)據(jù)集成作業(yè)設(shè)計功能、數(shù)據(jù)集成作業(yè)部署功能和數(shù)據(jù)集成作業(yè)開發(fā)功能中的一個或多個。
4.按照權(quán)利要求1所述的方法,其中數(shù)據(jù)集成功能包括元代理功能,所述元代理功能跨多個數(shù)據(jù)集成平臺保持數(shù)據(jù)集成功能的語義。
5.按照權(quán)利要求1所述的方法,其中數(shù)據(jù)集成功能包括精煉和選擇功能,其中精煉和選擇功能允許所述方法根據(jù)區(qū)別特性區(qū)分項目。
6.按照權(quán)利要求1所述的方法,其中所述模塊分析數(shù)據(jù)庫的內(nèi)容。
7.按照權(quán)利要求1所述的方法,其中所述模塊分析數(shù)據(jù)庫的列、數(shù)據(jù)庫的表和數(shù)據(jù)庫的行中的一個或多個。
8.按照權(quán)利要求7所述的方法,其中所述模塊為數(shù)據(jù)項推薦目標數(shù)據(jù)庫。
9.按照權(quán)利要求1-8任一項所述的方法,其中所述模塊可被企業(yè)型Java Bean、Java消息接發(fā)服務(wù)和web服務(wù)中的一個或多個訪問。
10.按照權(quán)利要求1所述的方法,其中利用面向方面的編程,使策略與服務(wù)關(guān)聯(lián)起來。
11.按照權(quán)利要求1-10任一項所述的方法,其中所述模塊包括實時服務(wù)。
12.一種系統(tǒng),包括數(shù)據(jù)集成功能的模塊;服務(wù)的注冊器;所述模塊的接口;和注冊器中所述模塊的標識,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
13.按照權(quán)利要求12所述的系統(tǒng),其中數(shù)據(jù)集成功能包括數(shù)據(jù)提取、數(shù)據(jù)變換、數(shù)據(jù)裝入、元數(shù)據(jù)管理、數(shù)據(jù)剖析、數(shù)據(jù)審計、數(shù)據(jù)清洗、數(shù)據(jù)質(zhì)量、數(shù)據(jù)匹配、數(shù)據(jù)遷移和過濾中的一個或多個。
14.按照權(quán)利要求12所述的系統(tǒng),其中數(shù)據(jù)集成功能包括原子數(shù)據(jù)儲存庫功能、語義識別功能、過濾功能、精煉和選擇功能、設(shè)計接口功能、分析功能、定向功能、主鍵供應(yīng)功能、外鍵供應(yīng)功能、表標準化功能、源-目標映射功能、數(shù)據(jù)集成作業(yè)自動產(chǎn)生功能、缺陷探測功能、性能測量功能、數(shù)據(jù)去重功能、統(tǒng)計分析功能、數(shù)據(jù)調(diào)和功能、庫功能、版本管理功能、并行執(zhí)行功能、劃分功能、劃分和重新劃分功能、接口功能、同步功能、元數(shù)據(jù)目錄功能、圖形影響描述功能、中心儲存庫功能、打包應(yīng)用連接性工具箱功能、行業(yè)專用數(shù)據(jù)模型存儲功能、模板功能、商業(yè)規(guī)則功能、確認表功能、商業(yè)度量功能、目標數(shù)據(jù)庫定義功能、主機數(shù)據(jù)剖析功能、批處理功能、交叉表分析功能、關(guān)系分析功能、數(shù)據(jù)定義語言代碼產(chǎn)生功能、數(shù)據(jù)集成作業(yè)設(shè)計功能、數(shù)據(jù)集成作業(yè)部署功能和數(shù)據(jù)集成作業(yè)開發(fā)功能中的一個或多個。
15.按照權(quán)利要求12所述的系統(tǒng),其中數(shù)據(jù)集成功能包括元代理功能,所述元代理功能跨多個數(shù)據(jù)集成平臺保持數(shù)據(jù)集成功能的語義。
16.按照權(quán)利要求12所述的系統(tǒng),其中數(shù)據(jù)集成功能包括精煉和選擇功能,其中精煉和選擇功能允許所述方法根據(jù)區(qū)別特性區(qū)分項目。
17.按照權(quán)利要求12所述的系統(tǒng),其中所述模塊分析數(shù)據(jù)庫的內(nèi)容。
18.按照權(quán)利要求12所述的系統(tǒng),其中所述模塊分析數(shù)據(jù)庫的列、數(shù)據(jù)庫的表和數(shù)據(jù)庫的行中的一個或多個。
19.按照權(quán)利要求12所述的系統(tǒng),其中所述模塊為數(shù)據(jù)項推薦目標數(shù)據(jù)庫。
20.按照權(quán)利要求12-19任一項所述的系統(tǒng),其中所述模塊可被企業(yè)型Java Bean、Java消息接發(fā)服務(wù)和web服務(wù)中的一個或多個訪問。
21.按照權(quán)利要求12-20任一項所述的系統(tǒng),其中所述模塊包括實時服務(wù)。
22.一種包含計算機可用介質(zhì)的計算機程序產(chǎn)品,所述計算機可用介質(zhì)包括計算機可讀程序代碼,其中當在一個或多個計算機上執(zhí)行時,所述計算機可讀程序代碼使所述一個或多個計算機提供數(shù)據(jù)集成功能的模塊;提供服務(wù)的注冊器;提供該模塊的接口;和在注冊器中識別所述模塊,其中所述模塊可作為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)而被訪問。
23.一種方法,包括取得執(zhí)行數(shù)據(jù)集成任務(wù)的計算機可執(zhí)行代碼的模塊;和把所述模塊部署為面向服務(wù)的體系結(jié)構(gòu)中的服務(wù)。
24.按照權(quán)利要求23所述的方法,其中數(shù)據(jù)集成任務(wù)包括可被面向服務(wù)的體系結(jié)構(gòu)內(nèi)的其它服務(wù)訪問的公共服務(wù)。
25.按照權(quán)利要求23所述的方法,其中公共服務(wù)選自監(jiān)視服務(wù)、事務(wù)處理服務(wù)、供應(yīng)服務(wù)、事件管理服務(wù)、安全服務(wù)、審計服務(wù)和記錄服務(wù)。
26.按照權(quán)利要求23所述的方法,其中所述服務(wù)是實時服務(wù)。
27.一種系統(tǒng),包括面向服務(wù)的體系結(jié)構(gòu)平臺;和部署在面向服務(wù)的體系結(jié)構(gòu)平臺上的數(shù)據(jù)集成服務(wù),所述數(shù)據(jù)集成服務(wù)具有一個以上的綁定;其中面向服務(wù)的體系結(jié)構(gòu)平臺根據(jù)訪問特性,自動從所述一個以上綁定中產(chǎn)生綁定。
28.按照權(quán)利要求27所述的系統(tǒng),其中所述訪問特性基于調(diào)用所述服務(wù)的裝置、應(yīng)用和服務(wù)中的至少一個。
29.按照權(quán)利要求27所述的系統(tǒng),其中所述訪問特性基于調(diào)用實體和所述服務(wù)之間的綁定的緊密度。
30.按照權(quán)利要求27所述的系統(tǒng),還包括調(diào)用所述服務(wù),其中調(diào)用所述服務(wù)的實體是客戶機、應(yīng)用、裝置和服務(wù)中的至少一個。
31.按照權(quán)利要求27所述的系統(tǒng),其中數(shù)據(jù)集成服務(wù)包括數(shù)據(jù)提取、數(shù)據(jù)變換、數(shù)據(jù)裝入、元數(shù)據(jù)管理、數(shù)據(jù)剖析、數(shù)據(jù)審計、數(shù)據(jù)清洗、數(shù)據(jù)質(zhì)量、數(shù)據(jù)匹配、數(shù)據(jù)遷移和過濾中的一個或多個。
32.按照權(quán)利要求27所述的系統(tǒng),其中數(shù)據(jù)集成服務(wù)是實時服務(wù)。
33.一種方法,包括提供用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu);在面向服務(wù)的體系結(jié)構(gòu)內(nèi)部署服務(wù),所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)內(nèi)可用的多個綁定;和自動為所述服務(wù)選擇所述多個綁定之一。
34.按照權(quán)利要求33所述的方法,其中自動選擇包括根據(jù)規(guī)則為所述服務(wù)選擇所述多個綁定之一。
35.按照權(quán)利要求33所述的方法,其中自動選擇包括根據(jù)調(diào)用所述服務(wù)的實體的訪問特性進行選擇。
36.按照權(quán)利要求35所述的方法,其中所述實體包括裝置、應(yīng)用和服務(wù)中的一個或多個。
37.按照權(quán)利要求33所述的方法,還包括提供用于調(diào)用所述服務(wù)的客戶調(diào)用框架。
38.按照權(quán)利要求37所述的方法,其中客戶調(diào)用框架包括為所述服務(wù)動態(tài)調(diào)用所述多個綁定中的任意之一的接口。
39.按照權(quán)利要求38所述的方法,還包括為所述接口產(chǎn)生多個代理。
40.按照權(quán)利要求39所述的方法,其中所述多個代理包括至少一個C++代理和至少一個C#代理。
41.按照權(quán)利要求37所述的方法,其中客戶調(diào)用框架與語言無關(guān)。
42.按照權(quán)利要求37所述的方法,其中客戶調(diào)用框架是基于代理的。
43.按照權(quán)利要求33所述的方法,其中所述服務(wù)包括至少一個數(shù)據(jù)集成功能。
44.一種包含在計算機可讀介質(zhì)中的計算機程序產(chǎn)品,包括提供用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu)的計算機可執(zhí)行代碼;在面向服務(wù)的體系結(jié)構(gòu)內(nèi)部署服務(wù)的計算機可執(zhí)行代碼,所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)內(nèi)可用的多個綁定;和自動為所述服務(wù)選擇所述多個綁定之一的計算機可執(zhí)行代碼。
45.一種系統(tǒng),包括用于部署服務(wù)的面向服務(wù)的體系結(jié)構(gòu);面向服務(wù)的體系結(jié)構(gòu)內(nèi)的服務(wù),所述服務(wù)具有在面向服務(wù)的體系結(jié)構(gòu)內(nèi)可用的多個綁定;和自動為所述服務(wù)選擇所述多個綁定之一的軟件模塊。
全文摘要
提供在面向服務(wù)的體系結(jié)構(gòu)內(nèi)部署服務(wù),比如產(chǎn)品服務(wù)、實時服務(wù)和公共服務(wù)的方法和系統(tǒng),包括用于部署企業(yè)數(shù)據(jù)集成功能的方法和系統(tǒng)。
文檔編號G06F9/44GK101048732SQ200580028857
公開日2007年10月3日 申請日期2005年8月31日 優(yōu)先權(quán)日2004年8月31日
發(fā)明者維諾達赫·阿瓊, 赫爾南多·波爾達, 托馬斯·切雷爾, 拉齊夫·卡達亞姆, 特朗·樂, 讓-克勞德·馬姆, 李·J.·舍夫勒, 里克·斯迪勒, 克里斯蒂安·塔維勒, 布萊恩·蒂奈爾, 亨利·鄭 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1