一位朋友說他們正在做EAI的項目,對于EAI,沒有接觸太深,以前項目中有這一塊,卻沒怎么參與。于是問了一句,"EAI究竟是服務(wù)于什么目的"?提起這個名詞,在我腦海中蹦出的關(guān)鍵詞是諸如實時、總線、消息等,然而,這些似乎只是它的技術(shù)特征。
類似的名詞包括EII和ETL,ETL是BI項目中必有的部分,也是目前每個項目戲份最重的環(huán)節(jié)。ETL有一種定義,如"抽取、轉(zhuǎn)換和裝載,為了分析的目的,將數(shù)據(jù)從多種數(shù)據(jù)源抽取,經(jīng)過轉(zhuǎn)換、清洗,裝載到另一個數(shù)據(jù)庫的過程,包括數(shù)據(jù)集市和數(shù)據(jù)倉庫,或者是另一個操作型系統(tǒng)",我不知道這是誰的定義,恐怕也恐怕很難有權(quán)威的定義。在這個定義中,ETL是廣義的,它是數(shù)據(jù)流動的過程,沒有說它究竟是批量的或是實時的。因此,按照這個定義,EAI也就像是ETL。
EAI,全名為企業(yè)應(yīng)用集成,這提升到一個比較高的層面,相比之下,"數(shù)據(jù)"顯得太微觀,太底層了。不錯,現(xiàn)實的情況是企業(yè)的IT環(huán)境中,大量不同的系統(tǒng)同時并存,缺乏總體規(guī)劃。在這種情況下,提出應(yīng)用集成也是形勢所逼。比如聯(lián)通的經(jīng)營分析和客戶維系挽留系統(tǒng),缺乏規(guī)劃的時候,他們就有功能重疊的地方,各自的廠商為了自己的利益,不可能顧及"應(yīng)該"如何,只是將自己的蛋糕劃分得大一些才好。因此,諸如"客戶價值模型"這樣得東西就會搶來搶去。可能這種交叉應(yīng)用的存在,才導(dǎo)致人們對應(yīng)用集成的愿望,他們希望能夠統(tǒng)一地看這些不同的應(yīng)用,就像一個完整的大系統(tǒng)在運行一樣。
但顯然,如果達(dá)到這樣的程度,理想的程度,并非一種技術(shù)就能搞定。所以,EAI的定義顯得比ETL定義更加"虛頭八腦",而在實際項目中看來,EAI的主要功能就是數(shù)據(jù)的集成,在多個應(yīng)用之間共享數(shù)據(jù),聯(lián)通里面一般管這叫做"交互性"。技術(shù)實現(xiàn)上,它更像是CDC(變化數(shù)據(jù)捕獲)+ETL。
至于EII,名稱上意思為"企業(yè)信息集成",按照數(shù)據(jù)、信息到知識這個從低到高的層次,EII聽起來又比ETL高級一些。然而對它,更加沒有深入了解。也不明白它為什么會蹦出這個名詞,是和ETL、EAI并列還是有取代他們的意思。從它的定義來看,EII是建立了一個虛擬的數(shù)據(jù)庫,用戶向這個虛擬庫提交查詢,而EII將這種查詢物理地分布到各個不同的數(shù)據(jù)源中,然而返回數(shù)據(jù),對于用戶來說,他沒有意識到這批數(shù)據(jù)是來自不同應(yīng)用、不同數(shù)據(jù)庫的。
喔,很酷,不過難度不小,因為這不是技術(shù)問題。假設(shè)理想的情況下,能夠為數(shù)據(jù)源建立詳盡的、一致的元數(shù)據(jù),能夠有一個引擎實現(xiàn)這種分布式查詢,當(dāng)然可以EII。然而我們不是生活在理想國,為不同的數(shù)據(jù)源建立一致的元數(shù)據(jù)幾乎是不可能,這涉及到各個系統(tǒng)廠商的管理、系統(tǒng)設(shè)計以及維護(hù)能力,無法僅僅通過技術(shù)手段保證的。所以,EII,我只能暫且將它看作是未來理想。