SOA 和 DW 概念隨著 IT 技術(shù)的發(fā)展,SOA 和企業(yè)架構(gòu)(Enterprise Architechture,EA)逐步融合,形成了新的架構(gòu)理論,但是與 DW 之間還沒有很好的集成。下面首先來看看 EA、SOA 及 DW 概念。 企業(yè)架構(gòu)的概念企業(yè)架構(gòu)(Enterprise Architecture,EA) 的概念產(chǎn)生于 1987 年,在 IBM 的一個(gè)內(nèi)部刊物上發(fā)表的一篇文章"A Framework for Information Systems Architecture" by J.A. Zachman ( 扎克曼 ) 中提出。概念的提出是為了應(yīng)對(duì)日益復(fù)雜的 IT 系統(tǒng),以及高投資、低回報(bào)的問題。他認(rèn)為使用一個(gè)邏輯的企業(yè)構(gòu)造藍(lán)圖(即一個(gè)架構(gòu))來定義和控制企業(yè)系統(tǒng)及其組件的集成是非常有用的。為此,Zachman 開發(fā)了信息、流程、網(wǎng)絡(luò)、人員、時(shí)間、基本原理等 6 個(gè)視角來分析企業(yè),也提供了與這些視角相對(duì)應(yīng)的 6 個(gè)模型,包括語義、概念、邏輯、物理、組件和功能等模型。隨著 EA 的發(fā)展,產(chǎn)生了很多的流派,當(dāng)前主要的 EA 架構(gòu)包含:通用框架 Zachman、TOGAF(The Open Group Architecture Framework)、以及適用于政府和軍方的美國聯(lián)邦政府的標(biāo)準(zhǔn)架構(gòu) FEA、美國國防部的 DoDAF 等。這些模型主要分成兩派,如今正在逐步的融合在一起。隨著企業(yè)架構(gòu)的不斷進(jìn)化,企業(yè)架構(gòu)理論越來越與戰(zhàn)略和業(yè)務(wù)相融合,逐步形成了企業(yè)戰(zhàn)略、業(yè)務(wù)架構(gòu)、IT 戰(zhàn)略、IT 架構(gòu)等四個(gè)層次的 IT 規(guī)劃方法論。IT 架構(gòu)包含數(shù)據(jù)架構(gòu)、應(yīng)用架構(gòu)、技術(shù)架構(gòu)和 IT 治理等四個(gè)方面的內(nèi)容,其中技術(shù)架構(gòu)包含集成平臺(tái)、公共服務(wù)平臺(tái)、基礎(chǔ)平臺(tái)(軟件和硬件)和安全平臺(tái)等,如下圖所示: 圖 1. 企業(yè)架構(gòu)(EA)示例![]() 本文以下主要從技術(shù)架構(gòu)中的集成平臺(tái)角度來看如何搭建應(yīng)用集成平臺(tái)和數(shù)據(jù)集成平臺(tái)。 面向服務(wù)的體系架構(gòu)面向服務(wù)的架構(gòu)(Service Oriented Architecture,SOA) 是一種架構(gòu) IT 系統(tǒng)的方法,它將應(yīng)用和 IT 功能劃分為單獨(dú)的業(yè)務(wù)功能和模塊,即所謂的服務(wù)。用戶可以構(gòu)建、部署和整合這些服務(wù),且無需依賴應(yīng)用程序及其技術(shù)平臺(tái),從而提高應(yīng)用的靈活性。這種業(yè)務(wù)靈活性可使企業(yè)和機(jī)構(gòu)加快發(fā)展速度,降低總體擁有成本,及時(shí)、準(zhǔn)確地獲取信息,同時(shí)有助于實(shí)現(xiàn)更多的資產(chǎn)重用。而建設(shè) SOA 體系架構(gòu)就需要建立一個(gè)一致的架構(gòu)框架,在這種框架中,可以快速地進(jìn)行開發(fā)、集成和重用應(yīng)用系統(tǒng)。而對(duì)于原有的應(yīng)用系統(tǒng)來說,可以采用合適的技術(shù)手段進(jìn)行平滑的優(yōu)化與過渡。 數(shù)據(jù)倉庫數(shù)據(jù)倉庫(Data Warehouse,DW) 是一個(gè)面向主題、集成、時(shí)變、非易失的數(shù)據(jù)集合,是支持管理部門的決策過程(W . H . Inmon)。數(shù)據(jù)倉庫具備以下四個(gè)關(guān)鍵特征:面向主題 (Subject Oriented) 的數(shù)據(jù)集合;集成 (Integrated) 的數(shù)據(jù)集合;時(shí)變 (Time Variant) 的數(shù)據(jù)集合;非易失 (Nonvolatile) 的數(shù)據(jù)集合。根據(jù)數(shù)據(jù)倉庫所管理的數(shù)據(jù)類型和它們所解決的企業(yè)問題范圍,一般可將數(shù)據(jù)倉庫分為下列3種類型:操作型數(shù)據(jù)庫(ODS)、數(shù)據(jù)倉庫(DW)和數(shù)據(jù)集市(DM)。
主數(shù)據(jù)主數(shù)據(jù)(Master Data,MD) 指系統(tǒng)間共享數(shù)據(jù)(例如,客戶、供應(yīng)商、賬戶和組織部門相關(guān)數(shù)據(jù))。與記錄業(yè)務(wù)活動(dòng),變動(dòng)較大的交易數(shù)據(jù)相比,主數(shù)據(jù)(也稱基準(zhǔn)數(shù)據(jù))變化緩慢,一般每年的變化在 20 %左右。在正規(guī)的關(guān)系數(shù)據(jù)模型中,交易記錄(例如,訂單)可通過關(guān)鍵字(例如,訂單或發(fā)票編號(hào)和產(chǎn)品代碼)調(diào)出主數(shù)據(jù)。根據(jù)主數(shù)據(jù)管理實(shí)施的復(fù)雜程度,參照 Jill Dyche, Evan Levy 的觀點(diǎn)大體可以把主數(shù)據(jù)管理可以分為五個(gè)層次,其中 Level 3(通過集中的總線處理,類似于翻譯器)可以實(shí)現(xiàn)企業(yè)內(nèi)任意兩個(gè)系統(tǒng)交換數(shù)據(jù)。Level 3 是將數(shù)據(jù)轉(zhuǎn)換邏輯集中化和標(biāo)準(zhǔn)化,它支持主參照數(shù)據(jù)的分布式存在(即分布的主數(shù)據(jù)存儲(chǔ),集中而標(biāo)準(zhǔn)的主數(shù)據(jù)轉(zhuǎn)換),Level 3 打破了各個(gè)獨(dú)立應(yīng)用的組織邊界,使用各個(gè)系統(tǒng)都能接受的數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一建立和維護(hù)主數(shù)據(jù) (MDM ) 。而最高級(jí)別 Level 5 (企業(yè)數(shù)據(jù)集中),當(dāng)主數(shù)據(jù)記錄的詳細(xì)資料被修改后,所有應(yīng)用的相關(guān)數(shù)據(jù)元素都將被更新,本級(jí)別可以通過 SOA 的架構(gòu)平臺(tái)實(shí)現(xiàn)。 通過對(duì)以上幾個(gè)概念的簡單分析,可以發(fā)現(xiàn),SOA 雖然解決了系統(tǒng)之間的數(shù)據(jù)實(shí)時(shí)交互的問題,但是數(shù)據(jù)的集中,大數(shù)據(jù)量的數(shù)據(jù)同步以及主數(shù)據(jù)管理等問題還沒有解決,即使建立了 SOA 的應(yīng)用架構(gòu),仍然需要進(jìn)一步進(jìn)行數(shù)據(jù)倉庫的建設(shè)和主數(shù)據(jù)的管理等。于是有了建立統(tǒng)一的應(yīng)用集成平臺(tái)和數(shù)據(jù)(信息)集成平臺(tái)的概念。 SOA 和 DW 結(jié)合的企業(yè)架構(gòu)把數(shù)據(jù)和服務(wù)作為企業(yè)的資產(chǎn)通常,軟件重用(Software Reuse)是利用事先建立好的軟產(chǎn)品創(chuàng)建新軟件系統(tǒng)的過程,早在 1968 年的 NATO 軟件工程會(huì)議上就已經(jīng)提出可復(fù)用庫的思想。重用在形式上可以分為二進(jìn)制、源代碼、設(shè)計(jì)、分析等四個(gè)層面的重用,其中基于二進(jìn)制代碼的重用最為重要,從當(dāng)前來看,基于二進(jìn)制和源代碼實(shí)現(xiàn)重用的方式主要有函數(shù)庫(面向過程)、對(duì)象(面向?qū)ο螅?、服?wù)(SOA)等方式?;谠O(shè)計(jì)和分析實(shí)現(xiàn)重用的方式主要是通過模板進(jìn)行定制,當(dāng)前主要采用 MDA 的方式,由設(shè)計(jì)文檔直接生產(chǎn)代碼。 要實(shí)現(xiàn)基于二進(jìn)制代碼的重用,最重要的一個(gè)方法就是實(shí)現(xiàn)分離,通過分離,將共用的或者相關(guān)性不緊密的功能分離出來,如操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用中間件、公共組件等,都是在軟件發(fā)展歷史過程中逐步從一個(gè)完整的一體化的系統(tǒng)中分離出來的。這也符合社會(huì)分工的要求,每個(gè)企業(yè)有多個(gè)開發(fā)商,即使同一個(gè)開發(fā)商,由于需要多人的分工合作,這時(shí)分工不同部分之間的標(biāo)準(zhǔn)就顯得尤為重要。因此,可以說軟件的核心是重用,方法是分離,關(guān)鍵是標(biāo)準(zhǔn)。圍繞這個(gè)思路,在本架構(gòu)中將企業(yè)的所有數(shù)據(jù)獨(dú)立出來,基于數(shù)據(jù)架構(gòu),建設(shè)數(shù)據(jù)集成平臺(tái);將企業(yè)的所有應(yīng)用組件分離出來,基于服務(wù)總線,建設(shè)應(yīng)用集成平臺(tái)。數(shù)據(jù)集成平臺(tái)和應(yīng)用集成平臺(tái)共同組成企業(yè)的業(yè)務(wù)基礎(chǔ)平臺(tái)。未來的企業(yè)只有一個(gè)數(shù)據(jù)庫,一個(gè)應(yīng)用,所有的用戶登陸一個(gè)系統(tǒng)可以完成所有的工作,系統(tǒng)的開發(fā)則可以基于一個(gè)業(yè)務(wù)基礎(chǔ)平臺(tái),由多個(gè)廠商共同完成,形成一個(gè)企業(yè)的“云”,其中數(shù)據(jù)和 Web 服務(wù)是最核心的兩個(gè)資產(chǎn)。 應(yīng)用集成平臺(tái)由企業(yè)服務(wù)總線(ESB)和公共的業(yè)務(wù)組件組成。ESB 將不同的組件互相銜接起來,在兩個(gè)或更多的組件或系統(tǒng)之間實(shí)現(xiàn)無縫集成,使整個(gè)信息系統(tǒng)就像一個(gè)整體一樣。通過統(tǒng)一購買、開發(fā)或者封裝已有的組件和系統(tǒng)建設(shè)公共服務(wù)組件,形成企業(yè)共享的公用服務(wù)平臺(tái),避免重復(fù)開發(fā)、重復(fù)購買、標(biāo)準(zhǔn)不一致等問題。其中公共服務(wù)組件包括了門戶組件、統(tǒng)一認(rèn)證組件、工作流組件、GPS 組件、GIS 組件、BI 組件、通用報(bào)表組件等。 關(guān)于企業(yè)服務(wù)總線(ESB)和業(yè)務(wù)組件,相關(guān)的介紹很多,本文不做過多的描述,以下重點(diǎn)對(duì)數(shù)據(jù)存儲(chǔ)層進(jìn)行規(guī)劃設(shè)計(jì)。 數(shù)據(jù)集成平臺(tái)對(duì)于一個(gè)企業(yè)來說,最理想的狀況只有一個(gè)數(shù)據(jù)庫,一個(gè)應(yīng)用,但是需要考慮不同業(yè)務(wù)系統(tǒng)間的相互影響,例如:一個(gè)業(yè)務(wù)系統(tǒng)的性能問題會(huì)影響到其它系統(tǒng),業(yè)務(wù)的新增、變更都會(huì)對(duì)其它系統(tǒng)有一定的影響,爭(zhēng)搶已有系統(tǒng)的 I/O、CPU 資源等,因此,一個(gè)數(shù)據(jù)庫是邏輯上一個(gè)庫,可以物理上分開部署,包括采用數(shù)據(jù)庫分區(qū)和數(shù)據(jù)庫集群等技術(shù);應(yīng)用可以通過集群的方式解決性能問題,應(yīng)用集群運(yùn)行所有的業(yè)務(wù)組件,組件之間通過數(shù)據(jù)共享或者 Web 服務(wù)調(diào)用的方式實(shí)現(xiàn)互聯(lián)。如果是遺留系統(tǒng)或者是產(chǎn)品化的系統(tǒng),則通過主數(shù)據(jù)管理、SOA 集成以及數(shù)據(jù)倉庫的 ETL 等實(shí)現(xiàn)集成,關(guān)于數(shù)據(jù)集成平臺(tái),如下圖所示: 圖 2. SOA 的 DW 架構(gòu)![]() 數(shù)據(jù)存儲(chǔ)層規(guī)劃為了保證業(yè)務(wù)系統(tǒng)的性能同時(shí)實(shí)現(xiàn)數(shù)據(jù)的共享、數(shù)據(jù)分析的需要,將數(shù)據(jù)存儲(chǔ)層的數(shù)據(jù)分為三個(gè)層次:私有數(shù)據(jù)層、共享數(shù)據(jù)層和分析數(shù)據(jù)層。 1、私有數(shù)據(jù)層:由一組業(yè)務(wù)專用數(shù)據(jù)庫組成,這一層的數(shù)據(jù)集主要用于支撐企業(yè)的運(yùn)營,是典型的操作型數(shù)據(jù)環(huán)境。包括經(jīng)營、財(cái)務(wù)、人力資源、資產(chǎn)管理等已有系統(tǒng)的數(shù)據(jù)庫,其主要職能在于支撐企業(yè)日常的經(jīng)營和管理活動(dòng)的運(yùn)營需要。未來新的業(yè)務(wù)組件基于共享數(shù)據(jù)層進(jìn)行開發(fā),不在共享數(shù)據(jù)層的數(shù)據(jù)也在私有數(shù)據(jù)層,特別是新的業(yè)務(wù)組件自己內(nèi)部處理過程中產(chǎn)生的數(shù)據(jù)。私有層的數(shù)據(jù),其他的系統(tǒng)或者業(yè)務(wù)組件除了通過 web 服務(wù)調(diào)用之外不能直接訪問。 2、共享數(shù)據(jù)層:該部分整合所有企業(yè)內(nèi)外數(shù)據(jù)源,基于企業(yè)完整的數(shù)據(jù)架構(gòu)進(jìn)行建設(shè),是所有已有系統(tǒng)和業(yè)務(wù)組件共享的數(shù)據(jù)庫。共享層的數(shù)據(jù)結(jié)構(gòu)清晰,基于業(yè)務(wù)對(duì)象,易于理解,和 Web 服務(wù)一樣,是企業(yè)的資產(chǎn),私有數(shù)據(jù)層的數(shù)據(jù)通過實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的方式同步到共享層或者基于聯(lián)邦技術(shù)直接基于共享層進(jìn)行開發(fā)。共享層基于主題建模的明細(xì)數(shù)據(jù)和部分匯總數(shù)據(jù),是新的系統(tǒng)的業(yè)務(wù)數(shù)據(jù)庫和數(shù)據(jù)計(jì)算、企業(yè)報(bào)表的數(shù)據(jù)源,是對(duì)外數(shù)據(jù)的統(tǒng)一接口。 共享數(shù)據(jù)層包含業(yè)務(wù)共享數(shù)據(jù)、主數(shù)據(jù)、系統(tǒng)數(shù)據(jù)、流程數(shù)據(jù)和元數(shù)據(jù)。其中業(yè)務(wù)共享數(shù)據(jù)主要包括基于主題的數(shù)據(jù)模型,是交易類的數(shù)據(jù),特點(diǎn)是數(shù)據(jù)變化快,數(shù)據(jù)量大;主數(shù)據(jù)是基礎(chǔ)數(shù)據(jù),數(shù)據(jù)變化慢,數(shù)據(jù)量小,但是查詢量大;系統(tǒng)數(shù)據(jù)主要包含用戶數(shù)據(jù)、功能數(shù)據(jù)、用戶權(quán)限數(shù)據(jù)等,和門戶系統(tǒng)結(jié)合;流程數(shù)據(jù)是跨系統(tǒng)的流程數(shù)據(jù),是未來工作流處理、流程監(jiān)控,和審批平臺(tái)的公共流程數(shù)據(jù)。 業(yè)務(wù)共享數(shù)據(jù)庫定位為運(yùn)營數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)支持,負(fù)責(zé)收集企業(yè)各系統(tǒng)中的數(shù)據(jù),統(tǒng)一存儲(chǔ)在業(yè)務(wù)共享數(shù)據(jù)庫中,作為企業(yè)的共享數(shù)據(jù)。業(yè)務(wù)共享數(shù)據(jù)庫采集了企業(yè)各系統(tǒng)的業(yè)務(wù)數(shù)據(jù),對(duì)源系統(tǒng)的數(shù)據(jù)質(zhì)量進(jìn)行審計(jì)監(jiān)控,同時(shí)按照企業(yè)統(tǒng)一的主題域數(shù)據(jù)模型對(duì)數(shù)據(jù)進(jìn)行整合轉(zhuǎn)換,并為其它業(yè)務(wù)應(yīng)用系統(tǒng)提供跨域的數(shù)據(jù)共享。由業(yè)務(wù)共享數(shù)據(jù)庫統(tǒng)一向各業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)共享服務(wù),同時(shí)業(yè)務(wù)共享數(shù)據(jù)庫也可以作為新的系統(tǒng)開發(fā)的業(yè)務(wù)數(shù)據(jù)庫??紤]到業(yè)務(wù)共享數(shù)據(jù)庫是比較中立的數(shù)據(jù),在基于業(yè)務(wù)共享數(shù)據(jù)庫進(jìn)行新的系統(tǒng)開發(fā)的時(shí)候,建議跟業(yè)務(wù)無關(guān)的數(shù)據(jù)單獨(dú)建表,并和業(yè)務(wù)共享數(shù)據(jù)庫的數(shù)據(jù)區(qū)分開,作為新系統(tǒng)自己的數(shù)據(jù),存放在私有數(shù)據(jù)層。對(duì)于現(xiàn)有的系統(tǒng),在升級(jí)改造的時(shí)候?qū)F(xiàn)在的通過 ETL 抽取的方式改為由原系統(tǒng)直接集成的方式,將數(shù)據(jù)存放到業(yè)務(wù)共享數(shù)據(jù)庫中。業(yè)務(wù)共享數(shù)據(jù)庫也作為 DW 的理論上唯一數(shù)據(jù)源,為 DW 提供高質(zhì)量的數(shù)據(jù);DW 中的挖掘和分析結(jié)果也要回寫到業(yè)務(wù)共享數(shù)據(jù)庫中。 3、分析數(shù)據(jù)層:該層的數(shù)據(jù)集主要用于支撐企業(yè)的管理和決策需要,是典型的分析型數(shù)據(jù)環(huán)境。它從數(shù)據(jù)倉庫中提取數(shù)據(jù)并整合管理決策所需要的數(shù)據(jù)集。通過數(shù)據(jù)倉庫的建設(shè),對(duì)現(xiàn)有各類分布數(shù)據(jù)源進(jìn)行數(shù)據(jù)集中,經(jīng)過進(jìn)一步對(duì)數(shù)據(jù)的清洗、過濾、轉(zhuǎn)換后加載至數(shù)據(jù)倉庫中,為數(shù)據(jù)的集中存儲(chǔ)管理和分析利用提供數(shù)據(jù)支撐環(huán)境。 以上通過基于軟件重用的思想,描述了需要構(gòu)建數(shù)據(jù)集成平臺(tái)的概念,并對(duì)數(shù)據(jù)平臺(tái)的功能和數(shù)據(jù)存儲(chǔ)做了說明,通過分層的數(shù)據(jù)管理,建立企業(yè)統(tǒng)一的數(shù)據(jù)集成平臺(tái)。 基于 IBM 產(chǎn)品體系的實(shí)現(xiàn)技術(shù)架構(gòu)概述根據(jù)前文提到的業(yè)務(wù)基礎(chǔ)平臺(tái),基于 IBM 的產(chǎn)品體系,在實(shí)際搭建的時(shí)候,需要的服務(wù)器包含數(shù)據(jù)庫服務(wù)器(產(chǎn)品:DB2)、應(yīng)用服務(wù)器(產(chǎn)品:WAS)、流程整合服務(wù)器(產(chǎn)品:WPS,實(shí)現(xiàn)服務(wù)總線和流程編排)和信息集成服務(wù)器(產(chǎn)品:WII,實(shí)現(xiàn)數(shù)據(jù)的 SQL 復(fù)制或者 Q 復(fù)制),如下圖所示(本方案是建議方案的一種,如 ESB 可以選擇 WESB、DataPower 或 WebSphere Message Broker 等,需要根據(jù)不同企業(yè)特點(diǎn)進(jìn)行選擇): 圖 3. 網(wǎng)絡(luò)拓?fù)鋱D![]() 產(chǎn)品實(shí)現(xiàn)數(shù)據(jù)庫服務(wù)器(IBM DB2 Enterprise Server,DB2),DB2 在本方案中主要實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)層的建立,包含私有層數(shù)據(jù)庫、共享層數(shù)據(jù)庫和分析層數(shù)據(jù)庫。如前文所述,考慮到遺留系統(tǒng)、產(chǎn)品化軟件,特別是性能問題,在實(shí)際部署的時(shí)候需要考慮私有層數(shù)據(jù)庫可以單獨(dú)在一個(gè)表空間甚至是一個(gè)獨(dú)立的磁盤中進(jìn)行存儲(chǔ),保證業(yè)務(wù)組件能夠不受其他業(yè)務(wù)組件的影響,數(shù)據(jù)存儲(chǔ)層能夠靈活的擴(kuò)展,適應(yīng)大數(shù)據(jù)量、多系統(tǒng)的處理。 DB2 提供多平臺(tái)支持,因此能夠在各種系統(tǒng)平臺(tái)上發(fā)揮該產(chǎn)品的功能。DB2 能夠管理多種數(shù)據(jù)類型,并能聯(lián)合各類 IBM 系列數(shù)據(jù)庫上的關(guān)系型數(shù)據(jù)。DB2 允許數(shù)據(jù)庫管理員把數(shù)據(jù)庫劃分成若干稱作表空間 (table spaces) 的部分,表空間可以單獨(dú)管理,這就大大增強(qiáng)了管理特大型數(shù)據(jù)庫的能力,它能包含上兆兆字節(jié)數(shù)據(jù)。DB2 在 SMP(對(duì)稱多處理器)或 MPP(并行節(jié)點(diǎn)機(jī)) 環(huán)境下,都可充分發(fā)揮其并行處理能力,特別是當(dāng)數(shù)據(jù)量累計(jì)到一定程度,通過 Cluster(集群),作為并行關(guān)系數(shù)據(jù)庫它允許把單個(gè)數(shù)據(jù)庫映象散布到多個(gè)系統(tǒng)上,從而能利用所有系統(tǒng)的處理能力以滿足用戶對(duì)數(shù)據(jù)的需求。DB2 可以在并行處理的多個(gè)節(jié)點(diǎn)上同時(shí)運(yùn)行某一查詢,從而提高查詢性能,必要時(shí)它可以重新編寫查詢以優(yōu)化性能,從而保證了可以實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫的設(shè)計(jì)理念。 通過多種數(shù)據(jù)類型、多平臺(tái)、表空間、集群處理、并行處理等技術(shù),可以實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)層的統(tǒng)一管理。 信息集成服務(wù)器(IBM WebSphere Information Integrator,WII)信息集成服務(wù)器實(shí)現(xiàn)信息總線功能,主要包含數(shù)據(jù)聯(lián)邦和數(shù)據(jù)復(fù)制功能,通過數(shù)據(jù)聯(lián)邦和數(shù)據(jù)復(fù)制實(shí)現(xiàn)私有層數(shù)據(jù)和共享層數(shù)據(jù)的同步。 聯(lián)邦技術(shù) 能夠統(tǒng)一地訪問以任何格式(結(jié)構(gòu)化的和非結(jié)構(gòu)化的)存儲(chǔ)的任何數(shù)字信息。WII 支持多種數(shù)據(jù)源,包括 DB2/390, DB2/400, DB2 UDB、Informix、Oracle、Sybase、SQL Server 等關(guān)系型數(shù)據(jù)庫,也包括非關(guān)系型的文本文件和 Excel 文件。通過對(duì)各種數(shù)據(jù)源的支持,可以在邏輯上實(shí)現(xiàn)不同數(shù)據(jù)庫的統(tǒng)一視圖。 數(shù)據(jù)復(fù)制,在多個(gè)廠商的數(shù)據(jù)庫產(chǎn)品之間實(shí)現(xiàn)復(fù)制,WII 使用基于 SQL 的復(fù)制架構(gòu),該架構(gòu)可在管理計(jì)劃、轉(zhuǎn)換和分發(fā)拓?fù)浣Y(jié)構(gòu)中最大限度地提高靈活性和效率。在 SQL 復(fù)制中,WII 使用基于日志或基于觸發(fā)器的機(jī)制捕獲變更,并將其插入到關(guān)系分級(jí)表中。然后應(yīng)用過程異步處理目標(biāo)系統(tǒng)的更新。WII 可以廣泛應(yīng)用于填充倉庫或集市、在不同應(yīng)用程序之間維護(hù)數(shù)據(jù)一致性或者在總部和分支機(jī)構(gòu)或零售商之間高效管理分發(fā)和合并。該技術(shù)采用經(jīng)典的數(shù)據(jù)庫復(fù)制體系結(jié)構(gòu)實(shí)現(xiàn),IBM 的基于隊(duì)列的新復(fù)制架構(gòu)(簡稱 Q 復(fù)制技術(shù)),是一種高吞吐量、低延遲的復(fù)制方法,它使用 WebSphere MQ 的消息隊(duì)列在源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間,或者在源子系統(tǒng)與目標(biāo)子系統(tǒng)之間傳遞事務(wù)。Q Capture 程序通過讀取 DB2 的恢復(fù)日志來獲取你所指定的復(fù)制源表的變化情況;繼而,Q Capture 程序?qū)⑹聞?wù)作為消息,通過隊(duì)列發(fā)送;最后,Q Apply 程序從隊(duì)列中讀取這些消息,并將其應(yīng)用于目標(biāo)表。 通過 WII,將分散的數(shù)據(jù)庫以數(shù)據(jù)聯(lián)邦或者數(shù)據(jù)復(fù)制的技術(shù)集成起來,實(shí)現(xiàn)數(shù)據(jù)層面的集成。 應(yīng)用服務(wù)器(IBM WebSphere Application Server,WAS),WAS 所有業(yè)務(wù)組件的運(yùn)行的容器,實(shí)現(xiàn)統(tǒng)一的應(yīng)用集成平臺(tái)。應(yīng)用集成平臺(tái)需要主要考慮應(yīng)用集群技術(shù)。 WAS 完全提供了獨(dú)立于硬件系統(tǒng)的集群功能。在 WebSphere 應(yīng)用服務(wù)器中,提供了兩種方式的 Cluster:垂直的方式和水平的方式。它們分別是為了適應(yīng)不同的應(yīng)用環(huán)境而設(shè)置的,垂直的 Cluster 允許在一臺(tái)機(jī)器上實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡;而水平的 Cluster 允許在多臺(tái)機(jī)器上實(shí)現(xiàn)動(dòng)態(tài)的負(fù)載均衡。二者可以有機(jī)的協(xié)調(diào)工作,為復(fù)雜環(huán)境的應(yīng)用實(shí)現(xiàn)負(fù)載均衡提供了強(qiáng)有力的保證。WebSphere 使用的是一種 Nanny -- Administration Server -- Application Server 的體系結(jié)構(gòu),使用該結(jié)構(gòu),所有的 Application Server( 應(yīng)用服務(wù)器 ) 將由一個(gè) Adminisration Server( 管理服務(wù)器 ) 來監(jiān)視管理,一旦由于一個(gè)特殊的原因(例如進(jìn)程被殺掉)導(dǎo)致應(yīng)用服務(wù)器停止,管理服務(wù)器將自動(dòng)重新啟動(dòng)該應(yīng)用服務(wù)器;同樣,Administration Server ( 管理服務(wù)器 ) 由一個(gè)“Nanny( 保姆 )”進(jìn)程管理,該“保姆”進(jìn)程一旦檢測(cè)到管理服務(wù)器停止也將自動(dòng)重新啟動(dòng)它。這樣 WebSphere 從體系結(jié)構(gòu)上就最大限度地保證服務(wù)器程序的可靠穩(wěn)定運(yùn)行。 通過 WAS 的獨(dú)立硬件的集群功能,實(shí)現(xiàn)垂直或者水平的兩種方式,從而保證業(yè)務(wù)組件統(tǒng)一管理。 流程整合服務(wù)器(IBM WebSphere Process Server ,WPS)服務(wù)總線和流程編排,實(shí)現(xiàn)基于 Web 服務(wù)的數(shù)據(jù)同步,業(yè)務(wù)組件之間的服務(wù)調(diào)用等。 WPS 是一個(gè)基于 WAS 的全面的面向服務(wù)的體系結(jié)構(gòu)的集成平臺(tái)。面向服務(wù)的體系結(jié)構(gòu)提供了動(dòng)態(tài)開發(fā)和修改集成應(yīng)用程序的功能。通過面向服務(wù)的體系結(jié)構(gòu),可以將現(xiàn)有應(yīng)用程序與更新的應(yīng)用程序相集成,以便它們透明地協(xié)同工作。WebSphere Adapters 包括特定于應(yīng)用程序的適配器(例如:用于 Siebel、SAP 或者 PeopleSoft 的適配器),以及技術(shù)適配器(例如:用于關(guān)系數(shù)據(jù)庫或者平面文件的適配器)。WebSphere Adapter 完全符合 JCA 1.5 的架構(gòu),可以方便地在 WPS 中使用。通過 IBM 提供的豐富的 WebSphere Adapter 產(chǎn)品,可以輕松地操作已有業(yè)務(wù)系統(tǒng)中的數(shù)據(jù),從而實(shí)現(xiàn)對(duì)現(xiàn)有 IT 資產(chǎn)的重用。WebSphere Process Server 中的唯一體系結(jié)構(gòu)允許將業(yè)務(wù)功能封裝到各個(gè)模塊,然后單獨(dú)進(jìn)行更新。例如,可以使用包含用于實(shí)際審批的人工任務(wù)的審批模塊,隨后使用包含業(yè)務(wù)規(guī)則的另一個(gè)審批模塊替換它。這一更改對(duì)于該模塊的使用者是完全透明的。此外,封裝的概念確保了數(shù)據(jù)和接口定義在使用它們的位置封裝。例如,可以隱藏如何在模塊內(nèi)的后端系統(tǒng)中表示使用者的細(xì)節(jié),而模塊本身將具有一般業(yè)務(wù)對(duì)象的通用接口作為數(shù)據(jù)公開。這一規(guī)范的數(shù)據(jù)表示還啟用了任何給定集成應(yīng)用程序中的高度重用。 通過 WPS,搭建企業(yè)服務(wù)總線,實(shí)現(xiàn)基于 Web 服務(wù)數(shù)據(jù)同步和組件之間的整合。 以上通過對(duì)技術(shù)架構(gòu)總體概述以及采用對(duì)應(yīng)的 IBM 相關(guān)產(chǎn)品的具體實(shí)現(xiàn),根據(jù) IBM 產(chǎn)品所具有的產(chǎn)品特性,論證了 SOA 和 DW 結(jié)合的企業(yè)架構(gòu)實(shí)現(xiàn)的可能性。 總結(jié)本文基于企業(yè)架構(gòu)(EA)、面向服務(wù)體系架構(gòu)(SOA)、數(shù)據(jù)倉庫(DW)、主數(shù)據(jù)(MD)等概念,構(gòu)建了數(shù)據(jù)集成平臺(tái)和業(yè)務(wù)集成平臺(tái)共同組成的企業(yè)級(jí)業(yè)務(wù)基礎(chǔ)平臺(tái),重點(diǎn)描述了基于 SOA 的數(shù)據(jù)集成平臺(tái)中數(shù)據(jù)存儲(chǔ)層的建設(shè)方案,提出了將數(shù)據(jù)和服務(wù)作為企業(yè)資產(chǎn)管理的思想,方案實(shí)現(xiàn)了數(shù)據(jù)和應(yīng)用一體化設(shè)計(jì),并在最后給出了基于 IBM 產(chǎn)品體系建設(shè)的建議方案和產(chǎn)品的定位。 |
|