模式一:點(diǎn)對(duì)點(diǎn)語義集成
在此模式中,每個(gè)數(shù)據(jù)源都有其專有的語義,而且采用點(diǎn)對(duì)點(diǎn)的方式進(jìn)行語義轉(zhuǎn)換。例如,需要集成兩個(gè)數(shù)據(jù)源 A 和 B 時(shí),A 組和 B 組分別打印出自己的 ER 關(guān)系圖,然后分析數(shù)據(jù)元素的含義,再進(jìn)行從數(shù)據(jù)源 A 到數(shù)據(jù)源 B 的直接映射。我們以前面的示例為例,可以將帳單編制應(yīng)用中的“BALANCE”列直接映射到會(huì)計(jì)應(yīng)用中的“REMAINDER”列。當(dāng)集成的數(shù)據(jù)源擴(kuò)展到 4 個(gè)時(shí),需要進(jìn)行 6 組映射。如果一個(gè)數(shù)據(jù)源中的數(shù)據(jù)定義被更改,對(duì)其他系統(tǒng)的影響就會(huì)加倍,而且通常很難預(yù)測。無論您選擇的技術(shù)多么先進(jìn),都不起作用,這個(gè)語義集成模式是混亂的,而且當(dāng)數(shù)據(jù)源增加時(shí),維護(hù)工作會(huì)變成您的噩夢。因此,它得到一個(gè)綽號(hào)“毛團(tuán)”。此外,這也不容易實(shí)現(xiàn)對(duì) IT 資產(chǎn)的重用。無論相信與否,許多 ESB 和 EII 項(xiàng)目仍然在 SOA 中進(jìn)行點(diǎn)對(duì)點(diǎn)的語義集成。盡管如此,點(diǎn)對(duì)點(diǎn)集成不一定就是壞事。選擇性地利用點(diǎn)對(duì)點(diǎn)語義集成,不但可以確保高性能,并可以創(chuàng)建一條“捷徑”。
模式二:輪輻式語義集成
每個(gè)系統(tǒng)都有其專有的語義,但是被映射到一個(gè)邏輯數(shù)據(jù)模型,可以將此模型實(shí)例化為一個(gè)物理聯(lián)合模型或規(guī)范消息模型。企業(yè)內(nèi)部的語義互操作性通過輪輻式拓?fù)鋪韺?shí)現(xiàn),此輪輻式拓?fù)錅p少了冗余,并且降低了點(diǎn)對(duì)點(diǎn)集成的維護(hù)成本。體系結(jié)構(gòu)設(shè)計(jì)良好的 ESB 通常使用此模式將消息映射到規(guī)范消息模型,從而實(shí)現(xiàn)語義互操作性。
模式三:主數(shù)據(jù)管理 (MDM) 模式
MDM 作為一個(gè)語義互操性模式出現(xiàn),與由部門解決方案產(chǎn)生的數(shù)據(jù)豎井相對(duì)應(yīng)。今天,典型的企業(yè)管理系統(tǒng)內(nèi)存在多個(gè)版本的“事實(shí)”。MDM 系統(tǒng)連接各個(gè)異類信息源,并產(chǎn)生關(guān)鍵信息的唯一事實(shí)版本,例如聯(lián)機(jī)事務(wù)處理(Online Transaction Processing,OLTP)和操作數(shù)據(jù)存儲(chǔ)(Operational Data Store,ODS)系統(tǒng)中的客戶和產(chǎn)品信息。關(guān)鍵信息可能為數(shù)據(jù)實(shí)例(如特定的客戶),也可能是元數(shù)據(jù)(如產(chǎn)品的規(guī)范)。MDM 系統(tǒng)使數(shù)據(jù)不再受單個(gè)業(yè)務(wù)應(yīng)用或軟件包供應(yīng)商的約束,它是基于開放標(biāo)準(zhǔn)的系統(tǒng)。因此,會(huì)將數(shù)據(jù)完全作為公司資產(chǎn)對(duì)待并進(jìn)行重用。MDM 系統(tǒng)的構(gòu)建通常獨(dú)立于現(xiàn)有系統(tǒng),可降低對(duì)業(yè)務(wù)的顯著影響;但是,遺留系統(tǒng)可能在經(jīng)過一段時(shí)間后最終遷移到 MDM系統(tǒng)。MDM 模式與前兩個(gè)模式之間有著明顯的區(qū)別,因?yàn)?MDM 只保留一個(gè)版本的事實(shí),而且有效地從邏輯和物理兩個(gè)方面將各個(gè)不同的信息系統(tǒng)集成到了一起。利用 MDM 系統(tǒng),各個(gè)公司可以獲得切實(shí)的利益,如改善客戶關(guān)系、減少新產(chǎn)品的上市時(shí)間、與遺留系統(tǒng)之間進(jìn)行數(shù)據(jù)集成以及實(shí)現(xiàn)資產(chǎn)重用等。
模式四:行業(yè)信息模型
為了倡導(dǎo)行業(yè)內(nèi)的語義互操作性,垂直行業(yè)標(biāo)準(zhǔn)化組織開發(fā)了行業(yè)特定的信息模型,其中通常包括 XML 消息和消息模式,也稱為域信息模型(Domain Information Model,DIM);不過,也有些組織開發(fā)了關(guān)系數(shù)據(jù)模型。DIM 是典型的基于 XML 的模型,用于 B2B 環(huán)境中的信息交換。行業(yè)標(biāo)準(zhǔn)組織的成員都同意遵守這些規(guī)范,經(jīng)常要求對(duì)規(guī)范的遵從性進(jìn)行認(rèn)證。例如,Association of Retail Technology Standards (ARTS) 針對(duì)零售行業(yè),而 Agency Company Organization for Research and Development (ACORD) 則針對(duì)保險(xiǎn)行業(yè)。DIM 提倡更高水平的語義互操作性,鼓勵(lì)資產(chǎn)重用和公平的競爭環(huán)境,以便成員花費(fèi)更少的時(shí)間、成本和精力來解決語義互操性問題。有些組織甚至采用行業(yè)標(biāo)準(zhǔn)模型作為其內(nèi)部的企業(yè)邏輯模型和規(guī)范消息模型。
標(biāo)準(zhǔn)組織傾向于從水平和跨行業(yè)的角度來研究信息。例如,開放應(yīng)用程序組(Open Applications Group,OAGi)是一個(gè)開放標(biāo)準(zhǔn)組織,負(fù)責(zé)構(gòu)建用于 B2B 和應(yīng)用程序到應(yīng)用程序(Application-to-Application,A2A)集成的基于流程的 XML 標(biāo)準(zhǔn),它的工作重點(diǎn)是如何改進(jìn)應(yīng)用集成的狀態(tài)。另一個(gè)例子是 RosettaNet,它幫助各個(gè)行業(yè)的公司應(yīng)對(duì)當(dāng)今全球供應(yīng)鏈的需求和挑戰(zhàn)。它包括 RosettaNet 業(yè)務(wù)詞典 (RosettaNet Business Dictionaries) 和 RosettaNet 技術(shù)詞典 (RosettaNet Technical Dictionaries)。
模式五:語義 Web
語義 Web 跨越了應(yīng)用、企業(yè)和行業(yè)之間的邊界。語義 Web 將數(shù)據(jù)模型的各個(gè)元素鏈接和關(guān)聯(lián)到一個(gè)通用的本體。它使用資源描述框架 (Resource Description Framework) 和 Web 本體語言 (Web Ontology Language),允許在 Web 上共享和重用數(shù)據(jù)。
模式總結(jié)
我們已經(jīng)討論了用于實(shí)現(xiàn)語義互操作性的多個(gè)不同模式。語義互操作性的范圍可能包括各個(gè)業(yè)務(wù)單位、企業(yè)以及同一個(gè)行業(yè)或跨行業(yè)的各個(gè)企業(yè)。語義互操作性的范圍越大,其成果的長遠(yuǎn)可重用性會(huì)越高,但是也更加難以協(xié)調(diào)和達(dá)成一致。此外,單個(gè)公司的控制權(quán)將會(huì)減少,在自定義重用資產(chǎn)來適應(yīng)其獨(dú)特的業(yè)務(wù)需求和確定想要的功能方面會(huì)有所羈絆。正是由于這些原因,一些公司使用內(nèi)部專有的數(shù)據(jù)模型來進(jìn)行內(nèi)部集成,并且將行業(yè)標(biāo)準(zhǔn)模型用于 B2B。
企業(yè)應(yīng)以平衡的觀點(diǎn)來考慮采用不同的語義互操作性模式所帶來的利弊。以下是一些需要考慮的重要問題:五年后我們的業(yè)務(wù)戰(zhàn)略將會(huì)是什么樣的?IT 如何支持我們的業(yè)務(wù)遠(yuǎn)景?IT 組織的業(yè)務(wù)和監(jiān)管環(huán)境是什么樣的?IT 如何應(yīng)對(duì)(甚至利用)變更?IT 能否利用各種活動(dòng)來促進(jìn)更高水平的資產(chǎn)重用,并盡可能降低維護(hù)成本和分擔(dān)開發(fā)成本?哪一個(gè)信息集成模式是某種特定情況的最佳方法——數(shù)據(jù)聯(lián)合、數(shù)據(jù)整合還是 EAI?
最佳實(shí)踐
最佳實(shí)踐一:建立一個(gè)研究語義互操作性的核心業(yè)務(wù)部
如前面的“無控制語義混亂”反模式中所述,人們對(duì)于語義將不可避免地有不同的理解。強(qiáng)制要求對(duì) EDM 或企業(yè)分類法達(dá)成一致是不可取的,與此相比,促進(jìn)不同參與者之間的合作并且協(xié)調(diào)文檔的不一致通常是更為有效的方法。許多協(xié)作工具,如 Wikis、博客工具和群組軟件都是十分優(yōu)秀的工具,如果出現(xiàn)不能達(dá)成一致的情況,人們可以使用這些工具軟件公開發(fā)表觀點(diǎn),處理差異并加以記錄。以一個(gè)實(shí)際的情況為例,Semantic Interoperability Community of Practice (SICoP) 是由 Federal CIO Council 建立的一個(gè)團(tuán)體組織,目的是為了在美國政府中實(shí)現(xiàn)語義互操作性。在一個(gè)大型機(jī)構(gòu)中,存在數(shù)以萬計(jì)的數(shù)據(jù)庫、數(shù)百萬的數(shù)據(jù)元素和文檔。要形成一致通常是不可行的,也是不可能的。SICoP 可幫助人們一起更有效地協(xié)作。
最佳實(shí)踐二:胸懷長遠(yuǎn)目標(biāo),以增量方式向戰(zhàn)略遠(yuǎn)景靠近
成功的語義集成的關(guān)鍵在于胸懷長遠(yuǎn)目標(biāo),然后以增量方式向戰(zhàn)略遠(yuǎn)景靠近。“胸懷長遠(yuǎn)目標(biāo)”表示要制定戰(zhàn)略遠(yuǎn)景,并且盡可能利用各種不同的活動(dòng),如 SOA、數(shù)據(jù)倉庫操作和法規(guī)遵從。這些活動(dòng)通常要求多個(gè)業(yè)務(wù)單位之間進(jìn)行協(xié)作,并要求進(jìn)行企業(yè)級(jí)的文化變更。一個(gè)戰(zhàn)略性的、共同認(rèn)可的遠(yuǎn)景不僅給各個(gè)參與者帶來實(shí)實(shí)在在的好處,而且可以幫助贏得絕對(duì)必不可少的支持者。“以增量方式向戰(zhàn)略遠(yuǎn)景靠近”表示要制定增量式的計(jì)劃以實(shí)現(xiàn)遠(yuǎn)景目標(biāo),并且需要制定數(shù)據(jù)控制流程,以迭代的方式交付切實(shí)可見的成果,評(píng)估進(jìn)度和不斷地修改執(zhí)行計(jì)劃??偠灾?,戰(zhàn)略遠(yuǎn)景和良好的執(zhí)行都是十分關(guān)鍵。
當(dāng)企業(yè)遷移到 SOA 時(shí),無論他們是否進(jìn)行自頂向下或自底向上的服務(wù)分析,如果遷移工作還沒有開始,此時(shí)都是考慮是否包含 EDM 和 MDM 的合適時(shí)機(jī)。上面的兩個(gè)模式都提高了語義互操作性和數(shù)據(jù)質(zhì)量,可保證數(shù)據(jù)服務(wù)的服務(wù)水平協(xié)議(Service-Level Agreement,SLA),而且降低了總體擁有成本 (TCO)。它們可能對(duì)于實(shí)現(xiàn) SOA 的承諾具有深遠(yuǎn)的影響;這個(gè)承諾即使用 IT 從長遠(yuǎn)的角度提高業(yè)務(wù)靈活性、增加收益和降低 TCO。
最佳實(shí)踐三:重用語義集成資產(chǎn)
ESB 的一個(gè)主要功能是將消息從一種數(shù)據(jù)格式轉(zhuǎn)換為另一種數(shù)據(jù)格式,以確保服務(wù)的使用者和服務(wù)的提供者能夠互相通信。在 XSLT 文檔中捕獲的轉(zhuǎn)換邏輯可以提供很多的重用好處。不僅可以供其他業(yè)務(wù)流程重用,ETL 和應(yīng)用程序也可以對(duì)其進(jìn)行重用。類似地,ETL 工具所使用的語義轉(zhuǎn)換資產(chǎn)還可以公開為 Web 服務(wù),以便由其他應(yīng)用程序進(jìn)行重用和調(diào)用。
最佳實(shí)踐四:采用和參與行業(yè)標(biāo)準(zhǔn)
有許多處理語義互操作性的行業(yè)標(biāo)準(zhǔn),其中包含了垂直行業(yè)和水平行業(yè)的數(shù)據(jù)和數(shù)據(jù)模型標(biāo)準(zhǔn)。采用和參與行業(yè)標(biāo)準(zhǔn)使公司能夠利用整個(gè)行業(yè)的最佳實(shí)踐,從而減少了語義互操作性的長期成本。
選擇軟件供應(yīng)商時(shí),一個(gè)重要的標(biāo)準(zhǔn)是確定其是否支持相應(yīng)行業(yè)的 DIM、如何無縫地支持內(nèi)部數(shù)據(jù)模型與 DIM 之間的集成以及如何管理后續(xù)的變更。為了促進(jìn)更廣泛的語義互操作性,IBM 已經(jīng)成為各種行業(yè)標(biāo)準(zhǔn)的有力支持者。例如,2005 年 9 月,IBM 向 ACORD 無償提供了 100 多個(gè)業(yè)務(wù)流程模型、模型定義以及其他行業(yè)信息。
結(jié)束語
IT 世界在不斷地發(fā)生變化,因此,語義互操作性也是一個(gè)不斷發(fā)展變化的目標(biāo)。我們的第一個(gè)假設(shè)是,變化是不可避免的。業(yè)務(wù)方面永遠(yuǎn)不會(huì)出現(xiàn)一勞永逸的情況。業(yè)務(wù)始終需要對(duì)客戶需求、趨勢、經(jīng)濟(jì)情況、法律法規(guī)和競爭進(jìn)行適應(yīng)。我們的第二個(gè)假設(shè)是,我們處在一個(gè)信息時(shí)代,語義互操作性的挑戰(zhàn)只會(huì)增加。除非我們確定了語義互操作性的反模式、模式和最佳實(shí)踐,否則我們的決策就不能夠有效地解決問題。我們的第三個(gè)假設(shè)是,世界是混亂的。我們力所能力的事情是創(chuàng)建或利用各種工具和方法,在一定范圍內(nèi)對(duì)混亂加以控制。語義互操作性實(shí)際只是一個(gè)秩序形式,我們將它運(yùn)用于我們的世界,使我們能夠控制混亂,并使普遍存在并不斷增加的信息有意義??刂苹靵y還意味著我們需要清楚地理解我們的選項(xiàng)以及每個(gè)選項(xiàng)的成本和好處,并減少變更帶來的不良后果。
希望本文所討論的反模式、模式和最佳實(shí)踐將幫助您為您的 SOA 工作選擇合適的方法來實(shí)現(xiàn)語義互操作性。需要強(qiáng)調(diào)的是,使用單個(gè)模式、組或標(biāo)準(zhǔn)并不能解決語義互操作性中的所有問題。
聯(lián)系客服