2005 年 3 月 19 日
這篇文章描述了一種基于統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)的新方法,作者相信該方法可以達(dá)到企業(yè)數(shù)據(jù)架構(gòu)建模的真正要求。
不同于書本和培訓(xùn)課程中所提的單例模式,真正的企業(yè)具有非常復(fù)雜的數(shù)據(jù)架構(gòu)。大多數(shù)數(shù)據(jù)將會(huì)存于大型遺留或包系統(tǒng)中,數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)對(duì)于這些系統(tǒng)來(lái)說(shuō)可能是不可見的。其他數(shù)據(jù)將存于電子表格和個(gè)人數(shù)據(jù)庫(kù)(例如 Microsoft Access)中,且可能對(duì)于 IT 部門或高級(jí)業(yè)務(wù)數(shù)據(jù)管理員來(lái)說(shuō)是不可見的。一些關(guān)鍵數(shù)據(jù)可能存于由服務(wù)供應(yīng)商或業(yè)務(wù)合作伙伴維系的外部系統(tǒng)中。隨著您對(duì)復(fù)雜數(shù)據(jù)架構(gòu)的探究,就會(huì)逐漸接受兩個(gè)現(xiàn)實(shí):
您很少控制的了高級(jí)業(yè)務(wù)數(shù)據(jù)概念實(shí)現(xiàn)的方式。數(shù)據(jù)很可能是高度分散的,并且常常在質(zhì)量方面缺乏足夠的控制。
大部分?jǐn)?shù)據(jù)在大量系統(tǒng)中進(jìn)行復(fù)制,并且在質(zhì)量、格式及含義上出現(xiàn)重大變更。一些由企業(yè)應(yīng)用程序集成(Enterprise Application Integration,EAI)技術(shù)或精心的的業(yè)務(wù)流程進(jìn)行維護(hù)的副本,也許是好的(但很可能不完善)。大部分僅僅由臨時(shí)的批量傳輸或受迫并破裂的人工流程維護(hù)的副本是很差的。組織及業(yè)務(wù)流程的沖突或簡(jiǎn)單的信任上的失敗可能會(huì)阻礙常識(shí)的增長(zhǎng)。
這些條件有幾個(gè)重要的結(jié)果。例如,當(dāng)計(jì)劃,如客戶關(guān)系管理(Customer Relationship Management,CRM)和業(yè)務(wù)智能(Business Intelligence)需要通過(guò)各種各樣的來(lái)源來(lái)合并數(shù)據(jù)時(shí),差的副本也許會(huì)使得業(yè)務(wù)或技術(shù)問(wèn)題惡化。一些組織在端到端流程中利用各種遺留系統(tǒng)。業(yè)務(wù)或 IT 都可能會(huì)進(jìn)行改變以簡(jiǎn)化業(yè)務(wù)流程,流水化數(shù)據(jù)流并減少?gòu)?fù)制。盡管建模為解決這些難題帶來(lái)好處,但是傳統(tǒng)的建模方法不能解決這些難題。它們會(huì)建立要么過(guò)于詳細(xì)以至于無(wú)法使用的模型,要么建立不夠詳細(xì)的模型,并且他們沒(méi)有著重于企業(yè)數(shù)據(jù)架構(gòu)和各種組件整合的難題。
我們相信用企業(yè)級(jí)觀點(diǎn)來(lái)創(chuàng)建強(qiáng)有力的、簡(jiǎn)單并有效的數(shù)據(jù)結(jié)構(gòu)模型是很重要的 —— 一組被稱為“企業(yè)數(shù)據(jù)架構(gòu)”的模型。本文描述了一種新的基于統(tǒng)一建模語(yǔ)言(UML)的方法,我們相信該方法可以滿足企業(yè)數(shù)據(jù)架構(gòu)建模的真正需求。
注意:該方法后面的一些步驟介紹了可能在開始時(shí)有些難懂的技術(shù)。不要擔(dān)心!您不必每次都使用所有的技術(shù),早些的步驟用其方式提供好處。最重要的是開發(fā)幫助解決您問(wèn)題的模型。
企業(yè)的信息系統(tǒng)架構(gòu)有許多相關(guān)的方面,包括應(yīng)用程序、硬件、網(wǎng)絡(luò)、業(yè)務(wù)流程、技術(shù)選擇和數(shù)據(jù)。如圖 1 中所示,數(shù)據(jù)架構(gòu)是一組分層的模型,為戰(zhàn)略性的計(jì)劃提供堅(jiān)實(shí)的基礎(chǔ),如:
數(shù)據(jù)策略(Data Strategy),概括了為改進(jìn)集合及數(shù)據(jù)使用的業(yè)務(wù)目標(biāo)。
業(yè)務(wù)流程改進(jìn)。
對(duì)新的變更系統(tǒng)的未來(lái)的決策。
整合、數(shù)據(jù)存儲(chǔ)及報(bào)告計(jì)劃。
圖 1:企業(yè)數(shù)據(jù)架構(gòu)模型 —— 支持各種公共的 IT 和業(yè)務(wù)改進(jìn)計(jì)劃。
在介紹數(shù)據(jù)架構(gòu)的含義之前,先考慮一下它不是什么是很有幫助的。如圖 2 所示,數(shù)據(jù)架構(gòu)不是一組單個(gè)系統(tǒng)的詳細(xì)模型,因?yàn)樗鼈儾荒軅魉陀脕?lái)滿足以上需求的所需要的“大圖片”信息。而且它不僅僅是業(yè)務(wù)流程和系統(tǒng)范圍的頂級(jí)模型,因?yàn)樗鼈儧](méi)有包含足夠的細(xì)節(jié)以回答實(shí)際的問(wèn)題。
圖 2 是“數(shù)據(jù)架構(gòu)圖”,它說(shuō)明了范圍和數(shù)據(jù)架構(gòu)環(huán)境。企業(yè)的主要數(shù)據(jù)領(lǐng)域映射到其中一個(gè)軸,各種類型的模型映射到另一個(gè)軸,范圍從高度著重業(yè)務(wù)的模型到詳細(xì)的系統(tǒng)架構(gòu)。完整的數(shù)據(jù)架構(gòu)的范圍呈現(xiàn)為跨圖表中央的帶狀。
圖 2: 數(shù)據(jù)架構(gòu)圖 —— 說(shuō)明了哪個(gè)模型用于企業(yè)中哪個(gè)數(shù)據(jù)領(lǐng)域,完整的數(shù)據(jù)架構(gòu)是橫跨中央的帶狀。
()
組成數(shù)據(jù)架構(gòu)的模型將在下面的部分進(jìn)行更加詳細(xì)的介紹。水平分組是按照企業(yè)到企業(yè)區(qū)分的,上面的那些代表典型的集合。在右側(cè)邊緣的帶不是“圖”的部分,但顯示了模型如何映射到標(biāo)準(zhǔn)的基于 UML 方法(如 Rational Unified Process, 或 RUP)的三級(jí)透視圖上。
除了利用該模型來(lái)闡述數(shù)據(jù)架構(gòu)工作的范圍,您還可以利用它來(lái)建立知識(shí)的當(dāng)前狀態(tài)和正在進(jìn)行或計(jì)劃著的活動(dòng)的范圍的映象。簡(jiǎn)單地在適當(dāng)?shù)慕稽c(diǎn)繪制現(xiàn)有的或計(jì)劃著的建模工作。您還可以通過(guò)顏色來(lái)指示模型的狀態(tài)或有效性,這是很有用的。
數(shù)據(jù)架構(gòu)圖描述了“什么”組成了數(shù)據(jù)架構(gòu)。支持它的數(shù)據(jù)策略和計(jì)劃闡述了“為什么?!眴蝹€(gè)的模型說(shuō)明數(shù)據(jù)是什么、在哪里,以及什么時(shí)候由誰(shuí)如何改變的。
數(shù)據(jù)架構(gòu)主要由下面部分介紹的四級(jí)模型定義的。通常,只有在業(yè)務(wù)流程發(fā)生重大變更時(shí),高級(jí)數(shù)據(jù)模型才會(huì)變更,但其他的模型將存在于各種各樣的版本中,代表“目前”的結(jié)構(gòu)和一個(gè)或多個(gè)“將來(lái)”的進(jìn)展。
頂層是一組高級(jí)數(shù)據(jù)模型,用概念性觀點(diǎn)描述業(yè)務(wù)數(shù)據(jù),獨(dú)立于任何當(dāng)前實(shí)際系統(tǒng)的實(shí)現(xiàn)。每個(gè)高級(jí)數(shù)據(jù)模型(high-level data model,HLDM)包含:
主要數(shù)據(jù)項(xiàng)(業(yè)務(wù)實(shí)體)及其關(guān)系的通用(規(guī)范的)UML 類模型。
業(yè)務(wù)屬性的超級(jí),包含對(duì)這些屬性含義(語(yǔ)義)、標(biāo)準(zhǔn)化格式(語(yǔ)法)和普遍制約的描述。
因?yàn)檫@些是數(shù)據(jù)模型,所以它們不會(huì)包含類方法,盡管若業(yè)務(wù)對(duì)象有責(zé)任管理其他結(jié)構(gòu)的話,對(duì)這些方法進(jìn)行概括是適合的。
模型應(yīng)包含所有業(yè)務(wù)意義的屬性和定義數(shù)據(jù)結(jié)構(gòu)的內(nèi)容(例如,控制多樣性業(yè)務(wù)規(guī)則的輸入)。
設(shè)想一個(gè)假設(shè)的汽車租賃公司。圖 3 顯示了實(shí)例 HLDM 的部分內(nèi)容,說(shuō)明了業(yè)務(wù)實(shí)體“vehicle”如何擁有兩個(gè)變量 —— car 和 van,以及任意一個(gè)車輛(vehicle)怎樣隸屬于一個(gè)或多個(gè)租賃業(yè)務(wù)(rental)。
圖 3: 部分高級(jí)數(shù)據(jù)模型 —— 用于假設(shè)的汽車租賃業(yè)務(wù)。
出于本文的原因,我們的實(shí)例非常地簡(jiǎn)化,但這些實(shí)例仍舊可以說(shuō)明那些技術(shù)如何能夠應(yīng)用于帶有真實(shí)世界復(fù)雜度的實(shí)例中。而且我們還在命名類及屬性方面放松 UML 的約定,以使其更具可讀性 —— 例如,“Registration Mark”包含一個(gè)空格。
下一個(gè)步驟是將 HLDM 的概念化實(shí)體和當(dāng)前或計(jì)劃系統(tǒng)的真實(shí)關(guān)鍵數(shù)據(jù)對(duì)象之間的關(guān)系模型化,說(shuō)明了真實(shí)對(duì)象如何實(shí)現(xiàn)概念實(shí)體。同一數(shù)據(jù)項(xiàng)的不同實(shí)現(xiàn)之間的關(guān)系和跨多種系統(tǒng)擴(kuò)展變更的方式將在后面進(jìn)行模型化。
此處的關(guān)鍵是著重于“可見的”系統(tǒng)的數(shù)據(jù)結(jié)構(gòu) —— 例如,由用戶接口暴露出的數(shù)據(jù)結(jié)構(gòu)、報(bào)告及數(shù)據(jù)接口。這也許和物理的數(shù)據(jù)結(jié)構(gòu)不同,但不重要。高度可定制的包可能內(nèi)含復(fù)雜的元模型,但所關(guān)心的內(nèi)容是依照業(yè)務(wù)的系統(tǒng)實(shí)例化。出于歷史原因,舊的遺留系統(tǒng)也許會(huì)具有不可思議的物理結(jié)構(gòu),而且外部服務(wù)的實(shí)現(xiàn)細(xì)節(jié)可能會(huì)完全地隱藏在接口后面,但在這兩種情況下,您的關(guān)注點(diǎn)將會(huì)在可視化結(jié)構(gòu)上 —— 邏輯系統(tǒng)實(shí)體和他們的屬性。
圖 4 顯示了簡(jiǎn)單汽車租賃 HLDM 是如何由三個(gè)系統(tǒng)進(jìn)行實(shí)現(xiàn)的:CarFleet(內(nèi)部隊(duì)伍管理系統(tǒng))、VanCare(用于支持篷車隊(duì)外包維護(hù)的外部系統(tǒng))和 RentalSystem(主要的租賃控制系統(tǒng))。
圖 4:部分實(shí)現(xiàn)模型 —— 說(shuō)明了三個(gè)系統(tǒng)中的關(guān)鍵數(shù)據(jù)對(duì)象如何實(shí)現(xiàn)來(lái)自于高級(jí)數(shù)據(jù)模型的概念化實(shí)體(呈現(xiàn)黃色)。
()
對(duì)于本模型,UML 實(shí)現(xiàn)關(guān)系是關(guān)鍵。顏色和物理布局可以帶來(lái)好的效果和一致的命名方案,如這個(gè)顯示出的圖應(yīng)該能標(biāo)識(shí)出邏輯系統(tǒng)實(shí)體及其宿主系統(tǒng)。
在概念上的實(shí)體的和真實(shí)的實(shí)體的結(jié)構(gòu)或含義有所不同的地方,當(dāng)可以直接將關(guān)系進(jìn)行映射(如圖 4 所示)之前,一般化和聚集關(guān)系是用來(lái)分解類結(jié)構(gòu)的。甚至當(dāng) HLDM 作為元模型并且實(shí)現(xiàn)模型是具體的時(shí)候該方法也可以使用,反之亦然。
模型的下一層顯示了同一數(shù)據(jù)項(xiàng)的不同實(shí)現(xiàn)之間的關(guān)系、如何在不同系統(tǒng)上擴(kuò)展變更,以及不同數(shù)據(jù)元素的組織的管理人。
除了關(guān)注點(diǎn)在識(shí)別角色、起源及每個(gè)數(shù)據(jù)項(xiàng)的發(fā)展上意外,模型類似于實(shí)現(xiàn)概述,利用下面的構(gòu)造型:
<<Master>> 標(biāo)識(shí)已經(jīng)過(guò)協(xié)議的原版數(shù)據(jù)源。
<<Use in place>> 和 <<Update in place>> 標(biāo)識(shí)一個(gè)能夠直接通過(guò)現(xiàn)有接口使用另一系統(tǒng)數(shù)據(jù)的位置。注釋將解釋其如何工作的。
<<Copy>> and <<Updates Copy>> 標(biāo)識(shí)出一個(gè)系統(tǒng)得到了另一系統(tǒng)的規(guī)則或不規(guī)則的數(shù)據(jù)(或者更新列表)的副本,及該副本是否未修改或被接收系統(tǒng)修改了。注釋中將描述計(jì)時(shí)及相似的問(wèn)題。
<<Independent master>> 標(biāo)識(shí)出在哪里系統(tǒng)不是原版的,并且在理論上應(yīng)具有原版數(shù)據(jù)的副本,但由于流程不是足夠地確定,所以第二數(shù)據(jù)集出現(xiàn)分歧。
<<Custodian>> 標(biāo)識(shí)出數(shù)據(jù)項(xiàng)和組織或角色(顯示為業(yè)務(wù)角色,和適當(dāng)?shù)臄?shù)據(jù)類有依賴關(guān)系)的保管關(guān)系。
<<Uses>> 標(biāo)識(shí)出重要的跨組織的數(shù)據(jù)的使用。
在需要對(duì)不同屬性用不同方式進(jìn)行處理的地方(例如,一個(gè)實(shí)現(xiàn)對(duì)類的一些屬性是原版的,另一個(gè)類對(duì)其他屬性是原版的),高級(jí)數(shù)據(jù)模型應(yīng)通過(guò)兩個(gè)或多個(gè)分離的類對(duì)那些屬性進(jìn)行建模。來(lái)源及使用者模型(圖 5)能夠清楚地說(shuō)明不同的責(zé)任及他們的來(lái)源。
圖 5: 來(lái)源及使用者模型 ——添加描述不同實(shí)現(xiàn)如何相關(guān)及它們?nèi)绾闻c不同組織角色相關(guān)的信息(綠色)。
()
模型的最后一層描述了執(zhí)行系統(tǒng)的數(shù)據(jù)如何在系統(tǒng)間移動(dòng)時(shí)進(jìn)行轉(zhuǎn)換。它們表現(xiàn)在:
系統(tǒng)接口的物理類及屬性結(jié)構(gòu)(等同于數(shù)據(jù)庫(kù)結(jié)構(gòu),在其中直接數(shù)據(jù)訪問(wèn)是最好或唯一的選擇)。該模型還將顯示帶有接口機(jī)制(如 EAI 集線器或干線)的 HLDM 的實(shí)現(xiàn)。
不同物理數(shù)據(jù)結(jié)構(gòu)之間的實(shí)現(xiàn)關(guān)系。
屬性級(jí)的轉(zhuǎn)換規(guī)則,用目標(biāo)約束語(yǔ)言(Object Constraint language,OCL)編制而成。
接口驅(qū)動(dòng)器、約束和計(jì)時(shí)規(guī)則,通過(guò)交互或時(shí)序圖進(jìn)行建模。
如果這看起來(lái)有一點(diǎn)復(fù)雜,那么記得無(wú)需一直使用該技術(shù),如果您喜歡,可以使用簡(jiǎn)單的文本注釋而不用 OCL。
擴(kuò)充我們的汽車租賃實(shí)例,假設(shè)我們想通過(guò) EAI 來(lái)保持 RentalSystem 中列出的 Hire Unit 保持最新,提取、合并,并轉(zhuǎn)換兩個(gè)源列表。圖 6 中的“將來(lái)”的模型描述了物理接口和轉(zhuǎn)換規(guī)則,包括 EAI 消息中數(shù)據(jù)的正則結(jié)構(gòu)。
圖 6: 轉(zhuǎn)換模型 —— 添加說(shuō)明數(shù)據(jù)在系統(tǒng)間移動(dòng)時(shí)如何轉(zhuǎn)換的細(xì)節(jié)。
()
CarFleet 有一個(gè)由兩個(gè)主要表格組成的基于數(shù)據(jù)的接口,Vancare 有一個(gè)程序化的接口(例如,對(duì)象模型或 Web 服務(wù)),Rental System 也一樣,包含一個(gè)接收更新的 Insert() 方法。
公共的或行業(yè)的標(biāo)準(zhǔn)有兩個(gè)任務(wù):
它們?yōu)?HLDM 或在 EAI 干線和外部接口內(nèi)的 HLDM 的實(shí)現(xiàn)形成基礎(chǔ)。
它們會(huì)確定外部接口或一些物理系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),因此描繪出在接口中進(jìn)行轉(zhuǎn)換的物理數(shù)據(jù)結(jié)構(gòu)。
總之,圖 7 中的元模型展示了設(shè)計(jì)中各種模型及其組件之間如何相關(guān):
圖 7: 元模型 ——展示了數(shù)據(jù)架構(gòu)中各種模型和模型元素間的關(guān)系。
數(shù)據(jù)架構(gòu)有很多用途。它幫助您處理數(shù)據(jù)如同它真的在由業(yè)務(wù)使用,并且如果您想要開發(fā)并實(shí)現(xiàn)支持?jǐn)?shù)據(jù)策略的治理,它是其中關(guān)鍵的部件。它還應(yīng)該用于指導(dǎo)跨系統(tǒng)的開發(fā),例如企業(yè)應(yīng)用程序整合(EAI)、公共報(bào)告和數(shù)據(jù)存儲(chǔ)計(jì)劃。
雖然我們對(duì)數(shù)據(jù)架構(gòu)的闡述是按照“自頂向下”的,但是數(shù)據(jù)架構(gòu)通常按照“由中間開始”進(jìn)行開發(fā),從特定系統(tǒng)接口的數(shù)據(jù)需求和合理化實(shí)行開始,并不按照嚴(yán)格的自頂向下的流程和信息需求分析。這種方式允許數(shù)據(jù)架構(gòu)開發(fā)以滿足不帶有難于管理的依賴性的具體的戰(zhàn)術(shù)戰(zhàn)略需求,并向基于分離的自頂向下和自底向上建模運(yùn)行的數(shù)據(jù)分析提供交叉校驗(yàn)。
數(shù)據(jù)架構(gòu)業(yè)務(wù)對(duì)整個(gè)企業(yè)從來(lái)不是“完整的”。雖然如此,它提供了一種一致的方法和用于建?;顒?dòng)的環(huán)境。然而,隨著數(shù)據(jù)架構(gòu)的成熟化,采取一些工作來(lái)“填補(bǔ)空白”是適合的。
模型,尤其是來(lái)源及使用者模型,將通過(guò)確定目標(biāo)數(shù)據(jù)是否包含于單個(gè)系統(tǒng),由良好定義的接口和流程進(jìn)行維護(hù),或在一些(潛在地不一致的)源中間進(jìn)行擴(kuò)展,來(lái)支持目標(biāo)業(yè)務(wù)流程的驗(yàn)證。
將“目前”的數(shù)據(jù)架構(gòu)進(jìn)行建模非常有用,它能夠很確定地顯示出哪里是次佳的。然而,如果您想要進(jìn)行提高,就需要有比好的模型多得多的東西。圍繞改進(jìn)數(shù)據(jù)集合、使用和治理的大部分問(wèn)題是非技術(shù)的。IT 部門,及業(yè)務(wù)經(jīng)理,需要開發(fā)若干內(nèi)容:
設(shè)定企業(yè)如何收集、管理并使用數(shù)據(jù)的原則。
包含“目前”的和“將來(lái)”的模型的數(shù)據(jù)架構(gòu)。
數(shù)據(jù)架構(gòu)的治理規(guī)則和變更控制流程,由 IT 和適當(dāng)?shù)臉I(yè)務(wù)代表共同管理。
在每個(gè)業(yè)務(wù)領(lǐng)域內(nèi)的數(shù)據(jù)管理規(guī)則:
存儲(chǔ)什么數(shù)據(jù)。
誰(shuí)負(fù)責(zé)數(shù)據(jù)的收集和質(zhì)量。
誰(shuí)控制,誰(shuí)管理
存儲(chǔ)多久,將來(lái)如何安排或歸檔。
誰(shuí)可以使用,及如何向常規(guī)用戶組之外的用戶公開。
關(guān)于信息和相關(guān)風(fēng)險(xiǎn)分類的方案,以確保定義恰當(dāng)?shù)陌踩椒ā?div style="height:15px;">
不論在哪里,數(shù)據(jù)的輸入必須簡(jiǎn)單且數(shù)據(jù)能準(zhǔn)確地反應(yīng)情況,還要以一種對(duì)輸入輸出有效的且可用的格式。
應(yīng)盡可能準(zhǔn)確完整地記錄數(shù)據(jù),利用最廣博的來(lái)源,使其與原始內(nèi)容盡可能接近,在最初的時(shí)候?qū)⑵渥兂呻娮痈袷剑⒉扇】蓹z查可跟蹤的方式。
除非有實(shí)踐的原因需要進(jìn)行復(fù)制,否則不能夠?qū)?shù)據(jù)進(jìn)行復(fù)制。在此情況下,一個(gè)源必須明確地作為原版,要有健壯的流程確保每一步的副本,并且不能修改副本。
數(shù)據(jù)結(jié)構(gòu)必須在嚴(yán)格的變更控制下,以便于可以適當(dāng)?shù)毓芾砀鞣N業(yè)務(wù)和系統(tǒng)牽連的變更。
無(wú)論什么時(shí)候,對(duì)公共數(shù)據(jù)模型采用國(guó)際、國(guó)家或行業(yè)標(biāo)準(zhǔn)。在不可能采用時(shí),開發(fā)組織的標(biāo)準(zhǔn)來(lái)替代。
對(duì)企業(yè)數(shù)據(jù)架構(gòu)的文檔化的理解是許多公共 IS 和業(yè)務(wù)改進(jìn)計(jì)劃的必要先決條件。適當(dāng)?shù)哪P团c詳細(xì)的系統(tǒng)模型和高級(jí)業(yè)務(wù)模型截然不同。本文概述了一組有助于滿足這些需求的 UML 模型和技術(shù)。
使用 UML 進(jìn)行企業(yè)建模是一個(gè)新興領(lǐng)域。此處描述的技術(shù)是很新的,這是首次對(duì)它們進(jìn)行公開介紹。然而,我們發(fā)現(xiàn)以下內(nèi)容是關(guān)于在架構(gòu)或業(yè)務(wù)級(jí)使用 UML 建模的問(wèn)題的有用的介紹,包括:
Hans-Erik Eriksson 和 Magnus Penker, Business Modeling with UML: Business Patterns at Work。 Wiley, 2000 年。
Chris Marshall, Enterprise Modeling with UML: Designing Successful Software Through Business Analysis。 Addison Wesley,2000 年。
1我們計(jì)劃將來(lái)出一篇文章討論各種模型怎樣建立系統(tǒng)間的整合“干線”或“集線器”的流程,并利用它創(chuàng)建接口,及填充數(shù)據(jù)倉(cāng)庫(kù)。