專利名稱:用于行業(yè)應(yīng)用程序集成的適配器框架的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計(jì)算機(jī),尤其涉及支持企業(yè)應(yīng)用程序集成和互操作性的框架。
背景行業(yè)(LOB)應(yīng)用程序是用于當(dāng)今的知識密集型企業(yè)的至關(guān)重要的技術(shù)。LOB應(yīng)用程序或系統(tǒng)可以包括一系列或一群專用的系統(tǒng),包括但不限于,會計(jì)、企業(yè)資源規(guī)劃(ERP)、供應(yīng)鏈管理和顧客關(guān)系管理(CRM)。這些特定的系統(tǒng)嵌入到諸如SQL Server和Oracle等數(shù)據(jù)庫管理系統(tǒng)中以便存儲數(shù)據(jù)。實(shí)質(zhì)上,LOB應(yīng)用程序提供了關(guān)系到企業(yè)的命脈的至關(guān)重要的信息,這些信息通過報(bào)告或用于分析的其它商務(wù)應(yīng)用程序呈現(xiàn)給用戶。然而,這些系統(tǒng)還使用高度私有化的非常復(fù)雜的數(shù)據(jù)庫模式。因此,在大多數(shù)銷售商系統(tǒng)中(例如,PeopleSoft,SAP…),使用含糊的號碼或非描述性的字母數(shù)字字符來標(biāo)識諸如顧客表等數(shù)據(jù)結(jié)構(gòu)。因此,現(xiàn)有的LOB應(yīng)用程序使得數(shù)據(jù)訪問和處理集成極具挑戰(zhàn)性。
諸如ERP等LOB應(yīng)用程序是成熟的技術(shù)。因此,某些含糊性源于這樣的事實(shí),即,現(xiàn)在被一般地用于所有類型的業(yè)務(wù)的系統(tǒng)最初是針對一個(gè)特定的行業(yè)設(shè)計(jì)的。典型的例子是SAP,其最初是為德國化學(xué)行業(yè)設(shè)計(jì)的。因此,SAP的表和列都標(biāo)有多達(dá)6個(gè)德語化學(xué)縮寫。因此,即使用戶是德國的化學(xué)家,他們在試圖檢索系統(tǒng)所儲存的數(shù)據(jù)或與其交互時(shí)也會有相當(dāng)大的困難。然而,即使是較新的一般應(yīng)用程序也是用難以理解的符號設(shè)計(jì)的。本領(lǐng)域的多數(shù)意見是標(biāo)識表、列和行等的記法被故意地弄得含糊,以便阻礙用戶對其中的表(例如,顧客表)執(zhí)行他們自己的操作(例如,提取、加載)。相反,用戶必須保護(hù)理解用于標(biāo)識專有數(shù)據(jù)元素的難以理解的元數(shù)據(jù)的顧問和系統(tǒng)集成者的服務(wù)。這些顧問和系統(tǒng)集成者進(jìn)而實(shí)現(xiàn)他們自己的針對LOB應(yīng)用程序的標(biāo)準(zhǔn)部署和配置模型。
另外,企業(yè)通常使用一種以上完全不同的系統(tǒng),這至少是因?yàn)閱蝹€(gè)銷售商不能滿足每個(gè)組織的要求。例如,一個(gè)組織可以為相同的功能雇傭兩個(gè)不同的銷售商(例如,用于金融的兩個(gè)不同的ERP系統(tǒng)),或是為不同的功能雇傭多個(gè)銷售商(例如,Siebel CRM和PeopleSoft金融)。結(jié)果,高度專有化的數(shù)據(jù)模型阻礙了集成和互操作性。傳統(tǒng)上,由集成銷售商編寫的顧客應(yīng)用程序?qū)S眠m配器用于克服這種固有的限制。這些專用的適配器用于將應(yīng)用程序數(shù)據(jù)格式和語義從第一發(fā)送應(yīng)用程序轉(zhuǎn)換為第二接收應(yīng)用程序。然而,專用的適配器非常昂貴,并且現(xiàn)貨供應(yīng)的適配器不能適用于顧客的應(yīng)用程序。更重要地,顧客應(yīng)用程序?qū)S眠m配器提供了一種對于互操作性問題來說并不是有效的解決方案的補(bǔ)丁。
因此,本領(lǐng)域中需要一種有效的集中式系統(tǒng)和方法,以便通過熟悉的商務(wù)語義揭露或能夠訪問復(fù)雜的行業(yè)數(shù)據(jù)。
概述下面給出了本發(fā)明的簡化概述,以便提供對本發(fā)明的某些方面的基本理解。該概述不是對本發(fā)明的詳盡綜述。它不旨在標(biāo)識出本發(fā)明的關(guān)鍵/至關(guān)重要的元素或描述本發(fā)明的范圍。它唯一的目的是以簡化的形式給出本發(fā)明的某些概念,以作為稍后給出的更詳細(xì)描述的序言。
簡要地說,本發(fā)明涉及便于多個(gè)全異行業(yè)系統(tǒng)之間的集成和互操作。本發(fā)明的系統(tǒng)能夠?qū)OB應(yīng)用程序元數(shù)據(jù)的專用映射知識進(jìn)行捕捉和重復(fù)使用。此外,本發(fā)明試圖將以友好的商務(wù)領(lǐng)域術(shù)語表示的LOB數(shù)據(jù)傳遞給各種各樣的客戶機(jī)程序,并且便于這種數(shù)據(jù)的高性能處理以用于商務(wù)智能和分析。
根據(jù)本發(fā)明的一個(gè)方面,該系統(tǒng)提供了一種映射生成系統(tǒng)和一種數(shù)據(jù)提取/交互系統(tǒng)。映射生成系統(tǒng)提供一種用于映射組件的生成的裝置,該映射組件由數(shù)據(jù)提取系統(tǒng)尤其用于從一個(gè)或多個(gè)不同種類的企業(yè)數(shù)據(jù)源檢索數(shù)據(jù),并且將其返回給做出請求的客戶機(jī)應(yīng)用程序。具體地,本發(fā)明的映射組件包括元數(shù)據(jù)映射部分和協(xié)議映射部分。元數(shù)據(jù)映射部分以普通的商務(wù)語義為非描述性的企業(yè)源數(shù)據(jù)起別名,而協(xié)議映射部分是一種技術(shù)映射,它尤其識別出用于與特定數(shù)據(jù)源交互的適當(dāng)?shù)倪B接塊。該映射生成系統(tǒng)可以使用由系統(tǒng)集成者發(fā)布的或從頭開始開發(fā)的數(shù)據(jù)模型信息來產(chǎn)生映射組件。
根據(jù)本發(fā)明的一個(gè)方面,所發(fā)布的數(shù)據(jù)模型的粒度揭示了組成對象和構(gòu)建自定義數(shù)據(jù)模型或服務(wù)的能力。例如,用戶可以使用顧客模型和產(chǎn)品模型來構(gòu)建他們自己的銷售模型,而不是使用由特定銷售商發(fā)布的完整的銷售模型,雖然這也是可以的。
根據(jù)本發(fā)明的另一方面,可以使用交互式向?qū)б员闶褂脩裟軌驈陌l(fā)布的數(shù)據(jù)模型或手動地構(gòu)建映射組件。
根據(jù)本發(fā)明的又一方面,該映射組件可以是用于在統(tǒng)一維度模型中映射數(shù)據(jù)的數(shù)據(jù)源視圖。然而,本發(fā)明還構(gòu)想了其它映射,包括,但不限于,XSLT和ADL。
簡單地說,本發(fā)明不僅使得用戶能夠以友好的商務(wù)語義工作,而且允許他們以單個(gè)熟悉的技術(shù)工作。因此,用戶與之交互的商務(wù)語義和技術(shù)都是一致且熟悉的,從而便于編寫代碼和構(gòu)建自定義組件。
為了實(shí)現(xiàn)上述和有關(guān)的目標(biāo),本文以下面的描述和
了本發(fā)明的某些說明性方面。這些方面表明了可以實(shí)現(xiàn)本發(fā)明的各種方式,所有這些方式都旨在由本發(fā)明所覆蓋。當(dāng)結(jié)合附圖考慮本發(fā)明時(shí),從下面本發(fā)明的詳細(xì)描述中可以明了本發(fā)明的其它優(yōu)點(diǎn)和新穎特征。
附圖簡述從下面的詳細(xì)描述和下面對附圖的簡要描述中可以明了本發(fā)明的上述和其它方面。
圖1是根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)訪問系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的一個(gè)方面的映射構(gòu)建器組件的框圖;圖3是根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)提取系統(tǒng)的框圖;圖4是根據(jù)本發(fā)明的一個(gè)方面的示例性映射生成系統(tǒng)的框圖;圖5是根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)提取系統(tǒng)的框圖;圖6是根據(jù)本發(fā)明的一個(gè)方面提供的增強(qiáng)的用戶體驗(yàn)的圖示;圖7示出了根據(jù)本發(fā)明的一個(gè)方面與生成DSV相關(guān)聯(lián)的示例性GUI;圖8示出了根據(jù)本發(fā)明的一個(gè)方面與生成DSV相關(guān)聯(lián)的示例性GUI;
圖9a示出了根據(jù)本發(fā)明的一個(gè)方面與產(chǎn)生DSV相關(guān)聯(lián)的示例性GUI;圖9b示出了根據(jù)本發(fā)明的一個(gè)方面與構(gòu)造DSV相關(guān)聯(lián)的示例性GUI;圖9c示出了根據(jù)本發(fā)明的一個(gè)方面與生成DSV相關(guān)聯(lián)的示例性GUI;圖10示出了根據(jù)本發(fā)明的一個(gè)方面與產(chǎn)生DSV相關(guān)聯(lián)的示例性GUI;圖11是示出了根據(jù)本發(fā)明的一個(gè)方面構(gòu)造的DSV的GUI;圖12是示出了根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)訪問方法的流程圖;圖13是根據(jù)本發(fā)明的一個(gè)方面的映射生成方法的流程圖;圖14是根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)檢索方法的流程圖;圖15是示出了根據(jù)本發(fā)明的一個(gè)方面的適用的操作環(huán)境的示意框圖;圖16是本發(fā)明可以與之交互的示例計(jì)算環(huán)境的示意框圖。
詳細(xì)描述現(xiàn)在將參考附圖描述本發(fā)明,附圖中,自始至終相同的標(biāo)號指代相同或相應(yīng)的元件。然而應(yīng)當(dāng)理解,這些附圖和詳細(xì)描述不旨在將本發(fā)明限于所公開的特定形式。相反,本發(fā)明覆蓋落入本發(fā)明的精神和范圍內(nèi)的所有修改、等效技術(shù)方案和替換技術(shù)方案。
如本申請中所使用的,術(shù)語“組件”和“系統(tǒng)”指的是與計(jì)算機(jī)有關(guān)的實(shí)體,或是硬件、硬件和軟件的組合、軟件或是執(zhí)行中的軟件。例如,組件可以是,但不限于,運(yùn)行在處理器上的進(jìn)程、處理器、對象、可執(zhí)行碼、執(zhí)行的線程、程序和/或計(jì)算機(jī)。作為例子,運(yùn)行在服務(wù)器上的程序和服務(wù)器兩者都可以是組件。一個(gè)或多個(gè)組件可以駐留在執(zhí)行的進(jìn)程和/或線程內(nèi),并且組件可以位于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或多個(gè)計(jì)算機(jī)之間。
此處使用的術(shù)語“實(shí)體”、“數(shù)據(jù)實(shí)體”或其任意組合或交換指的是任意類型的數(shù)據(jù)或元數(shù)據(jù),尤其指富有語義的集成領(lǐng)域數(shù)據(jù)(例如,“顧客”或“購買訂單”)。
此外,本發(fā)明可以使用生產(chǎn)軟件、固件、硬件或它們的任意組合的標(biāo)準(zhǔn)編程和/或工程技術(shù)被實(shí)現(xiàn)為方法,裝置或制品,以便控制計(jì)算機(jī)來實(shí)現(xiàn)公開的發(fā)明。此處使用的術(shù)語“制品”(或可替換地,“計(jì)算機(jī)程序產(chǎn)品”)旨在包括可從任意計(jì)算機(jī)可讀設(shè)備,承載物或介質(zhì)上訪問的計(jì)算機(jī)程序。例如,計(jì)算機(jī)可讀介質(zhì)可以包括,但不限于,磁存儲設(shè)備(例如,硬盤、軟盤、磁帶…)、光盤(例如,壓縮盤(CD)、數(shù)字多功能盤(DVD)…)、智能卡和閃存設(shè)備(例如,卡、棒)。此外,應(yīng)當(dāng)理解,載波可以用于承載計(jì)算機(jī)可讀電子數(shù)據(jù),諸如用于發(fā)送和接收電子郵件或用于訪問網(wǎng)絡(luò)諸如因特網(wǎng)和局域網(wǎng)(LAN)等網(wǎng)絡(luò)的電子數(shù)據(jù)。當(dāng)然,本領(lǐng)域的技術(shù)人員將認(rèn)識到,可以對這種配置進(jìn)行許多修改而不脫離本發(fā)明的范圍或精神。
首先轉(zhuǎn)到圖1,根據(jù)本發(fā)明的一個(gè)方面給出了數(shù)據(jù)訪問系統(tǒng)100。數(shù)據(jù)訪問系統(tǒng)100被設(shè)計(jì)為尤其能夠捕捉和重復(fù)使用LOB元數(shù)據(jù)的專用映射知識,以便將以商務(wù)領(lǐng)域術(shù)語表示的LOB數(shù)據(jù)揭示給各種各樣的客戶機(jī)程序,并且能夠?qū)OB數(shù)據(jù)進(jìn)行高性能處理以用于商務(wù)智能和分析。數(shù)據(jù)訪問系統(tǒng)100包括映射生成系統(tǒng)110、映射組件120和數(shù)據(jù)提取系統(tǒng)130。具體地,映射生成系統(tǒng)110接收設(shè)計(jì)數(shù)據(jù),并且生成映射組件120。映射組件120可以特別地包括語義和技術(shù)映射信息中的一個(gè)或這兩者。根據(jù)本發(fā)明的一個(gè)方面,該映射組件可以包括語義信息,以便將含糊的應(yīng)用程序?qū)S眯畔⒎g或揭示為友好的或有意義的商務(wù)語義。例如,諸如數(shù)字串等標(biāo)識包含顧客信息的表的抽象表示法可以被映射為友好的名稱“顧客表”或類似物。此外,映射組件120可以包括便于將應(yīng)用程序信息映射為單個(gè)實(shí)現(xiàn)技術(shù)的數(shù)據(jù),從而用戶僅需要學(xué)習(xí)一種技術(shù)平臺(例如,.Net)或語言以便與存儲在多個(gè)不同種類數(shù)據(jù)源中的數(shù)據(jù)交互。更具體地,除了映射(例如,Customer.FirstName=KNA1-NAME1)之外,映射組件120可以包括實(shí)體、事件、操作和管理。實(shí)體是富有語義的集成領(lǐng)域數(shù)據(jù)(例如,“顧客”,“購買訂單”)。事件是指示企業(yè)應(yīng)用程序的狀態(tài)的改變的來自LOB應(yīng)用程序的向外API調(diào)用(例如,顧客購買事件)。操作是到LOB應(yīng)用程序的入站W(wǎng)eb服務(wù)。管理對應(yīng)于適配器控制,諸如獲得元數(shù)據(jù)、啟動、停止、暫停、繼續(xù)等。
數(shù)據(jù)提取/交互系統(tǒng)130提供了用于檢索由多個(gè)行業(yè)應(yīng)用程序維護(hù)的數(shù)據(jù)或與其交互(例如,加載、修改…)的機(jī)制。具體地,數(shù)據(jù)提取130接收映射組件120,并且使用其中的信息從一個(gè)或多個(gè)企業(yè)系統(tǒng)中提取指定的數(shù)據(jù)。然后,數(shù)據(jù)提取系統(tǒng)130可以將檢索到的信息提供給一個(gè)或多個(gè)客戶機(jī)應(yīng)用程序,以便進(jìn)一步處理、持久保存或顯示等等。
圖2示出了根據(jù)本發(fā)明的一個(gè)方面的映射生成系統(tǒng)110。如圖所示,映射生成系統(tǒng)110可以包括一個(gè)或多個(gè)數(shù)據(jù)模型庫210、數(shù)據(jù)模型訪問組件220和映射構(gòu)建器組件230。一個(gè)或多個(gè)庫210包含用于常見數(shù)據(jù)模型(例如,SAP、Siebel、PeopleSoft…)的多個(gè)映射或映射信息。根據(jù)本發(fā)明的一個(gè)方面,如下文中更詳細(xì)描述的,數(shù)據(jù)庫可以包括以給定的連接方法從ERP系統(tǒng)中檢索實(shí)體所需的所有映射。數(shù)據(jù)模型訪問組件220提供了用于從庫210中揭示數(shù)據(jù)的機(jī)制。具體地,訪問組件220在映射構(gòu)建器組件230或用戶請求時(shí)從庫210中檢索數(shù)據(jù)模型和映射信息。根據(jù)本發(fā)明的一個(gè)方面,應(yīng)當(dāng)理解,由于庫可以被設(shè)置為銷售商可以用于發(fā)布他們的數(shù)據(jù)模型的Web服務(wù),因此數(shù)據(jù)模型訪問組件220可以被實(shí)現(xiàn)為Web服務(wù)(和/或操作系統(tǒng)服務(wù))。映射構(gòu)建器組件230可以至少部分地根據(jù)從庫210中檢索到的信息生成映射組件120。如下面章節(jié)中進(jìn)一步描述的,映射構(gòu)建器組件230還可以通過接口(例如GUI)從包括但不限于用戶的其它來源請求額外的設(shè)計(jì)信息或要求,以用于映射組件的構(gòu)造。此外,應(yīng)當(dāng)注意,可以從頭開始手動地創(chuàng)建映射組件而不使用庫數(shù)據(jù)模型。再有,應(yīng)當(dāng)理解,映射組件120可以用于整理LOB應(yīng)用程序(例如,Accenture,Arthur Anderson…)的系統(tǒng)集成者部署。
還應(yīng)當(dāng)理解,除了存儲LOB模式映射定義之外,庫210可以存儲映射組件120。一旦被創(chuàng)建和命名,用戶定義的映射組件120就可以被保存到數(shù)據(jù)模型庫210中。因此,通過從庫210中檢索生成的映射組件,可以容易地重復(fù)使用它們,而不必在請求時(shí)重新創(chuàng)建它們。
轉(zhuǎn)向圖3,給出了根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)提取系統(tǒng)130。如上所述,數(shù)據(jù)提取系統(tǒng)130負(fù)責(zé)從多個(gè)不同的行業(yè)應(yīng)用程序和不同種類的存儲中檢索數(shù)據(jù)實(shí)體。提取系統(tǒng)130包括數(shù)據(jù)模型提供者組件310和一個(gè)或多個(gè)連接塊組件320。數(shù)據(jù)模型提供者310對由映射組件120提供的數(shù)據(jù)起作用。具體地,它通過將所選擇的映射從映射組件120傳遞到連接塊組件320,將數(shù)據(jù)提供給向LOB系統(tǒng)請求數(shù)據(jù)的客戶機(jī)程序。連接塊組件320提供了用于連接到LOB API(應(yīng)用程序編程接口)的機(jī)制或模式,并且將映射以查詢或其它請求調(diào)用的形式傳遞給它們。可以有許多不同的連接塊組件320,以便能夠與多個(gè)獨(dú)特系統(tǒng)的交互。在這種情況下,映射組件可以指定特定的連接塊組件320,以便用于訪問特定系統(tǒng)上的數(shù)據(jù)??偠灾瑪?shù)據(jù)模型提供者310從映射組件120讀取模型,并且使用由該映射指定的連接塊組件320從LOB系統(tǒng)中提取指定的數(shù)據(jù),并且然后將這些數(shù)據(jù)提供給客戶機(jī)系統(tǒng)。
圖4示出了根據(jù)本發(fā)明的一個(gè)方面的映射生成系統(tǒng)400的示例性實(shí)現(xiàn)。系統(tǒng)400包括DSV構(gòu)建器組件230、DSV組件120、數(shù)據(jù)模型服務(wù)組件220和數(shù)據(jù)模型庫210。在該系統(tǒng)中,數(shù)據(jù)源視圖(DSV)120用作映射組件。數(shù)據(jù)源視圖是一種用于統(tǒng)一維度模型(UDM)的映射的專用技術(shù)。UDM是在一組不同種類數(shù)據(jù)源上定義的數(shù)據(jù)模型,這些不同種類數(shù)據(jù)源包括但不限于多維和關(guān)系型數(shù)據(jù)庫和數(shù)據(jù)倉庫。因此,UDM便于訪問和使用基于傳統(tǒng)的OLAP的分析和關(guān)系型報(bào)告的最佳方面。數(shù)據(jù)源視圖是一種用于映射的UDM組件。例如,DSV 120可以表示一個(gè)或多個(gè)商務(wù)對象(例如,顧客)或整個(gè)數(shù)據(jù)模型(例如,按區(qū)域的顧客銷售)。廣泛地說,DSV 120是一種增強(qiáng)的元數(shù)據(jù)特征,它尤其允許以友好的術(shù)語給源元數(shù)據(jù)起別名。數(shù)據(jù)源視圖120還是健壯且有利的,因?yàn)樗鼈兛梢詸z測新的、缺失的或被更改的列,并且可以直接從針對最高容量性能的模式獲得數(shù)據(jù)。此外,DSV 120可以將大量的數(shù)據(jù)減少為特別感興趣的較小的子集。作為例子,假設(shè)一個(gè)數(shù)據(jù)庫模式具有1萬張表,并且希望僅工作于這些表中的5個(gè)或6個(gè)。在需要單張表的最基本情形下,用戶需要滾動通過數(shù)千張表以便找出所需的表。對于用戶來說這是效率低的,并且是痛苦的。數(shù)據(jù)源視圖120允許數(shù)據(jù)被削減為感興趣的較小的可管理子集。如上所述,DSV 120還能夠創(chuàng)建友好名稱。友好名稱可以是“顧客號”而不是CuN或其它含義模糊名稱。因此,用戶可以仔細(xì)檢查5張相關(guān)表以便找出顧客號,而不是必須在1萬張表中搜索一個(gè)縮寫。
DSV 120可以由DSV構(gòu)建器組件230從指定的數(shù)據(jù)模型中或從頭開始手動生成。數(shù)據(jù)模型服務(wù)組件220將數(shù)據(jù)模型從數(shù)據(jù)模型庫210中提供給DSV組件120。作為例子而不是限制,DSV構(gòu)建器組件230和數(shù)據(jù)模型服務(wù)組件220之間的通信可以通過Web服務(wù)或COM(組件對象模型)技術(shù)來實(shí)現(xiàn)。庫210以到若干ERP系統(tǒng)的映射向服務(wù)組件220提供數(shù)據(jù)模型。庫210包括通過給定的連接方法從ERP系統(tǒng)中檢索數(shù)據(jù)實(shí)體所需的所有映射。例如,庫210可以具有用于使用OLEDB(用于鏈接到各種數(shù)據(jù)源的API)從SAP應(yīng)用程序中檢索顧客數(shù)據(jù)的映射,以及用于使用ABAP(高級商務(wù)應(yīng)用程序編程語言)的映射。這是重要的,因?yàn)檫B接方法極大地限定了可以定義什么實(shí)體。例如,在SAP中被放入池中的表支持不能使用OLEDB來映射的實(shí)體。
轉(zhuǎn)到圖5,示出了根據(jù)本發(fā)明的一個(gè)方面的示例性數(shù)據(jù)提取系統(tǒng)500。系統(tǒng)500包括數(shù)據(jù)模型提供者組件310、數(shù)據(jù)客戶機(jī)程序520、連接塊組件320和LOB系統(tǒng)(以及相關(guān)聯(lián)的API、SDK、模式…)510。數(shù)據(jù)模型提供者組件310便于包括但不限于SAP、SIEBEL和MS CRM的LOB系統(tǒng)510與諸如Excel、DTS、分析服務(wù)、報(bào)告服務(wù)等ERP數(shù)據(jù)客戶機(jī)程序之間的數(shù)據(jù)傳輸。如果客戶機(jī)應(yīng)用程序希望檢索和使用LOB數(shù)據(jù),它可以通過數(shù)據(jù)提供者312這樣做。數(shù)據(jù)提供者組件312能夠基于DVS組件120中定義的映射來訪問來自LOB應(yīng)用程序的數(shù)據(jù)和消息。換言之,數(shù)據(jù)提供者組件312可以簡單地是一種便于與比API更高的層次上的數(shù)據(jù)和專有細(xì)節(jié)交互的機(jī)制。根據(jù)本發(fā)明的一個(gè)方面,ADO.NET提供者可以用于這個(gè)目的。在被請求時(shí),數(shù)據(jù)提供者可以使用DVS剖析器組件讀取DVS 120,并且確定將使用的連接塊組件320的類型(例如,ABAP、OLEDB、ADO.NET…)。隨后,適當(dāng)?shù)倪B接塊320可以被初始化。
連接塊組件320可以提供與傳遞數(shù)據(jù)有關(guān)的種種功能。例如,該組件可以剖析由DSV提供的視圖定義。然后,所映射的模式可以被返回給數(shù)據(jù)提供者組件312。隨后,連接塊組件可以基于所提供的模式從數(shù)據(jù)提供者312接收查詢。然后,來自DSV的連接細(xì)節(jié)可以用于確定適當(dāng)?shù)臄?shù)據(jù)訪問協(xié)議(例如,API、直接表、消息…)。然后,可以從LOB源510檢索數(shù)據(jù),并且將其提供給數(shù)據(jù)提供者組件312,以供傳輸給做出請求客戶機(jī)應(yīng)用程序520。因此,對于所要求的每個(gè)數(shù)據(jù)實(shí)體,數(shù)據(jù)提供者312可以將查詢映射傳遞到連接塊組件320,并且從ERP系統(tǒng)510中檢索數(shù)據(jù)。
上面已經(jīng)描述了使用數(shù)據(jù)源視圖作為映射組件120的本發(fā)明的示例性實(shí)現(xiàn)。然而,應(yīng)當(dāng)理解,映射組件120不專用于DSV。事實(shí)上,映射組件120可以是允許數(shù)據(jù)映射表示的任意方式。因此,僅舉幾個(gè)現(xiàn)有技術(shù)的例子,還可以使用XSLT或ADL存儲桶框架來實(shí)現(xiàn)該映射組件。此外,應(yīng)當(dāng)理解,不是所有組件都是實(shí)現(xiàn)本發(fā)明所必須的,并且某些功能可以由其它組件來執(zhí)行。
圖6是根據(jù)本發(fā)明的一個(gè)方面提供的增強(qiáng)的開發(fā)者體驗(yàn)的圖形化示例說明。如圖所示,有兩個(gè)用于從源數(shù)據(jù)庫中提取數(shù)據(jù)的圖形用戶界面(GUI),即GUI 610和GUI 620。GUI 610示出了常規(guī)界面。如可以從該表或視圖定義中看出的,基本的連接要求開發(fā)者具有特定LOB應(yīng)用程序的固有知識,包括如何連接表。GUI 620是根據(jù)本發(fā)明的一個(gè)方面的示例性GUI。此處,可以看到,增強(qiáng)的元數(shù)據(jù)通過映射組件在LOB細(xì)節(jié)之上提供了一個(gè)抽象層。因此,用戶可以將他們的精力集中在使用LOB內(nèi)容上,而不是試圖破譯LOB應(yīng)用程序的含義模糊的細(xì)節(jié)。在適當(dāng)時(shí),映射組件隨后將調(diào)用API或直接對LOB數(shù)據(jù)庫表操作,以便與企業(yè)數(shù)據(jù)交互。
根據(jù)本發(fā)明的另一個(gè)方面,用戶可以使用向?qū)碓O(shè)計(jì)映射組件或數(shù)據(jù)源視圖120。向?qū)且环N用戶界面(例如,GUI),它指導(dǎo)開發(fā)者通過一系列的步驟,其中每個(gè)步驟都應(yīng)在前進(jìn)到該序列中的下一個(gè)步驟之前完成,當(dāng)然除非該步驟是可任選的。圖7-10示出了可用于生成數(shù)據(jù)源視圖120的圖形用戶界面的示例性向?qū)?。每個(gè)圖給出了一個(gè)GUI,它包括多個(gè)有關(guān)的圖像和界面對象或元素,以便于指導(dǎo)用戶通過用于設(shè)計(jì)DSV的各種選擇選項(xiàng)。然而,應(yīng)當(dāng)注意,這些圖示僅是作為例子而不是限制提供的。如本領(lǐng)域的技術(shù)人員理解的,有多種方式來安排和呈現(xiàn)圖形用戶界面。給出的GUI為了清楚和理解起見僅示出了一種這樣的安排,并且不是對本發(fā)明的范圍的限制。
轉(zhuǎn)到圖7,示出了根據(jù)本發(fā)明的一個(gè)方面與生成DSV相關(guān)聯(lián)的第一示例性GUI700。GUI 700向用戶/開發(fā)者提供了關(guān)于將如何創(chuàng)建DSV的選項(xiàng)-手動地從頭開始創(chuàng)建或使用數(shù)據(jù)模型提供者(Data Model Provider)。GUI 700提供了若干可以由指點(diǎn)和/或點(diǎn)擊設(shè)備(例如,鼠標(biāo)、跟蹤球、觸摸墊、觸摸屏顯示器、輸入筆…)或鍵盤激活的按鈕和開關(guān)。觸發(fā)開關(guān)710向用戶/開發(fā)者提供了使用數(shù)據(jù)模型提供者創(chuàng)建DSV或手動創(chuàng)建DSV的選項(xiàng)。此處,激活了使用數(shù)據(jù)模型提供者創(chuàng)建DSV的框。按鈕712允許用戶例如通過移動到“Next(下一步)”步驟,“Back(返回)”到上一步通過該向?qū)?dǎo)航,或簡單地通過點(diǎn)擊“Cancel(取消)”終止該向?qū)А|c(diǎn)擊“Next”提供了具有其它選項(xiàng)或選擇的新GUI。
圖8示出了根據(jù)本發(fā)明的一個(gè)方面與生成DSV相關(guān)聯(lián)的第二示例性GUI 800。GUI 800允許用戶使用本地?cái)?shù)據(jù)模型提供者服務(wù)或例如位于因特網(wǎng)上的遠(yuǎn)程服務(wù)來選擇數(shù)據(jù)模型。如圖所示,GUI 800包括兩個(gè)觸發(fā)開關(guān)810、文本框812、搜索按鈕814和導(dǎo)航按鈕712。用戶可以使用指點(diǎn)和/或點(diǎn)擊設(shè)備或鍵盤來激活各個(gè)觸發(fā)按鈕,以便指出在生成DSV時(shí)是使用本地?cái)?shù)據(jù)模型服務(wù)還是應(yīng)當(dāng)使用數(shù)據(jù)模型Web服務(wù)。此處,選中了與使用本地?cái)?shù)據(jù)模型服務(wù)相關(guān)聯(lián)的觸發(fā)開關(guān)。如果激活另一個(gè)觸發(fā)開關(guān),將要求用戶在文本框812中輸入他們希望使用的Web服務(wù)的位置,或是通過激活搜索按鈕814啟動搜索。GUI 800還包括導(dǎo)航按鈕712,以便移動到下一步、返回和取消DSV的創(chuàng)建。
圖9a是根據(jù)本發(fā)明的一個(gè)方面與創(chuàng)建DSV相關(guān)聯(lián)的第三GUI 900。GUI 900使得用戶能夠選擇稍后將為其選擇數(shù)據(jù)模型的應(yīng)用程序。此處,GUI 900提供了下拉菜單910,它向用戶提供了可選擇的應(yīng)用程序的列表。在選擇了諸如SAP R/3等應(yīng)用程序之后,如圖9b所示,可用于該應(yīng)用程序的數(shù)據(jù)模型的列表被呈現(xiàn)在可滾動窗口912中。然后,用戶可以通過例如用指點(diǎn)設(shè)備在它們之上點(diǎn)擊,在可滾動窗口912中高亮顯示一個(gè)或多個(gè)所希望的可用數(shù)據(jù)模型。此后,用戶可以通過在選擇箭頭914上點(diǎn)擊來選擇該模型。根據(jù)選擇,如圖9c所示,所選擇的模型出現(xiàn)在可滾動窗口916內(nèi)。如果用戶隨后希望移除一個(gè)或多個(gè)所選擇的模型,他/她可以用適當(dāng)?shù)难b置再次高亮顯示該模型,并且然后選擇移除按鈕918。這種動作將從窗口916中移除被高亮顯示的對象,并且將它們添加回窗口912中。應(yīng)當(dāng)理解,對項(xiàng)的選擇可以來自一個(gè)以上應(yīng)用程序,從而能夠設(shè)計(jì)真正的定制數(shù)據(jù)模型。然而,用戶可以簡單地選擇來自一個(gè)應(yīng)用程序(例如,SAP R/3)的整個(gè)數(shù)據(jù)模型。一旦用戶選擇了他們希望包括在DSV中的所有數(shù)據(jù)對象,可以使用導(dǎo)航按鈕712移動到下一步、移動回上一步或取消DSV創(chuàng)建過程。
轉(zhuǎn)到圖10,根據(jù)本發(fā)明的一個(gè)方面示出了GUI 1000。GUI 1000提供了一種用于預(yù)覽和保存數(shù)據(jù)源視圖的方法。按照該圖,提供了文本框1010用于輸入數(shù)據(jù)源視圖名稱。此外,提供了可滾動窗口1012以便允許用戶預(yù)覽所創(chuàng)建的數(shù)據(jù)源視圖。此處,已經(jīng)從SAP R/3應(yīng)用程序中選擇了三個(gè)數(shù)據(jù)模型對象。最后,提供了導(dǎo)航鍵1014以便返回上一步,以結(jié)束DSV的創(chuàng)建或取消DSV導(dǎo)航。
圖11示出了根據(jù)本發(fā)明的一個(gè)方面的DSV開發(fā)環(huán)境。此處,GUI 1100明確地給出了所構(gòu)造的數(shù)據(jù)源視圖,它是在該開發(fā)環(huán)境的幫助下使用上面描述的向?qū)Щ蚴謩訕?gòu)造的。該開發(fā)環(huán)境可以包括對多個(gè)工具的有用的圖形界面,以便輔助進(jìn)行DSV構(gòu)造。使用從針對所選擇的對象的數(shù)據(jù)模型服務(wù)組件返回的元數(shù)據(jù),可以為用戶構(gòu)建數(shù)據(jù)源視圖或映射。如圖所示,友好名稱被映射到源LOB應(yīng)用程序的難以理解的名稱(例如,city和ORTO1,zip和PLSTLZ,phone和TELF1…)以便于與其交互。
考慮上述示例性系統(tǒng),參考圖12到14的流程圖將更好地理解可以根據(jù)本發(fā)明實(shí)現(xiàn)的方法。雖然出于示例簡單的目的,以一系列框示出和描述了該方法,然而應(yīng)當(dāng)理解,由于根據(jù)本發(fā)明,某些方框可以與此處示出和描述的不同的順序和/或與此處示出和描述的其它框同時(shí)發(fā)生,因此本發(fā)明不限于這些框的順序。此外,并非所有示出的框都是實(shí)現(xiàn)根據(jù)本發(fā)明的方法所必需的。
另外,還應(yīng)當(dāng)理解,下文中和整個(gè)說明書中公開的方法可以被存儲在一種制品上,以便于將這些方法傳送和轉(zhuǎn)移到計(jì)算機(jī)。使用的術(shù)語制品旨在包含可以從任意計(jì)算機(jī)可讀設(shè)備、承載物或介質(zhì)訪問的計(jì)算機(jī)程序。
轉(zhuǎn)到圖12,給出了根據(jù)本發(fā)明的一個(gè)方面的數(shù)據(jù)訪問方法1200。方法1200尤其適合于從多個(gè)企業(yè)資源管理系統(tǒng)檢索數(shù)據(jù)。在1210,生成映射。該映射可以用友好的商務(wù)語義為復(fù)雜的或難以理解的行業(yè)元數(shù)據(jù)起別名。此外,該映射可以用于將大量不同種類的企業(yè)系統(tǒng)映射到單個(gè)平臺,從而用戶不必學(xué)習(xí)多種不同的系統(tǒng)以便與存儲在其上的數(shù)據(jù)交互。相反,用戶可以簡單地使用一種平臺來查看、檢索和編碼多個(gè)系統(tǒng)上的數(shù)據(jù)。該映射可以是多種格式中的任意一種,包括但不限于數(shù)據(jù)源視圖、XML或ADL。由此,特定映射技術(shù)可以具有額外的益處。例如,數(shù)據(jù)源視圖可以將數(shù)據(jù)過濾到相關(guān)信息的子集中。在1220,生成的映射用于從LOB數(shù)據(jù)源提取數(shù)據(jù)。
圖13給出了根據(jù)本發(fā)明的一個(gè)方面的企業(yè)數(shù)據(jù)訪問方法1300的流程圖。在1310,從數(shù)據(jù)客戶機(jī)程序接收到對企業(yè)數(shù)據(jù)的請求。數(shù)據(jù)客戶機(jī)程序可以包括但不限于Excel、DTS(數(shù)據(jù)變換服務(wù))、分析服務(wù)和報(bào)告服務(wù)??蛻魴C(jī)程序可以通過數(shù)據(jù)提供者(例如,ADO.NET)請求數(shù)據(jù)。在1320,響應(yīng)于來自客戶機(jī)程序的數(shù)據(jù)請求,可以訪問數(shù)據(jù)映射。例如,可以剖析該數(shù)據(jù)映射,并且數(shù)據(jù)提供者可以從該映射中檢索所需的連接協(xié)議(例如,連接塊,適配器…),該連接協(xié)議與映射關(guān)系一起持久保存在映射中。在1330,可以使用該映射從一個(gè)或多個(gè)企業(yè)源提取數(shù)據(jù)。具體地,對于客戶機(jī)程序請求的每個(gè)實(shí)體,該映射可以被傳遞到一個(gè)或多個(gè)適當(dāng)?shù)倪B接塊并且從一個(gè)或多個(gè)源檢索數(shù)據(jù)。然后,所檢索的數(shù)據(jù)可以使用數(shù)據(jù)提供者被返回給客戶機(jī)應(yīng)用程序。以這種方式,可以從多個(gè)行業(yè)應(yīng)用程序檢索含糊的源數(shù)據(jù),并且將其以友好的商務(wù)術(shù)語揭示給應(yīng)用程序。另外,可以使用單個(gè)平臺來檢索和操縱數(shù)據(jù)。本發(fā)明還構(gòu)想由客戶機(jī)應(yīng)用程序操縱數(shù)據(jù),并且使用映射將數(shù)據(jù)壓回源。
圖14給出了根據(jù)本發(fā)明的一個(gè)方面檢索數(shù)據(jù)的方法1400。在1410,剖析映射組件定義。在1420,將映射的模式呈現(xiàn)給數(shù)據(jù)提供者組件。映射的模式使用友好的商務(wù)語義標(biāo)識數(shù)據(jù)實(shí)體。然后,在1430通過該數(shù)據(jù)提供者組件從企業(yè)客戶機(jī)程序接收查詢。在1440,使用由映射組件提供的細(xì)節(jié)確定適當(dāng)?shù)臄?shù)據(jù)訪問協(xié)議/API。在1450,使用一個(gè)或多個(gè)正確的數(shù)據(jù)訪問協(xié)議,從適當(dāng)?shù)囊粋€(gè)或多個(gè)企業(yè)源檢索數(shù)據(jù)。最后,在1460,通過連接塊將數(shù)據(jù)返回給客戶機(jī)程序,從而數(shù)據(jù)提供者組件滿足了該查詢。
為了提供用于本發(fā)明的各個(gè)方面的環(huán)境,圖15和16以及下面的討論旨在提供對可在其中實(shí)現(xiàn)本發(fā)明的各個(gè)方面適用的計(jì)算環(huán)境的簡要概括描述。雖然上面以運(yùn)行在一個(gè)計(jì)算機(jī)和/或多個(gè)計(jì)算機(jī)上的計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行指令的一般環(huán)境描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員將會認(rèn)識到,本發(fā)明還可以用其它程序模塊的組合來實(shí)現(xiàn)。一般而言,程序模塊包括執(zhí)行特定任務(wù)和/或?qū)崿F(xiàn)特定抽想數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等。此外,本領(lǐng)域的技術(shù)人員將會理解,本發(fā)明的方法可以用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn),包括但不限于,單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型計(jì)算設(shè)備、大型計(jì)算機(jī),以及個(gè)人計(jì)算機(jī)、手持式計(jì)算設(shè)備、基于微處理器或可編程消費(fèi)者電子設(shè)備等。本發(fā)明所示的方面還可以在分布式計(jì)算環(huán)境中實(shí)現(xiàn),其中任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。然而,本發(fā)明的某些(如果不是全部)方面可以在獨(dú)立的計(jì)算機(jī)上實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備兩者上。
參考圖15,用于實(shí)現(xiàn)本發(fā)明的各個(gè)方面的示例性環(huán)境1510包括計(jì)算機(jī)1512。計(jì)算機(jī)1512包括處理單元1514、系統(tǒng)存儲器1516和系統(tǒng)總線1518。系統(tǒng)總線1518將系統(tǒng)組件(包括但不限于系統(tǒng)存儲器1516)耦合到處理單元1514。處理單元1514可以是各種可用的處理器中的任意一種。還可以使用雙微處理器和其它多處理器體系結(jié)構(gòu)作為處理單元1514。
系統(tǒng)總線1518可以是多種總線結(jié)構(gòu)類型中的任意一種,包括但不限于,存儲器總線或存儲器控制器、外圍總線或外部總線、和/或使用各種可用總線體系結(jié)構(gòu)中的任意一種的局部總線,包括但不限于,11位總線、工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系結(jié)構(gòu)(MSA)、擴(kuò)展ISA(EISA)、智能驅(qū)動電子設(shè)備(IDE)、VESA局部總線(VLB)、外圍部件互連(PCI)、通用串行總線(USB)、高級圖形接口(AGP)、個(gè)人計(jì)算機(jī)存儲器卡國際協(xié)會總線(PCMCIA)和小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。
系統(tǒng)存儲器1516包括易失性存儲器1520和非易失性存儲器1522。包含例如在啟動過程中在計(jì)算機(jī)1512內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)被存儲在非易失性存儲器1522內(nèi)。作為示例而不是限制,非易失性存儲器1522可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦寫ROM(EEPROM)或閃存。易失性存儲器1520包括隨機(jī)存取存儲器(RAM),它起外部高速緩沖存儲器的作用。作為示例而不是限制,RAM可以多種形式可用,諸如同步RAM(SRAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙數(shù)據(jù)速率SDRAM(DDR SDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)和直接存儲器總線RAM(DRRAM)。
計(jì)算機(jī)1512還包括可移動/不可移動、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)。例如,圖15示出了盤存儲1524。盤存儲4124包括但不限于諸如磁盤驅(qū)動器、軟盤驅(qū)動器、磁帶驅(qū)動器、Jaz驅(qū)動器、Zip驅(qū)動器、LS-100驅(qū)動器、閃存卡或記憶棒等設(shè)備。此外,盤存儲1524可以單獨(dú)包括或與其它存儲介質(zhì)相組合的存儲介質(zhì),包括但不限于,諸如壓縮盤ROM驅(qū)動器(CD-ROM)、CD可記錄驅(qū)動器(CD-R驅(qū)動器)、CD可重寫驅(qū)動器(CD-RW驅(qū)動器)或數(shù)字多功能盤ROM驅(qū)動器(DVD-ROM)等光盤驅(qū)動器。為了便于盤存儲設(shè)備1524連接到系統(tǒng)總線1518,通常使用可移動或不可移動的接口,諸如接口1526。
應(yīng)當(dāng)理解,圖15描述了擔(dān)當(dāng)用戶和在適用的操作環(huán)境1510中描述的基本計(jì)算機(jī)資源之間的中介的軟件。這種軟件包括操作系統(tǒng)1528。存儲在盤存儲1524上的操作系統(tǒng)1528用于控制和分配計(jì)算機(jī)系統(tǒng)1512的資源。系統(tǒng)應(yīng)用程序1530利用了操作系統(tǒng)1528通過存儲在系統(tǒng)存儲器1516或盤存儲1524上的程序模塊1532和程序數(shù)據(jù)1534對資源的管理。應(yīng)當(dāng)理解,本發(fā)明可以用各種操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。
用戶可通過(多個(gè))輸入設(shè)備1536向計(jì)算機(jī)1512輸入命令或信息。輸入設(shè)備1536包括但不限于,諸如鼠標(biāo)、跟蹤球、觸摸墊等指點(diǎn)設(shè)備、鍵盤、麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、TV調(diào)諧器卡、數(shù)碼照相機(jī)、數(shù)碼攝像機(jī)、Web攝像頭等等。這些和其它輸入設(shè)備通過系統(tǒng)總線1518經(jīng)由(多個(gè))接口端口1538連接到處理單元1524。接口端口1538包括,例如,串行端口、并行端口、游戲端口和通用串行總線(USB)。(多個(gè))輸出設(shè)備1540使用與輸入設(shè)備1536相同類型的端口中的某一些。因此,例如,USB端口可以用于向計(jì)算機(jī)1512提供輸入,以及從計(jì)算機(jī)1512向輸出設(shè)備1540輸出信息。提供了輸出適配器1542,以便說明在其它輸出設(shè)備1540中,存在某些需要專門適配器的輸出設(shè)備1540,諸如顯示器(例如,平板和CRT)、揚(yáng)聲器和打印機(jī)。輸出適配器1542包括,作為示例而不是限制,提供輸出設(shè)備1540和系統(tǒng)總線1518之間的連接裝置的視頻和音頻卡。應(yīng)當(dāng)注意,諸如遠(yuǎn)程計(jì)算機(jī)1544等其它設(shè)備和/或設(shè)備系統(tǒng)既提供了輸入功能又提供了輸出功能,。
使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)1544的邏輯連接,計(jì)算機(jī)1512可以在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)1544可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工作站、基于微處理器的電器、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn)等,并且通常包括相對于計(jì)算機(jī)1512所描述的許多或所有元件。出于簡短的目的,僅對遠(yuǎn)程計(jì)算機(jī)1544示出了存儲器存儲設(shè)備1546。遠(yuǎn)程計(jì)算機(jī)1544通過網(wǎng)絡(luò)接口1548邏輯地連接到計(jì)算機(jī)1512,并且然后通過通信連接1550物理地連接。網(wǎng)絡(luò)接口1548包括諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)等通信網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅線分布式數(shù)據(jù)接口(CDDI)、以太網(wǎng)/IEEE 1102.3、令牌環(huán)/IEEE 1102.5等。WAN技術(shù)包括但不限于,點(diǎn)對點(diǎn)鏈路、諸如綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)及其變種等電路交換網(wǎng)絡(luò)、分組交換網(wǎng)絡(luò)和數(shù)字訂戶線(DSL)。
通信連接1550是指用于將網(wǎng)絡(luò)接口1548連接到總線1518的硬件/軟件。雖然出于說明清楚的目的示出了位于計(jì)算機(jī)1512內(nèi)的通信連接1550,但通信連接還可以在計(jì)算機(jī)1512外部。連接到網(wǎng)絡(luò)接口1548必需的硬件/軟件包括,僅出于示例的目的,內(nèi)部和外部技術(shù),諸如包括常規(guī)電話級調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器、功率調(diào)制解調(diào)器和DSL調(diào)制解調(diào)器的調(diào)制解調(diào)器、ISDN適配器和以太網(wǎng)卡。
圖16是本發(fā)明可以與之交互的示例計(jì)算環(huán)境1000的示意性框圖。系統(tǒng)1600包括一個(gè)或多個(gè)客戶機(jī)1610??蛻魴C(jī)1610可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。系統(tǒng)1600還包括一個(gè)或多個(gè)服務(wù)器1630。服務(wù)器1030也可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。例如,服務(wù)器1630可以容納線程以便執(zhí)行采用本發(fā)明的變換??蛻魴C(jī)1610和服務(wù)器1630之間的一種可能的通信可以是用于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包的形式。系統(tǒng)1000包括可用于促進(jìn)客戶機(jī)1610和服務(wù)器1630之間的通信的通信框架1650。客戶機(jī)1610操作上連接到用于儲存對客戶機(jī)1610本地的信息的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲1660。類似地,服務(wù)器1630操作上連接到用于儲存對服務(wù)器1630本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲1640。
上面的描述包括了本發(fā)明的示例。當(dāng)然,不可能出于描述本發(fā)明的目的而描述組件或方法的每種可想象到的組合,但是本領(lǐng)域的普通技術(shù)人員可以認(rèn)識到,本發(fā)明的許多其它組合和變換都是可能的。因此,本發(fā)明旨在包含落入所附權(quán)利要求的精神和范圍內(nèi)的所有這種變更、修改和變形。此外,對于詳細(xì)描述和權(quán)利要求書中使用的術(shù)語“包括”,該術(shù)語是與術(shù)語“包含”類似的方式為包含性的,如同“包含”在權(quán)利要求書中用作過渡詞時(shí)所解釋的那樣。
權(quán)利要求
1.一種數(shù)據(jù)訪問系統(tǒng),包括映射生成系統(tǒng),用于生成以普通的商務(wù)語義給源元數(shù)據(jù)起別名的映射組件;以及數(shù)據(jù)提取系統(tǒng),它使用映射從行業(yè)系統(tǒng)中提取數(shù)據(jù)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述映射組件包括語義和技術(shù)映射兩者。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述映射組件是數(shù)據(jù)源視圖。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述映射組件是XSLT文檔。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述映射生成系統(tǒng)包括數(shù)據(jù)模型庫,用于存儲數(shù)據(jù)模型和映射信息;數(shù)據(jù)模型訪問組件,用于從所述庫中檢索數(shù)據(jù);以及映射構(gòu)建器組件,用于至少部分地根據(jù)從所述庫中檢索到的信息生成映射組件。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述數(shù)據(jù)模型訪問組件被實(shí)現(xiàn)為Web服務(wù)。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述映射構(gòu)建器組件被實(shí)現(xiàn)為指導(dǎo)映射組件的構(gòu)造的用戶界面。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述界面是映射組件向?qū)А?br>
9.如權(quán)利要求4所述的系統(tǒng),其特征在于,所生成的映射組件可以被保存到所述數(shù)據(jù)模型庫中以供搜索和檢索。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)提取系統(tǒng)包括數(shù)據(jù)模型提供者組件;以及連接塊組件,其中,所述提供者組件使用在映射組件中提供的數(shù)據(jù),以利用所述連接塊組件從所述系統(tǒng)中提取數(shù)據(jù)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述映射組件基于要檢索的數(shù)據(jù)和所述源標(biāo)識適當(dāng)?shù)倪B接塊組件。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述連接塊組件可以用于連接到LOB API和/或模式,并且以由客戶機(jī)應(yīng)用程序定義的查詢的形式將映射傳遞給它們。
13.一種行業(yè)數(shù)據(jù)集成和交互系統(tǒng),包括映射組件,它以普通的商務(wù)語義給非描述性的源數(shù)據(jù)起別名,并且提供技術(shù)信息,以使能夠與一個(gè)或多個(gè)行業(yè)應(yīng)用程序交互;以及提取系統(tǒng),它使用由所述映射組件提供的信息連接到所述一個(gè)或多個(gè)應(yīng)用程序,并且響應(yīng)于客戶機(jī)應(yīng)用程序的查詢來檢索數(shù)據(jù)。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述映射組件用于便于對行業(yè)應(yīng)用程序數(shù)據(jù)的操縱。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述提取系統(tǒng)使用映射組件標(biāo)識并采用與所述應(yīng)用程序相關(guān)聯(lián)的連接塊組件來檢索數(shù)據(jù)。
16.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述映射組件使用數(shù)據(jù)源視圖。
17.種其上儲存有如權(quán)利要求13所述的計(jì)算機(jī)可執(zhí)行組件的計(jì)算機(jī)可讀介質(zhì)。
18.種用于與行業(yè)數(shù)據(jù)交互的系統(tǒng),包括用于提供復(fù)雜的源元數(shù)據(jù)和普通商務(wù)語義之間的映射的裝置;以及用于使用映射將行業(yè)源數(shù)據(jù)暴露于客戶機(jī)應(yīng)用程序的裝置。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括用于系統(tǒng)集成者發(fā)布數(shù)據(jù)模型的裝置。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述映射用于整理系統(tǒng)集成者部署。
21.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括用于將不同種類的行業(yè)技術(shù)映射到單個(gè)執(zhí)行平臺的裝置。
22.一種用于訪問數(shù)據(jù)的方法,包括生成映射組件,以將難以理解的源元數(shù)據(jù)映射到商務(wù)領(lǐng)域術(shù)語;以及使用所述映射組件和由此標(biāo)識的連接塊組件從行業(yè)源提取數(shù)據(jù)。
23.如權(quán)利要求22所述的方法,其特征在于,所述映射組件是由用戶使用交互向?qū)傻摹?br>
24.如權(quán)利要求22所述的方法,其特征在于,所述映射組件將數(shù)據(jù)映射到單個(gè)普通技術(shù)平臺。
25.如權(quán)利要求22所述的方法,其特征在于,所述映射組件是XSLT文檔。
26.如權(quán)利要求22所述的方法,其特征在于,所述映射組件是數(shù)據(jù)源視圖。
27.如權(quán)利要求22所述的方法,其特征在于,所述映射組件是使用從用于數(shù)據(jù)模型所選擇對象的數(shù)據(jù)模型訪問服務(wù)返回的元數(shù)據(jù)生成的。
28.如權(quán)利要求27所述的方法,其特征在于,所述數(shù)據(jù)模型訪問服務(wù)是訪問所發(fā)布的行業(yè)數(shù)據(jù)模型的庫的Web服務(wù)。
29.一種其上存儲用于執(zhí)行如權(quán)利要求22所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
30.一種企業(yè)數(shù)據(jù)訪問方法,包括接收對來自企業(yè)資源數(shù)據(jù)客戶機(jī)的數(shù)據(jù)的請求;響應(yīng)于所述請求訪問數(shù)據(jù)映射;以及根據(jù)所述數(shù)據(jù)映射從至少一個(gè)不同種類的數(shù)據(jù)源提取數(shù)據(jù),所述映射通過以普通的商務(wù)術(shù)語給難以理解的源元數(shù)據(jù)起別名將數(shù)據(jù)暴露給客戶機(jī)。
31.如權(quán)利要求30所述的方法,其特征在于,所述數(shù)據(jù)映射包括一協(xié)議映射部分,它標(biāo)識可以用于與源SDK和/或API接口以便檢索數(shù)據(jù)的連接塊。
32.如權(quán)利要求30所述的方法,其特征在于,所述請求是通過數(shù)據(jù)提供者從所述數(shù)據(jù)客戶機(jī)程序接收的。
33.如權(quán)利要求32所述的方法,其特征在于,所述數(shù)據(jù)提供者是ADO.NET。
34.如權(quán)利要求30所述的方法,其特征在于,所述映射組件包括來自一個(gè)以上行業(yè)數(shù)據(jù)模型的數(shù)據(jù)模型對象。
35.一種其上儲存用于執(zhí)行如權(quán)利要求30所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
36.一種企業(yè)數(shù)據(jù)訪問方法,包括將映射的模式呈現(xiàn)給數(shù)據(jù)提供者組件,所述映射的模式根據(jù)映射組件定義以普通的商務(wù)術(shù)語給復(fù)雜的應(yīng)用程序元數(shù)據(jù)起別名;通過所述數(shù)據(jù)提供者組件從客戶機(jī)接收查詢;使用由所述映射組件提供的信息確定數(shù)據(jù)訪問協(xié)議;以及從至少一個(gè)企業(yè)源檢索數(shù)據(jù)。
37.如權(quán)利要求36所述的方法,其特征在于,還包括通過所述數(shù)據(jù)提供者組件將結(jié)果返回給客戶機(jī)程序。
38.如權(quán)利要求36所述的方法,其特征在于,所述映射組件是使用向?qū)矶x的。
39.如權(quán)利要求38所述的方法,其特征在于,所述向?qū)㈩A(yù)定義的行業(yè)應(yīng)用程序數(shù)據(jù)揭示給用戶,并且使得他們能夠從中選擇與要包含在所述映射組件內(nèi)的每個(gè)相應(yīng)模型相關(guān)聯(lián)的對象,所述映射組件定義了定制的數(shù)據(jù)模型。
40.一種其上儲存用于執(zhí)行如權(quán)利要求36所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
全文摘要
本發(fā)明提供了一種便于與多個(gè)行業(yè)(LOB)應(yīng)用程序互操作和交互的框架。具體地,映射用諸如語義和技術(shù)數(shù)據(jù)等應(yīng)用程序或系統(tǒng)設(shè)計(jì)信息來填充。隨后,映射由該框架用于使用戶能夠在普通和一致的實(shí)現(xiàn)技術(shù)上與普通和一致的語義術(shù)語交互。因此,用戶和/或客戶機(jī)數(shù)據(jù)應(yīng)用程序能夠容易地與來自多個(gè)不同種類LOB源的具有語義含義的數(shù)據(jù)交互。
文檔編號G06F17/00GK1802643SQ200480009846
公開日2006年7月12日 申請日期2004年7月30日 優(yōu)先權(quán)日2004年4月2日
發(fā)明者D·M·法蒙, K·S·哈特希 申請人:微軟公司