概述
DataExchange是“Data”與“Exchange”,兩個單詞組成的複合名詞,常用於數據交換領域。
UniEAP DataExchange是一款可以快捷打造數據中心(倉庫)、數據遷移、數據同步、數據交換等領域的數據集成解決方案平台類產品。
為什麼需要數據集成
隨著信息技術套用的快速發展,大中型企業和機構紛紛建立起龐大而複雜的IT系統,企業對系統整合的需求持續增強。越來越多的中國企業在重視套用集成的同時,越發的將數據集成作為企業信息化的重要支撐系統之一。
數據集成概述數據集成指的是把不同來源、格式、特點性質的數據在邏輯上或物理上有機地集中,從而為企業提供全面的數據共享。在企業數據集成領域,已經有了很多成熟的框架可以利用,比如數據聯邦邏輯集成方式、數據中心和數據倉庫物理集成方式,這些技術在不同的著重點和套用上解決數據共享和整合的解決方案。通過數據集成,企業可以訪問所有分散的數據,可以對核心信息資產進行準確一致的描述,並便捷地利用企業中的這些資產推進業務決策和運營過程。參考各個行業和業務系統套用場景對數據集成需求重點的不同,數據集成的套用領域可以概括為數據遷移、數據交換(同步)和數據整合。
數據集成的驅動需求中國企業使用數據集成作為解決企業數據碎片、數據孤島問題的方案,主要受三方面需求的驅動:來自相關政策和法規的要求。例如中國銀行業的“1104工程”,旨在建立新一代銀行監管信息系統體系。企業要遵從這些政策和法規,進行數據集中勢在必然。實現差異化競爭的需要。例如以中國電信企業為代表,企業只有通過數據集成,在制定策略方針時才能獲得全面有效的數據依據,從而在市場競爭中占領先機。企業併購帶來的需求。例如以中國製造業企業為代表,併購方在實施併購前不但要獲取被購方的詳細數據信息作為參考,而且在併購後,還必須通過數據集成將其財務數據、運營數據、客戶數據遷移到自己的系統中。
所面臨的數據集成問題從零起步的中國企業信息化建設,經過將近20年的不斷摸索和經驗積累,已進入深化套用的階段。特別是在最近10年,通過升級原有系統已經不能滿足中國企業飛速發展的業務需求,為了滿足業務的發展需求,中國企業出現了大量的新建軟體系統。新建軟體系統可以快速的使用新技術解決企業的業務難題,而不必受兼顧原有系統的既有功能的制約。但是,中國企業眾多的新建軟體系統會導致數據源分散、異構資料庫難以訪問、數據接口複雜度增加等問題。美國企業目前更多的通過原有系統改造、升級或整合來實現業務需求,新建軟體系統的比例則相對較小。所以,中國企業將面臨比美國企業更加複雜的數據環境。
當前中國企業在構建數據集成系統中遇到的主要問題有:
數據環境複雜,由於缺乏統一的規劃,各種軟體系統和異構數據源之間無法實現數據的共享和互聯互通,導致了數據的冗餘、不完整。
數據的遷移和交換往往要跨多個網路域,甚至是物理隔離域,缺少集中的、系統的管理控制中心,操作過程複雜,降低了數據的可控性。
各種業務之間基於網狀、分散、獨立的互聯模式下的數據交換難以保障數據的安全性,且系統維護管理成本過高。基礎架構脆弱,缺乏標準的、一致的技術規範。需求變更導致的功能擴展與修改極其困難。
產品能做什麼
UniEAP DataExchange是旨在解決政府、組織結構較複雜的企業內部和跨企業、跨機構構建數據集成過程中的數據交換問題為重心的通用數據集成產品。通過構建面向服務架構的集中式數據集成伺服器,UniEAP DataExchange能夠為企業在分級網路環境,跨網路域和物理隔離域的數據遷移、數據交換任務的定義、管理、監控以及異構數據源格式轉換映射、元數據管理、資源管理提供完整的開發、管理、控制平台和解決方案。
產品典型套用場景
UniEAP DataExchange為中國企業在複雜的數據環境下開發數據集成項目提供了全面的支持。在深入研究了中國企業在實施數據集成項目過程中可能遇到的問題的基礎上開發了包括ETL過程定義、任務定義與監控、基於cwm標準的元數據管理、增量數據捕獲、FTP、HTTP方式數據傳輸等數據集成核心功能在內的系統平台和功能組件。產品實現了在單個Web端管理控制台完成跨域複雜部署結構下的數據遷移、交換任務的定義、監控與調度。控制台與服務的松耦合關聯使得在多個數據集成服務節點之間靈活切換登入成為可能,能夠對運行環境系統資源的統一集中式管理。
基於對不同行業用戶數據集成項目套用場景特點的分析總結,歸納出UniEAP™ DataExchange產品的典型套用場景大致可以概括為以下三種:
在多個分級域之間(如省級、市級、縣級單位之間,集團、集團所屬院所以及院所所屬廠之間)開發數據遷移、數據交換流程。場景主要特點是部署環境跨地域和網路域範圍較大,各個域內數據訪問相對獨立,域間數據訪問規則按所屬級別嚴格控制。基於UniEAP DataExchange開發這種套用場景數據集成項目需要在各級單位域內部署獨立的數據集成服務節點,開發人員通過統一管理控制台開發、協同控制各服務節點對應的任務,定義任務的調度,數據的抽取、傳輸、載入和訪問規則。相比傳統開發方式,UniEAP DataExchange能夠以更加靈活便捷的方式滿足客戶需求。
點對點數據交換該套用場景下用戶一般需要實現對分布在不同域內兩數據源之間點對點的業務數據交換過程。場景主要特點是數據傳輸環境複雜,對數據傳輸的安全性要求比較高,有數據傳輸專用的網路環境,區域網路與專用網之間往往有物理隔離或網閘,有可能需要人工參與數據傳輸。UniEAP™ DataExchange提供了跨物理隔離或網閘隔離域之間數據傳輸的完整解決方案,提供可定製、安全的數據傳輸方案,在處理該套用場景所面臨的問題方面遊刃有餘。
域內數據集成該套用場景下用戶一般需要實現組織內部多數據源到數據中心的數據整合過程。場景主要特點是數據源類型多樣化(資料庫、XML、Excel、Access等)、數據格式複雜。
產品價值體現
開發成本低通過圖形化工具編排數據集成組件服務構建數據集成業務流程的方式使得開發過程更加直觀,省去了大量的編程工作。
易於整合復用UniEAP DataExchange中心端與數據採集端採用同樣的服務互動模式,最大程度地保證了實時互動、增量數據抽取、線上監控、遠程管理、線上升級,為整合復用企業內異構信息系統的數據資源提供了良好方法。
部署方式靈活面向服務的組件化設計使得UniEAP™DataExchange系統部署方式靈活,可獨立部署,也可無縫集成進套用整合平台中,可根據實際情況做彈性部署。
開放的服務架構在業務邏輯與基本數據分離的情況下, 開放的服務體系架構以組件化的數據集成服務方式提供這些數據資產的透明訪問。
產品特性
UniEAP DateExchange 基於ETL引擎、任務引擎、流程引擎以及面向服務數據集成架構實現了數據集成系統開發套用平台,產品關鍵特性主要有:
分布異構業務資料庫之間數據的遷移,基於網路環境和安全性實現多點部署和統一管理;圖形化ETL定義工具,快速的定製開發數據抽取、轉換(清洗)和載入任務;遠程管理與監控,統一管理、調度,實現全局總控與系統自動化運轉;錯誤處理與恢復,實現系統內自動識別與處理故障,減少人工參與;多種增量抽取方案,增加數據同步的高效性、降低網路傳輸的資源占用;系統自動更新,快速部署新功能與缺陷的快速修復,降低人工升級維護成本。
系統提供多種系統版本的安裝,包括windows、Linux等,不依賴於系統軟體,可以在任意的伺服器上部署,無需安裝到源資料庫或目標資料庫系統系統;
採用B/S/S模式,提供web管理界面以及服務接口,允許界面管理和接口方式管理,支持遠程管理和監控;
支持分散式環境下的整體監控,提供節點網路拓撲管理;
支持基於資料庫表、視圖的數據同步,在不改變原有資料庫系統結構,不侵入資料庫系統的前提下,完成針對於表、視圖的數據抽取、轉換以及目標寫入;
兼容主流資料庫間的數據同步,包括Oracle、DB2、SQLServer、Sybase、Mysql等,同時能夠針對不同的數據類型進行無編碼方式自動轉換,支持大欄位;
支持XML檔案、CSV等檔案數據源的讀取;
支持各種欄位級的映射轉換,如類型轉換、欄位拆分、欄位合併、字元串處理、日期轉換、算術運算、碼錶轉換等,同時提供自定義轉換接口實現特殊的數據轉換處理;
通過日誌、事務、故障處理等手段,保證系統運行的可靠性,以及業務過程的安全性,出現錯誤時,可以恢復運行,支持斷點續傳;
提供圖形化映射工具,支持源到目標的欄位細節映射,支持一對一,一對多,多對多的映射;
支持手動、自動調度任務執行,同時調度定義在無人值守的情況下,完成數據的準實時(秒級)同步、分發、上報;
提供多種增量數據捕獲配置,Snapshot增量數據捕獲可以通過映射工具進行配置,無需在源、目標數據系統中安裝任何程式,在系統內即可高效率的完成增量數據的分析捕獲;
支持多個無關聯任務並行執行,並且可以在監控頁面統一進行任務運行狀態的查看、管理;
提供多種處理接口,支持在任務啟動、完成、出錯狀態下觸發相應的處理接口;支持日誌的導出。
產品組成
UniEAP DateExchange採用面向服務的數據集成體系結構,以Web服務的形式構建數據遷移、交換等數據集成流程。為企業跨域的業務系統套用、業務流程等提供基於HTTP、SOAP和接口訪問方式的便捷的功能服務和系統管理控制。根據所處的邏輯層次的不同,系統體系結構可以劃分為任務引擎服務、流程引擎服務、組件服務、元數據服務和開發與管理工具。任務引擎服務通過構建基於EIP規範的服務模型封裝了數據集成套用模型中的典型套用。在組件服務層面上系統以Web服務的形式提供了ETL引擎、傳輸、錯誤處理、監控等基礎數據集成組件服務,為數據集成流程定義工具等平台中的其他依賴組件和商業流程的編排構建了支撐服務群支持。
系統平台以元數據服務為支撐,利用基於CWM、XMI、XML schema規範的統一的元模型定義規範描述訪問元數據定義,禁止了數據源中數據的異構性。提供了對關係資料庫、檔案和文檔及應用程式中的結構化、半結構化和非結構化數據的元數據抽取支持,實現對元數據的預定、及時、動態、隨需的訪問。按物理部署結構DataExchange可以劃分為以下三部分:
Web端管理控制台是基於RIA技術開發Web服務套用。提供了完整的系統開發、管理和控制頁面。能夠部署在Tomcat、WebSphere、Weblogic等多種套用伺服器。管理控制台的核心功能包括:元數據管理,主題管理,任務管理三部分。
元數據管理
元數據是關於數據的數據,尤其對於ETL來說尤其重要。ETL中大量的數據源定義、映射規則、轉換規則、裝載策略等都屬於元數據範疇,如何妥善地存儲這些信息已經關係到ETL過程能否順利完成而且影響到後期的使用和維護。
UniEAP DataExchange元數據管理採用OMG CWM 1.0標準,支持元數據數據存取、元數據的版本控制、基於OMG XMI 1.0規範的元數據交換、基於Web Service的元數據訪問和管理、元數據的分發與接收等功能。
主題管理
主題指的是為了滿足指定目的數據交換需求而創建的關聯節點之間各個數據抽取、傳輸、載入等任務的業務邏輯對象。主題管理基於訊息伺服器實現,可以實現多個數據交換平台直接的通信,提供基於發布、訂閱的方式交換元數據。元數據標準基於XML Schema標準。
任務管理
任務指的是對應單個節點上數據交換業務邏輯定義。任務定義關聯映射模板,以任務模板的形式保存在系統支撐庫。任務管理提供基於Web端圖形化界面方式定製任務。通過簡單的輸入,與映射模板關聯,用戶可以同時關聯多個映射模板。任務監控提供基於任務的執行、暫停、停止等操作。能夠監控任務各個步驟的執行情況,支持任務的錯誤恢復和數據斷點續傳功能。
包含DataExchange系統服務的Web套用,以War包的形式提供,包括各種組件服務、ETL引擎、任務引擎、傳輸等關鍵系統模組,並以Web Service的方式提供組件功能服務。
組件服務
組件服務為定義數據交換業務流程提供了基本的功能組件服務。包括ETL引擎、傳輸、錯誤處理、監控、元數據抽取等系統組件。ETL引擎負責執行映射模板定義的ETL過程,實現數據的抽取、轉換、清洗、載入等功能。對於跨地域分散式環境下的數據交換過程,需要通過傳輸模組將各個數據源中抽取出來的數據以指定傳輸方式(HTTP、FTP、訊息等)傳送到目的端。UniEAP™DataExchange提供了穩定的數據傳輸功能,支持斷點續傳、錯誤處理和過程監控,為動態可視化監控任務的正常運行和錯誤情況下的處理、恢復運行提供了便捷的途徑。
任務引擎服務
系統任務負責任務的執行與控制,控制訊息流程的運行和監控。提供了數據上傳、載入自定義任務、數據遷移、交換任務控制、監控和管理功能。
訊息流程引擎服務
封裝了UniEAP流程產品引擎功能的服務,提供流程引擎的管理控制、任務中流程流程的執行監控等功能。
元數據服務
為管理控制台元數據管理功能提供包括元數據抽取、導入、導出、存取等功能的完整服務。提供了對關係資料庫、檔案和文檔及應用程式中的結構化、半結構化和非結構化數據的元數據抽取支持,實現對元數據的預定、及時、動態、隨需的訪問。
UniEAP DataExchange映射工具是創建ETL流程模板的圖形化定義工具。其設計旨在使數據集成開發人員能夠簡單快捷地定義ETL流程中數據抽取(Extract)、轉換(Transform)、載入(Load)過程,設定相關屬性和創建數據映射。
基於eclipse平台開發的映射工具實現了對ETL過程的圖形化定義,映射模板管理,元數據管理等功能。ETL數據流程定義過程中的複雜性主要集中在數據映射定義和數據轉換過程定義兩部分工作上。為了降低複雜度,映射工具針對這兩部分工作提供了更加便捷的開發模式。工具中包含有三種類型的節點,分別是:輸入節點、轉換節點和輸出節點,分別對應ETL三個處理步驟。每個節點定義都以樹形結構直觀地展現了輸入和輸出,方便用戶以圖形化拖拽方式以隨需或按順序自動映射數據。
ETL工具的主要功能包括:數據映射定義轉換、清洗過程定義、增量數據抽取定義。
數據映射定義
通過映射工具可以定義關係資料庫之間、關係資料庫與XML Schema之間以及XML Schema之間的數據格式轉換映射,實現了關係資料庫類型的結構化數據與XML類型的半結構化數據之間數據的抽取、轉換、清洗和載入過程定義。當一個ETL過程沒有定義任何轉換時,映射工具提供了在輸入節點和輸出節點間進行自動化映射的操作,簡化了映射的操作過程。
轉換、清洗過程定義
數據轉換根據元數據模型,將抽取出來的數據通過一系列的函式、方法轉換成目標數據源所需要的格式。UniEAP DataExchange映射工具中以控制項形式提供了諸如字元串拆分、合併、替換、大小寫轉換、截取、統計等等常用的轉換控制項。用戶還可以根據需要通過實現自定義轉換類並修改配置檔案輕鬆添加自定義轉換清洗控制項。
數據轉換是將源數據結構轉換為目標數據的關鍵環節,其中包括數據格式轉換、數據類型轉換、數據匯總計算、數據拼接等功能節點。這些轉換可以在不同的套用場景下雖需編排定製。轉換過程可以定義為資料庫內轉換,也可以在數據流程中轉換。數據清洗指的是針對系統的各個環節可能出現的數據二義性、重複、不完整、違反業務規則等問題而提供的髒數據數據處理功能。系統允許通過條件抽取、過濾、篩選等手段將有問題的數據剔除或轉換掉。具體過程可根據實際情況調整相應的清洗策略。為了滿足特殊轉換清洗需求,系統還支持以接口擴展方式創建自定義轉換節點,能夠以修改XML檔案配置的方式增減映射工具中的轉換節點,方便用戶實現產品對自定義數據轉換、清洗功能的擴展。
增量數據抽取定義
增量數據抽取即CDC(Change Data Capture)是指在指定時間段內對目標數據源已改變,新增或已刪除數據的捕獲過程。UniEAP™ DataExchange支持的ETL過程增量抽取方式主要有:
1.狀態標誌位方式:利用業務表中標誌位欄位來實現增量數據的捕獲,用不同的狀態表示不同的資料庫操作,如1表示修改,2表示插入,-1表示刪除,0表示無變化,抽取時只抽取被改變的數據,已抽取的記錄將狀態置為0。
2.時間戳方式:利用業務表中時間戳欄位來實現增量數據的捕獲,數據變化時修改時間戳欄位數據,通過判斷時間進行增量式抽取。時間戳、標誌位方式增量捕獲結合使用可以實現指定時間間隔內增量數據的按操作類型的抽取,實現源端、目的端數據源的數據同步。
3.觸發器方式:針對每個要抽取的表建立觸發器,抽取操作只針對臨時表,這種方式實現簡單,但針對於數據變化頻率較高的業務場景會影響業務資料庫運行效率。
4.數據快照(Snapshot)方式:SnapShot方式允許在不改變原有資料庫結構,不侵入原始資料庫結構,不影響事務資料庫性能的同時完成增量數據抽取。這種方式通用性強,可維護性好,此方式增量抽取適用不能使用時間戳、標誌位、觸發器的系統,性能較高。
技術規範
基於J2EE規範基於OMG Common Warehouse Metamodel(CWM) Specification v1.1元模型規範的元數據定義。
基於OMG XML Metadata Interchange (XMI) v2.1 元數據交換規範開發的XML格式元數據描述。
符合W3C Schema 1.0規範的XML元數據定義。
基於W3C Web Services Description Language (WSDL) v2.0規範的Web服務描述。
更多內容可訪問UniEAP官方網站。