1 主數據和主數據管理的概念
主數據是指在整個企業范圍內各信息系統(實時操作、事務及分析型應用系統)間共享的基礎數據,從企業整個范圍來看,包括客戶(customer)、卷煙商品(item)、卷煙供應商(supplier),員工(employee)以及組織機構(organization)相關的數據。通常需要,為了實現主數據在整個企業范圍內的準確性(veracity)、一致性(consistent)、完整性(complete)目標,需要建立主數據管理系統(Master Data Management System,MDMS)。
主數據管理(Master Data Management,MDM)是指一組約束和方法用來保證一個企業內主題域和系統內相關數據和跨主題域和系統的相關數據的實時性、含義和質量。這是從深層次來說來說明主數據管理(MDM)的深度和復雜性,簡單的說,主數據管理(MDM)保證你的系統協調和重用通用、正確的業務數據(主數據)。通常,我們會把主數據管理作為應用流程的補充,通過從各個操作/事務型應用以及分析型應用中分離出主要的信息,使其成為一個集中的、獨立于企業中各種其他應用核心資源,從而使得企業的核心信息得以重用并確保各個操作/事務型應用以及分析型應用間的核心數據的一致性。通過主數據管理,改變企業數據利用的現狀,從而更好地為企業信息集成做好鋪墊。
2 流程簡介
流程是指企業運作的所有流程,即企業的所有活動都可以看作是一個個流程,流程是由若干個服務組成的,在IT技術上流程稱為工作流,服務稱為流程節點。在IT技術中,關于流程最早是以WfMC為代表的“業務流程開發商”,他們主要擁護以XPDL作為描述語言來描述業務流程;之后是以OASIS(Organization for the Advancement of Structured Information Standards,結構化信息標準促進組織)組織為代表的,被IBM,MicroSoft,BEA所擁護的BPEL/BPEIAWS規范;之后向來以規范著稱的OMG組織也不甘示弱,聯合BPMI組織,獨辟蹊徑以Notation Specification為入口,首先推出了BPMN規范,進而推出了BPDM(Business Process Definition Metamodel BPDM)。
在本文中流程,是指主數據在企業內信息系統間流轉的過程。流程部署流程服務器(WPS)上。流程監控(PM),是指基于BPEL標準的業務流程監控,主要實現系統和系統之間的整合,系統間數據的流轉,通過服務進行交互,服務是流程中的節點;通過服務進行數據的交互,實現主數據在各系統中的一致性。
3 主數據管理(MDM)平臺
企業可以看作是企業實體對象,包括組織、人員、產品等在不同的環境和條件下的不斷運轉的過程,實體對象和運轉過程映射到信息系統中,分別對應著數據(可以用ER圖描述)和業務流程(可以用流程圖、業務邏輯和業務規則描述)。數據和業務流程能夠全面反映實體對象及其運動的狀態。在現實社會中,實體對象的運動體現為一系列活動,在信息系統中,活動表現為一個流程節點,實體對象通過一系列的業務活動直至最終完成任務,在信息系統中體現為數據狀態的不斷變化,直到數據最終完成。
主數據管理是數據管理的一種高級形式,它必須構建于ETL或者EII(EntERPrise Information Integration)等技術之上,因此很多主數據管理平臺本身就包含了數據模型定義、數據加載、數據轉換、數據質量管理、數據質量優化和數據同步分發等功能。也有某些廠商把MDM作為數據集成產品的一個模塊交付給客戶。
4 主數據管理的分類
4.1 操作型主數據管理系統
這種類型的主數據管理系統主要用于實現在分步式的交易型數據環境中實現主數據的集成、協調、同步和控制。其強調核心商業數據在各個不同的交易系統中的準確和一致。其所使用的技術主要是EAI的技術。
4.2 分析型主數據管理系統
這種類型的主數據管理系統主要用于實現數據倉庫環境下的主數據的清洗、整合、集成等。其強調核心商業實體數據在數據倉庫中的準確、完整和可用性。其所使用的技術主要是數據集成和清洗的技術。
4.3 企業級主數據管理系統
這種類型的主數據管理系統需要在整個企業數據環境中控制、集成、協調和優化主數據。要在整個企業數據環境中實現主數據的準確、完整、及時和一致,從而最大化企業數據資產的價值。
煙草行業所建設的主數據管理平臺的最終目標就是一個企業級主數據管理系統。它將作為整個企業范圍內實現主數據控制、集成、協調和優化的中樞。在當前階段,其主要目標是實現在操作型環境中的主數據控制、集成、協調和優化工作,總體架構如圖1所示:
圖1
在該架構中,主數據管理系統與其他系統通過企業服務總線(ESB)相連接。任何系統中產生的主數據變更事件(新增、修改、刪除等)通過企業服務總線都將首先告知給主數據管理平臺,平臺首先確定這個事件是否正確,然后再確定這個事件需要通知給那些系統。各個系統連接在ESB上的服務負責實現相應事件消息的接收和處理。
未來的,ODS、EDW、DM和分析型應用的主數據的抽取、轉換、裝載的ETL任務也將作為服務掛接在ESB中,所有與主數據相關的同步、協調、優化、集成都將由主數據管理平臺來總體控制,從而實現真正意義上的企業級主數據管理。
在實踐中,也有將主數據管理平臺的主數據集與ODS中的主數據集合并部署的模式,為保持主數據管理平臺的高度中立性和擴展性,在本架構中,我們將主數據管理平臺的主數據集從ODS中徹底獨立出來,成立一個獨立的主數據庫。
5 平臺應用架構及應用架構圖
通過上面對主數據管理平臺所應具有的能力的分析,確定整個主數據管理平臺的應用架構如2圖所示:
圖2
在整個平臺應用架構中,除紅色標記的組件外,其他的組件都將在Loushang平臺上實現,下面對每二個組件進行說明。
5.1 服務注冊管理
注冊并管理所有系統(包括主數據管理平臺)所提供的各種主數據服務,并能被ESB訪問。
5.2 流程管理
定義主數據業務流程,如零售戶入網,零售戶變更等。
5.3 系統管理
定義平臺的用戶、角色、用戶所具有的角色權限等。確保主數據管理平臺不會被非法訪問,每一個用戶只能按照設定的權限操作系統。
5.4 主數據模型管理
定義各主數據的邏輯和物理模型,并確定需要審計的屬性元素集。
5.5 業務規則管理
定義主數據相關的業務規則,包括值域約束規則、完整性規則、一致性規則等。這些規則將被用于主數據準入控制、質量評估、主數據清洗和修復。
5.6 主數據查詢
提供查詢功能,按照各種條件查詢主數據以滿足不確定的主數據查詢檢索、下載等需求。
5.7 主數據變更
提供運用平臺手工變更主數據的功能以滿足特殊情況的主數據修改需求。由其他系統發起的主數據變更(創建、修改、刪除)將通過在流程管理中確定的流程進行變更。
5.8 主數據審計
負責記錄主數據的所有歷史演化及相關責任人,它同時也相當于主數據的歷史版本記錄。記錄可以被檢索和下載,并能根據某個人工設定的時間點回滾。
5.9 主數據質量評估
提供根據預定的規則對主數據當前質量狀況的評估,包括準確性、完整性和一致性三個方面。
5.10 主數據清洗
提供按照預定的規則對主數據進行清洗的功能,其首先識別出重復異常主數據,然后對其進行標記,并進行記錄,然后可以人工對這些數據進行修訂后同步到相應系統。
5.11 主數據修復
主要提供按照預定規則對空缺主數據相關數據項的自動填充功能。
5.12 異常監控
監控主數據管理過程中所發生的各種異常事件。包括同步失敗、違規操作和主數據自身的異常等。
6 平臺數據架構及數據架構圖
從主數據管理平臺自身考慮,我們將其數據劃分為如下四個區,他們分別是元數據記錄區、主數據當前記錄區、審計日志歷史記錄區和異常與重大事件記錄區,其數據架構如圖3所示:
圖3
具體的:
6.1 元數據記錄區
存儲與主數據相關的業務與技術元數據。包括涉及系統、主數據邏輯與物理模型、相關業務規則等信息。
6.2 主數據當前記錄區
存儲企業集成、完整的、面向主題的主數據當前信息,這是企業當前時刻關于主數據的最權威、最完整的信息。
6.3 主數據審計日志歷史記錄區
存儲主數據的歷史演化日志,包括變更的時間戳記、操作者等相關信息。
6.4 主數據異常與重大事件記錄區
存儲主數據管理過程中的異常或重大事件,異常事件包括同步失敗、違規操作等;重大事件包括回滾、數據清洗和修復、手工修訂同步等。
7 主數據服務流程
傳統的工作流的流轉,只要兩個基本的組件:工作流引擎和自定義表單,有了這兩個基本組件就可以在一個系統中實現流程的流轉。但是如果要實現整合企業內的主數據,則需要包含所有的應用(不管是什么平臺、什么開發商),特別是要將所有的業務涉及到的主數據變更全部整合到流程中,就需要流程組件提供一個松耦合的連接方式,將所有的應用整合在一塊,保證現有的系統都能最大程度的整合到統一的工作流中,同時對于新增的信息系統,可以用組件化的方式加入到現有流程中來,從而實現統一企業的流程。
將流程組件作為一個獨立的公共組件,為了更好的實現和其它業務組件以及公共組件內部的不同模塊之間的松耦合,流程組件對外以Web服務的方式對外提供接口,通過ESB和業務組件進行調用。同時為了統一管理,將流程部署到企業服務總線(ESB)上,通過類總線(API)進行調用。這樣既可以實現和內部業務組件之間的結合,也可以實現和應用外部的系統進行流程整合。從業務組件劃分角度來看,流程模塊可以作為獨立的業務組件,從方便管理角度來看,將其和其它的功能模塊合并在一起,是公共組件的一個部分。
8 設計的背景
為了搭建松耦合的流程組件,可以采用通過服務總線(ESB)以Web服務方式或者通過類總線以API方式進行集成,搭建企業級的公共流程組件。服務設計,除非是寫入服務提供者業務需求非常明確,只有本系統調用才會寫入,一般建議按照以上獨立的寫入服務方式來實現。采用獨立的寫入服務能更好的適應未來被動寫入、或者寫入操作需要經過評審或者確認之后的操作。
比如零售客戶信息數據,如果是在專賣系統中創建,財務系統需要零售客戶數據,有三種調用方式,一是財務系統直接到ESB調用財務系統的客戶信息查詢Web服務,然后寫入系統。二是事件機制,專賣系統中的數據變化時,對外提供的客戶信息變更服務,服務調用中傳遞的消息就是變更的信息,調用財務系統的寫入服務。如果還有其它的系統需要客戶信息,可以在ESB中定義出發布/訂閱關系。
三是財務系統先請求ESB調用專賣系統的查詢服務,然后由ESB調用財務系統的客戶信息寫入服務,寫入數據。如果未來業務流程發生變化,改由專賣系統直接將客戶信息寫入財務系統,則直接調用財務系統的寫入服務即可,需要做的僅僅是配置一下ESB即可,現有的程序不需要改變。第一種方式下,如果改成專賣系統寫入,財務系統需要重新編碼,第二種方式如果別的系統來主動查詢客戶數據,需要另外增加一個客戶信息的查詢服務,第三種情況,無論是如何改變化,需要的僅僅是增加一個請求調用即可,對所有的系統影響最小,因此是受外界需求發生變化后影響最小的方式,更好的解決了松耦合的問題。
9 主數據流程監控(MPM)實現
因為主數據主要包括系統間共享數據。與記錄業務活動,變動較大的交易數據相比,主數據(也稱基準數據)變化緩慢,一般每年的變化在20%左右。在正規的關系數據模型中,交易記錄(例如,訂單)可通過關鍵字(例如,訂單或發票編號和產品代碼)調出主數據。根據主數據管理實施的復雜程度,參照Jill Dyche,Evan Levy的觀點大體可以把主數據管理可以分為五個層次,其中Level 3(通過集中的總線處理,類似于翻譯器)可以實現企業內任意兩個系統交換數據。Level 3是將數據轉換邏輯集中化和標準化,它支持主參照數據的分布式存在(即分布的主數據存儲,集中而標準的主數據轉換),Level 3打破了各個獨立應用的組織邊界,使用各個系統都能接受的數據標準統一建立和維護主數據(MDM)。而最高級別Level 5(企業數據集中),當主數據記錄的詳細資料被修改后,所有應用的相關數據元素都將被更新,本級別可以通過SOA的架構平臺實現。根據主數據的特點,可以對它的變化進行更為詳細的監控,對主數據的變更進行審計。從企業級主數據的管理監控平臺來看,包含數據監控臺和流程監控臺,數據監控臺對企業內存在的主數據進行監控對比,識別問題系統,預警問題數據。流程監控臺對企業中運行的流程進行監控、分析,診斷問題流程,發現問題節點,確保跨系統的流程暢通無阻。還包括服務的監控及統計分析,包括服務的調用歷史記錄,失敗調用記錄等情況。
10 數據監控臺
包括零售客戶、員工、組織機構、供應商、品牌擁有者、卷煙品牌、卷煙商品、卷煙生產廠家、計量單位、行政區劃。
每一個具體的主數據對象,都有對應的監控臺,員工監控臺示例如圖4:
圖4
監控平臺中,可清晰的查看主數據對象的提供方、接收方和管理者。并查看各系統中的主數據對象的現狀,包括總數、最近變更情況。
流程監控主要包含三個部分服務管理、流程實時監控、流程統計分析,為了整合系統,建立了一個企業級的服務總線,服務總線上部署了企業內所有的主數據流程,主數據管理系統保存了流程過程中的數據。為了保證對流程流轉過程的詳細記錄,將所有通過總線的業務流轉狀態信息全部存放到主數據管理平臺的數據庫。這樣數據庫中主要包含了兩部分數據:一個是流程本身所需的數據,包含流程中傳遞的數據、數據來源的系統、數據分發的系統等相關信息,另外一個就是流程的記錄數據。包含流程流轉的時間、調用了哪些服務、服務的返回狀態、是否成功等信息。
11 流程監控數據來源
圖5
12 流程監控臺
流程的監控包括對服務本身的監控,在主數據流程中,流程的主要節點大都是各系統暴露出來的服務。因此流程的監控包括對服務的監控。服務的穩定和可用,是流程能夠順利完成的關鍵。
對服務的穩定性進行評價是流程監控的一部分。因此對服務的調用歷史進行記錄,并通過記錄數據進行統計分析,是服務評價的一個重要指標。通過對服務的分析,可以提前預防流程中的薄弱環節,對解決失敗流程問題提供經驗。
13 流程監控舉例
圖6
此處中的服務,主要包含下面部分:
主數據服務,主數據相關的服務,是共用的服務,主數據管理業務組件也是屬于企業公共服務平臺管理范圍,是企業級的公共業務組件。
流程服務,涉及流程程的服務,相關信息提供到工作流引擎,是共用的服務,流程管理業務組件也是屬于企業公共服務平臺管理范圍,是企業級的公共業務組件。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:面向SOA架構的主數據管理和流程監控研究