數據整合介紹
眾所周知,多年來信息的發展迅速,技術更是日新月異。然而多方面的信息建設及自然的沿續,雖然各自取得相當的效益,卻也造成了一座座的信息孤島,阻礙了進一步的信息運用及更大的統合效益。因此,在城市數字化的過程中,一個很大的課題就是數據的整合。本文就數據的整合的整體做個簡單而全面性的探討,比較Oracle公司對數據整合的觀點和策略,并對Oracle在各個相對的層面所提供的整合工具逐一介紹。
數據的整合的需求和目標
數據整合的目標
可操作性、易操作性
具準確性、無冗余性
可管理性、易管理性
可導航性、易共享性
具一致性、標準性、易交換性
傳統體制框架下的大規模高速信息化投入,造成的是嚴重的信息孤島現象,信息整合成為信息化建設的迫切要求,這與世界各地IT建設從物理連接轉向邏輯連接的需求是一致的。對分散異構信息資源系統實現無縫整合,并在新的信息交換與共享平臺上開發新應用,實現信息資源的最大增值。架構信息資源管理系統,實現對信息資源的有效管理,來整合信息資源,實現信息資源在企業內部以及企業之間的傳播和共享,并在企業個人、組織、業務、戰略等諸方面產生價值和信息增值的過程。
信息資源的管理環境是指通過制定統一的、強制的、自上而下的法規、標準及規范,以明確信息資源管理階段各種技術框架與規
范,所有相關系統的設計與應用都必須遵循相關法規、標準和規范。信息資源管理階段的服務則是要通過整合服務記錄數據庫、服務知識庫、服務管理對象資源目錄庫、服務管理規則庫,以搭建服務管理平臺,在這個平臺之上,實現求助響應管理、變更管理、資產管理、服務等級協議管理等多項功能。
信息資源從建設階段走入管理階段后,對身在IT或應用IT、關注IT的人來說,面對一個直接的挑戰就是,必須用與變化相適應的思路和方法來解決信息資源管理階段的問題。信息資源管理階段一個突出的問題就是,必須通過對信息資源的整合來聯結無數的信息孤島,以使得信息能夠有效實現可控、實時的共享,而同時又能保證信息的安全。
綜上所述,整合后的數據要:
● 便于應用的掘取、操作,發揮最大效能
● 集中而單一的數據
● 避免重復輸入更新,提供即時準確的資訊
● 統一管理,降低費用,提升效能、增進安全
● 整合后的數據可集中描述(元數據),便于搜索和共享
● 整合后的數據,具備一致、標準的格式,便于交換數據及系統的整合點
從技術觀點而言,我們可以由系統架構不同的層面,來考慮數據的整合。下圖是一般系統多層次結構的示意圖。包括訪問/展現層,應用層,中間層,應用數據層和基礎數據層。這種層次分明的結構是現代軟件發展的基礎。從所述及的特定層面為平臺,我們可以考慮數據在該層面的意義,互動的配合,及應用的需求,采用相對的技術,以該層為整合的切入點,將相關、互動的數據整合于該層面,以便該層面或其他層面的應用的數據運作,達到數據整合的目標。如不同數據源可透過URL的鏈接或Portlet的編排,以疏散的形式(僅僅將數據簡單組合呈現于同一網頁里)從Web展現層達到數據整合的基本目標(可是難達到整合數據的運算、分析的功能)。在應用層,可以標準B2B的協議,將整個物件(如訂單)為單位(甚至其上的運算)進行組合、交換,達到高度的整合效益。其他如中間層,將數據包以消息的傳遞的模式,來組建、整合各個應用服務之間的數據需求。又如,一般透過各種數據庫間的網關,鏈接可以將遠程、異構數據庫的不同數據源整合于一個邏輯的數據庫中。而非結構式的各種文檔、圖象、影像等等,也可以XML的統一定義來共同格式的描述,達到整合的初步基礎。
2004/3/20Confidential –Oracle internal only數據/系統整合點基礎數據層基礎數據層統一數據模型/計劃統一數據模型/計劃分布式,數據庫鏈接分布式,數據庫鏈接應用數據層應用數據層安全安全中間層中間層客戶端客戶端圖片地理信息聲音/圖像文本知識庫元數據網關應用層應用層門戶/WEB訪問層門戶/WEB訪問層數據交換XML歷史數據庫非結構化異構數據庫數據字典進程進程目錄目錄交易交易協議協議事件異步數據庫B2B 消息URL開放API貿易伙伴Portlet水平應用水平應用垂直應用垂直應用個性化定制個性化定制緩存緩存頁面封裝頁面封裝客戶端客戶端應用程序包網站用戶定制應用Doc垂直應用垂直應用垂直應用垂直應用垂直應用垂直應用用戶定制應用用戶定制應用
綜上所述,歸納每個層面整合的要點:
● WEB訪問層:簡單的URL鏈接訪問 或 Portlet應用
● 應用層
數據及系統的整合點
WEB訪問層
應用層
中間層
應用數據層
基礎數據層
● 同級應用 或 垂直應用
● 外部業務應用 (B2B 標準)
● 中間層_
● 同步類型 或 異步類型
● 消息傳遞型 或 應用程序接口型
● 應用數據層_
● 網絡數據庫 或 本地數據庫
● 同構數據庫 或 異構數據庫
● 基礎數據層:在線數據 或 離線數據
透過應用,整合數據的切入點 – 技術和機制應用數據平臺如前所述,我們可以由應用的觀點,來考慮數據的切入點。門戶整合平臺的技術重點在于高速緩存(來支援海量的需求)及動態修正,即時調整頁面個性化的資訊(無需重回數據庫運算)的高效功能。
整合平臺:應用觀點
門戶平臺
應用平臺
中間平臺
應用數據平臺
應用整合平臺的技術,包括對工業、行業標準的支持(如RosettaNet, UCCnet, HIPAA)支援獨占型API及通用型接口的適配器,通用服務和組件。
中間整合平臺的技術,包括各種體系,如安全控制,目錄控制,交易控制,進程控制(工作流控制),協議控制等等機制,讓不同的數據源在這些范圍,透過這些機制,達成整合。
應用數據整合平臺的技術,可由本地數據庫及異地(網絡)數據庫來看,也要由同構數據庫或異構數據庫來區別,基本的核心整合技術和機制,包括消息傳遞,數據同步、數據復制,以及透明、程序網關,事件的產生和捕獲,開放的接口(ODBC,JDBC)等等底層機制的支援。請參看下面(從數據庫的考量)章節中進一步的敘述。
數據源的整合順便一提的是,數據源的整合。當今還有很多數據本身尚未電子化、標準格式化,尚未結構化。(如各種文檔、圖象、影像等等),企待以共通的標準格式或能自我描述的統一定義(如XML)來建立可操作、可交換的數據,透過對這些不同數據源轉換的支援,才能有進一步整合的初步基礎。更重要的事:要有統一的數據模型架構,讓不同的數據源,直接整合于統合的關聯數據庫,便于其上各種應用的建立。
基于數據核心建模的數據整合: Oracle信息架構
如上所述,從應用觀點,有種種切入平臺可來達成數據整合,各種手段和相關技術更是不一而足。然而,這種途徑、方式是基于既成的復雜的現實,或接受復雜技術的導引,結果是越來越復雜的整合和越來越復雜管理。Oracle有一個基于核心建模的數據整合的觀點,可以從根本上解決整合的復雜度:Oracle信息架構(OIA),請參
看本文末段對此的論述。
數據的整合 – 從數據庫的考量
一個很好的整合點,當然就是從成熟、標準而直接的(關聯)數據庫入手。有下列幾個重點步驟:
從數據庫的整合
數據庫間的整合
空間數據庫(含影像)的整合
一般文件(含多媒體)等非結構化、非數據庫的整合
首先是各種數據庫間的整合,需要考慮同構數據庫之間或是異構數據庫之間的不同的統合特性。
同構的數據庫,有著統一的數據模型, 相同的數據字典;可以DBLINK,將分布式數據庫的聯合,可以視圖(VIEW),事件產生?處理,架上觸發器(Trigger)的機制, 將相關數據表做有機組合。對于異構數據庫(包括和非關聯數據庫的整合)也可以運用網關技術,包括透明網關,程序網關,或客制化(驅動)代碼的方式來(實時或非實時)屏蔽數據庫間的異構性。接著再應用消息的技術,也就是對事件驅動和管理(運用Advanced Queuing),進行數據的交換和整合。
接著是把特別的、專業的各種數據庫和一般性的數據庫之間的整合。一個常用而突出的例子就是對重要的地理、空間數據庫(含影像)的整合。若能在單一數據庫中同時處理空間數據,如矢量(Spatial)、空間柵格(GeoRaster)和一般屬性數據,就能自動整合這些專業的數據庫。
空間數據的整合,也牽涉到各種地理數據間的整合。因為空間地理數據有很多不同的標準,要解決不同格式間的轉換和操作上的支援。
最后,更進一步,將一般文件(含多媒體)等非結構化、非數據庫的信息整合。一個簡單的方法是將一般的檔案、文件系統納入數據庫,透過WebDAV界面搬到網絡。這樣可以達到初步的數據整合的效益(集中管理,統一目錄,聯合搜索),也可享受最新網絡科技帶來的極大方便性。至于既存、老舊的數據(包括尚未電子化的信息),藉著推動XML標準的契機,來界定儲存、交換標準,重新建立可運作的電子文檔。
重點是應借助數據庫在這方面的一整套的工具(XMLdb)將XML垂直式的資訊展現于關聯性數據庫中(以利搜尋、映射、轉換和管理),以免日后又要面對另一番數據整合的大問題。
數據的整合 – 從數據庫的考量:相關課題數據的導航
數據描述
數據目錄
數據搜索
數據的交換
對等(數據不落地)
共享模式
數據的發掘
數據的安全
數據的可用
7x24,叢集技術和網格運算
數據的健全
自動即時恢復
備份和容災
數據的管理
數據的遷移
庫整合更牽連很多相關課題,事實上這些課題更反映出從數據庫整合的優越性和成熟性。因其涉略很廣,各有專題探討。
本文僅做概略描述和提要。
數據的導航從數據描述,包括元數據的采集和發布,當然要依托可通用、可互訪的元標準,或者建基于XML的自我描述性,通用和標準性。數據目錄是一定規則排列的對象的屬性集合,集中控管(分布式結構的)屬性數據。一般采用流行的LDAP的標準,可以輕易的管理和互訪、互換如用戶、資源等等數據。至于應用的信息,尤其是服務或程序層次的資訊,也可以現今網絡Web Service的標準UDDI知識庫注冊,自動解析網絡域名、發現節點,達到自動導航、操作的目的。數據搜索的解決方案繁多,要注意的是應能集成網絡、非結構數據和數據庫的全面性的全文檢索,畢竟數據未能整合,再好的程序、應用都很難達到完美結果。
數據的交換有因應國內特殊環境的對等需求(也就是數據不落地)的模式,一般以兩造斯密協議,加上特殊的安全(加密)通道來達成。正常情況講就的是多多共享,要求效率。此時要有整合中心(iHub)的概念,要能支援共通格式,加上(外圍星狀)適配器來制造完善的交換環境。
數據的發掘 從數據倉儲一直到數據發掘、商業智能,這經常是數據整合的最終目標,種種的非凡的技術能充分表現出數據整合的最高效益。不過,這些分析都得建基于數據的抽取、轉換合上載(ETL)。若數據已然整合于統一的數據庫,就容易推動對數據的有效、即時的發掘。同時,完備的數據庫也提供了很多數據倉儲、數據發掘和商業智能的支撐和工具。
數據的安全是大家關心的課題,需要全程的、最完密的保護。一般而言,數據庫比起檔案系統、中間件、作業系統可提供更強大而完善的安全。
數據的可用性是要能支援隨時待命,日復一日(7x24)的可用性。這通常要借助于叢集技術,甚至于網格運算。
數據的健全性要能應變各種緊急的狀況,數據能自動和即時的恢復到準確的狀態;要有備份和容災,等等高可靠性的方案。
數據的管理是時時要面對的課題,要能有方便的工具,來管理各層服務器上的眾多數據的訪問效能、權限,資源配置的靈活和擴充性。
數據的遷移是將舊有的不同格式的數據,轉換,要能有方便的工具。
上面所提到數據整合的相關課題,從數據的安全性、可用性,健全性、易管理性、一直到數據的遷移,其實在成熟的數據庫大都有了很完整的解決方案了。
結論:幾個方向
駕輕就熟:向關聯數據庫整合
縱上所述,對于數據本身的整合,可以從數據庫入手,先將所有的基礎的、一般的、專業的數據,靠向最健全的關聯數據庫整合,立即享受所有最成熟的關聯數據庫已有提供的、如上述的種種好處。這種非針對某些應用,的全面數據整合,可以直接面對數據整合的核心問題,同時處理數據整合的相關課題,并可加速各種應用間數據的共享(甚或根本消除數據整合的問題),其所帶來的相關效益,應是數據整合一個考慮的大方向。
以簡馭煩:向單一(邏輯)關聯數據庫統一, 向單一(物理)關聯數據庫合并基于整合關聯數據庫的種種好處,我們可以更近一步朝單一數據庫統合的方向努力,先將各種數據整合于邏輯上為單一的數據庫。這里當然會遭遇很多挑戰,在數據模型的設計上,最重要的是保持模型的靈活度。支援面向對象的關聯數據庫,基本上提供了數據列表間的各種組合、運算的及其擴充性,若能對物件間的關系也有完善的無限擴充支援,應可藉以建立單一數據配置方案模型(Schema),畢竟萬事萬物總離不開物件和之間的關系。至于若能整合于單一物理的數據庫,主要是為了運作上的更高效能和管理上的更高效率等等各項的高指標。
保持靈活:以標準模式的中間件為整合平臺
對既有的應用間,若無法從數據庫來整合數據模型,此時,最好的方向,就是搭建完全開放、靈活的中間件整合平臺。既然不能從數據模型來根本消除數據的整合,可預見的是,不斷的新應用,不斷更動,不斷的整合需求。沒有整合而統一的數據模型,也就沒有一定的整合方向,我們只能提供一個有效率、靈活的環境,配上先進的、容易上手的工具,讓需要整合的應用間,透過圖像介面的引導,探討出相關的數據,選擇適用的機制,訂定數據和應用的流程。這個系統最好一方面要有引導應用間整合的模擬,其后配備以知識庫支援,能夠紀錄不同的整合模型演練;另一方面能提供實際整合時的環境運作,例如,能自動轉換不同數據間的格式,并能產生不同應用間的適配器。
緊緊相扣:大型應用整合的整合
對于錯綜復雜的超大型行業應用,一般會強調透過大物件的整合(例如以 - 訂單,為單位)。近來,由于各行業標準的訂立,不必須針對各廠家各自私有的物件訂義而努力,可以有比較廣泛可循的整合方式。不過,我們要指出,各標準間關心的層次,如前所述,從較底層的標準,如Trading Community Architecture(TCA),往往能提供更廣泛、更一致性的規范,往往能達到對所有,包括跨行業的種種應用的全面而緊密的整合。
Oracle整合觀點和整合方案:
談過數據整合的種種課題,我們再來看看Oracle公司在各個層面做數據整合的的觀點和所提供相關的整合方案,包括對一些產品和工具的簡介。
首先是Oracle各種整合切入點的大略圖示:
Oracle整合方案和工具:數據庫的架構
接著是Oracle數據庫的整合方面的有關架構,早在Oracle數據庫8i的版本,就完全具備下列的,對健全基本架構,
● 面向對象(Object Oriented)的支援
● 分區(Partition)的支援
有了這些成熟的基礎,很容易對信息整合提供完善的平臺,舉幾個Oracle數據庫中支援信息整合的例子:
● 檔案系統(File System)- 網絡文件夾(Internet File)
● 空間矢量(Spatial)和空間柵格(GeoRaster)– SDO
● XML的全面支援 – XMLDB
現在,Oracle數據庫10g的版本,大步邁向網格運算,為更深、更廣的數據和運算的整合,平鋪了更寬廣的道路:
● 數據儲存 (Data farm) 的叢集
● 服務器(Server farm)的叢集
● 數據庫(Database cluster)的叢集
● 應用服務器(Application Server cluster)的叢集 數據整合 Page 14
Oracle整合方案和工具: 應用服務器的整合方案
再來看看,Oracle應用服務器(Application Server)的架構和特色和其包含的全套整合方案:
● Oracle 門戶(Portal)整合特點
● 頁面封裝引擎
● Portlet引擎
● 個性化定制門戶
● 用戶管理,會話管理(Runtime)
● Oracle 應用平臺整合特點
● 完整固化的集成解決方案: Oracle e-Business Suites
● 支持Trading Community 體系結構和標準B2B工業標準
● 能夠與第三方應用充分接合的開放型接口
● 完全兼容對 SAP,PeopleSoft,乧 系統的整合
● 安全控制 – 集中授權
● 單點登陸, 集成訪問
● 目錄訪問控制 – 集中認證
● 集成的身份鑒定,Oracle Internet Directory
● 工作流控制
● 靈活的系統聯合工藝,方便和第三方應用系統的集成
● Web Services集成
● J2EE (JCA,JMS)
● UDDI / WSDL
● SOAP
Oracle應用服務器 整合工具的光譜
下圖可以一覽Oracle整合工具的概貌:
從抽象程度區分(例如DBA從具體的數據表格,研發人員從程序和表格欄位的互動,到分析師的物件模型觀點),從不同的整合難度區分(數據導向,程序導向到模型導向),各種工具,一應俱全。
Oracle應用服務器 整合工具: iHub
Oracle AS整合工具iHub 提供了:
● 聯合中心的架構
● 連接性(適配器)
● 各種格式轉換
● 工作流引擎
● 商業智能
● 操作管理和安全及私隱性
以下介紹兩種Oracle整合工具:Process Connect適合需要模擬復雜業務流程,而InterConnect則注重消息流(含數據流)的搓合及接口,他們都是
● 不必撰寫程序
● Meta Model
● Declarative
● Interpreted
● 整合于單一的工具
● Process Modeling
● Data Management
● 3rd Party Connectivity
Oracle應用服務器 整合工具: InterConnect
Oracle AS的整合工具InterConnect 提供了:
● 可視的設計工具
● 公共視點的元數據 (由標準視點來詮釋業務物件)
● 強大而且可擴充的格式轉換
● 成套的應用和技術適配器
● 運行環境
● 內容導向的消息路由傳遞
● 可經由軟件開發工具箱來擴充所需
Oracle AS整合工具: ProcessConnect
Oracle AS的整合工具中ProcessConnet 有下列特性:
● 支援模型設計的知識庫
● 支援運行的知識庫
● 商業智能
● 應用的適配器
● B2B間協議的引擎
Oracle應用服務器 整合工具: 主要構件
由下圖(紅色區塊)可以知道Oracle AS整合工具中的主要構件如:
● 適配器:翻譯、驗證、轉換
● 業務流程
● 流程監控
● 流程優化
Oracle應用服務器 整合工具: 適配器及工具箱
下圖是Oracle AS整合工具中各種適配器的匯總:
Oracle應用服務器 整合工具: 全面整合于單一產品
由下圖可見各種Oracle AS提供的整合工具,本身也整合于單一產品之中:
Oracle應用服務器 整合工具: 業務流程的最佳化
透過Oracle AS整合工具可將業務流程的最佳化,參看下圖:
Oracle應用服務器 整合工具: 電子商務套件的整合
Oracle的電子商務套件,透過Oracle應用服務器,可以和大型主機上的應用、套裝軟件、B2B間的整合,以及和數據庫、中間件消息傳遞等如前些章節所述的方式整合:
Oracle整合工具: 其他方案和工具
以下提一提Oracle 在這相關方面的其他方案和工具:
● 移植數據
● Oracle 移植工具 (Workbench):將其他RDBMS數據或者應用數據轉換Oracle 數據庫要求的格式
● 訪問歷史數據
● 數據倉庫的一系列工具和支援, 商業智能的統合
● Oracle XML數據類型:將非結構化的數據映射為數據庫表列
● 訪問大型機數據的工具 (例如 CICS 適配器)
● 數據庫建模
● Oracle Designer 能提供數據建模,且自動生成應用系統原型
● 知識庫和中間件管理
● Oracle 9iAS 能夠管理的項目: 產品/管理/安全/門戶/元數據
● Oracle Enterprise Manager 能夠管理所有的數據庫、中間件 數據整合 Page 25
結論: 自然的選擇
全面深入整合于最成熟、強大的數據庫 – Oracle DB
采用健壯、開放而全面的應用整合平臺 – Oracle AS
所以,為了
● 高擴展性, 高穩定性, 高可用性
● 高效能調優
● 高效管理
● 高安全性
● 高成本效益, …
Oracle DB 和Oracle AS是數據整合方案的自然選擇。
Oracle前瞻: Oracle信息架構(OIA)
Oracle信息架構基于整合關聯數據庫的種種好處,我們可以更近一步朝單一數據庫統合的方向努力,先將各種數據整合于邏輯上為單一的數據庫。這里當然會遭遇很多挑戰,在數據模型的設計上,最重要的是保持模型的靈活度。支援面向對象的關聯數據庫,基本上提供了數據列表間的各種組合、運算的及其擴充性,若能對物件間的關系也有完善的無限擴充支援,應可藉以建立單一數據配置方案模型(Schema),畢竟萬事萬物總離不開物件和之間的關系。至于若能整合于單一物理的數據庫,主要是為了運作上的更高效能和管理上的更高效率等等各項的高指標。
Oracle前瞻: 例子 - 數字城市和電子政務的基礎架構
一個基于Oracle信息架構的例子是以市民為核心建模的信息架構,整合所有基礎(人口、經濟、工商、政務,。。。),空間(地理、管線,。。),文件檔案等等信息于單一的信息庫中,據以發展各項公共服務和特殊專業應用,來建設數字城市和電子政務。
數據整合方案技術白皮書
2004年4月
作者: 張中甲 (Peter Chang)