胡冰冰 茅廷
(中匯信息技術(上海)有限公司 上海市 201203)
目前,國際上的主流技術標準包括ISO 20022(SWIFT MX)、FIX、ISO 15022(SWIFT MT)、IFX、FpML、XBRL(Open Information Model)、BIAN、ACTUS 等。而在維護和推廣這些標準的組織中具有較大影響力的包括ISO/TC68/SC9 金融服務信息交換分委會、FIX 全球技術委員會、SWIFT 組織等,其中尤其以ISO/TC68 為全球范圍內最為權威和被認可的金融領域標準化組織。
近年來,隨著全球經濟一體化的不斷發展,金融業務的交互和關聯程度日益增強,而針對全球金融業報文標準各異、報文交換模式多樣的現狀,如何打破標準之間的技術壁壘、實現不同標準之間的互通,成為全球金融業面臨的緊迫課題。
語義模型是在關系模型基礎上增加全新的數據構造器和數據處理原語,用來表達復雜的結構和豐富的語義的一類新的數據模型,難度較大,亟待攻克。而基于IMIX、FIX 與ISO 20022 的業務模型研究經驗,開展報文映射方案的研究,建立統一的語義模型,對提升標準互聯互通、引領國際標準發展、助力國際拓展、強化自主產權具有戰略性意義。
IMIX(Inter-bank Market Information eXchange)標準,即銀行間市場業務數據交換標準,是一種用于在銀行間市場交易活動中實現金融信息實時傳輸的電子通信標準。IMIX 標準由中國外匯交易中心暨全國銀行間同業拆借中心起草,并于2011年6月2日首次發布實施。IMIX 標準旨在把銀行間市場各類業務需求流程格式化,使之成為可用計算機語言描述的功能流程,并在每個業務功能接口上統一交換格式,從而提高整個行業的應用水平。
IMIX 標準基于FIX 標準制定,其數據模型兼容了FIX 標準。IMIX 標準制定過程中遵循了穩定性和開放性原則,結合國內銀行間市場的業務特性,對FIX 標準進行了擴展。IMIX 報文模型與ISO 20022 以及FIX Orchestra一樣,其數據字典定義了組件和字段,其中組件是由同一類業務含義的業務字段組成,每個字段都有特定的數據類型。
FIX(Financial Information eXchange)標準,即金融信息交換標準,是由國際FIX 協會組織提供的一個開放式的實時電子化通訊標準。FIX 標準在交易所、機構投資者和投資銀行群體中得到了廣泛的應用。目前,應用FIX 標準的機構覆蓋全球的各類金融機構,數量已達到幾千家。
FIX Orchestra 是FIX 交易社區發布的一種報文標準模型,用于規范在交易對手之間的交換報文結構。與ISO 20022 不同的是,FIX Orchestra 報文沒有定義對業務模型或元模型的支持。
與ISO 20022 報文模型一樣,FIX Orchestra 定義報文由組件和域(字段)組成。域有數據類型,并且可以限制代碼集的值的范圍。跟ISO 20022 代碼集一樣,它們可以由內部機構或由外部另一個標準機構維護。
位于頂端的是國際標準組織ISO,其發布的ISO 20022(金融服務金融業通用報文方案,又稱UNIFI)定義了金融業通用報文標準方法論,可以視為其他機構實施應用報文標準的基礎。
ISO 20022 作為指導金融信息交換報文的方法論,其完備性和實用性得到了TC68 各成員國、聯絡機構及其他標準組織的一致認可,基本形成了各類信息交換標準逐步向ISO 20022 融合過渡的共識。如FIX 全球技術委員會主席就任TC68 主席后,積極推動FIX 標準與ISO 20022 的融合;SC9/WG1 語義模型工作組正在設計各項標準(ISO 15022、FIX、FPML、我國的IMIX 等等)與ISO 20022 標準的映射方法;環球同業銀行金融電訊協會SWIFT 網絡報文已計劃逐步向ISO 20022 過渡。
此外,TC68 單獨成立了基于ISO 20022 標準開發報文的注冊管理機構,用以管理和支撐ISO 20022 庫的注冊過程,并形成了ISO 20022 國際金融業報文庫,供各國用戶采納使用。
IMIX、FIX、ISO20022、UNIFI 通用模型之間的轉換技術路線如圖1所示,并可以分為三部分:一是IMIX 報文形式可以通過格式轉換、差異調整的方法轉換為FIX 報文形式;二是FIX 的Orchestral XML schema 通過EMF 技術轉換為Ecore 模型,進而轉換為ISO 20022 的報文形式;三是無論IMIX 和FIX 都要先轉換為ISO 20022 的報文形式后,才能再轉換為UNIFI 通用模型。

圖1:IMIX、FIX、ISO20022 標準轉換的技術路線圖
特別是,從圖1可以看出,IMIX 報文模型形式可以通過技術手段轉換為FIX 的報文模型形式,但是IMIX 的報文形式轉化為ISO 20022 則需要首先轉換為FIX Orchestra 模型的形式,再由Orchestra 模型的形式進一步的轉為ISO 20022 報文模型的形式。
IMIX 和FIX 報文模型是相似的,IMIX 標準的所有模型都可以在IMIX 數據字典中被定義,通常用XML 文件表示。因此,IMIX數據字典與FIX Orchestra 之間的轉換可以分為兩步。第一步是差異調整,即根據IMIX 與FIX 報文差異分析內容,完成必要的報文、組件和域的調整;第二步是確定常用的格式轉換規則,完成IMIX數據字典XML 定義文件與FIX Orchestra XML 定義文件之間的轉換。
3.2.1 差異調整
IMIX 和FIX 的差異調整主要從三個方面來分析并給出調整建議,包括業務流程的比較分析、應用場景的對比分析、報文結構的比較分析。
(1)IMIX 數據字典和FIX Orchestra 都是報文的邏輯模型定義,并不包括與業務概念模型的映射。表1是IMIX 和FIX 的業務流程差異的分析示例。
(2)應用場景的對比分析。為建立IMIX 和ISO 20022 靜態概念模型之間的映射做準備。如表2所示。
(3)報文結構的比較分析。其實質是報文邏輯模型的比較,是建立IMIX 和FIX 映射和轉換規則的主要依據。如表3所示。

表1:IMIX 和FIX 的業務流程差異的分析(示例)

表2:IMIX 和FIX 的應用場景對比的分析(示例)

表3:IMIX 和FIX 的報文結構對比的分析(示例)
3.2.2 格式轉換
將IMIX 字典轉換為FIX Orchestra 模型的格式,包括10 項主要規則:
(1)在IMIX 字典中,字段的值范圍定義在“Field element”下的“value 子元素”;在FIX Orchestra 中,字段的值范圍定義為fixr:codeSet 元素,而合法值定義為fixr:code 元素;CodeSet 的轉換是value 元素到fixr:code 元素的轉換;
(2)IMIX 中沒有縮寫的定義,轉換為FIX 需要增加縮寫定義;
(3)Datetype 定義在IMIX 和FIX 中是一致的,不需要轉換;
(4)IMIX 中沒有類別定義,轉換為FIX 需要增加類別定義;
(5)IMIX 中目前沒有節定義,轉換為FIX 需要增加節定義;
(6)IMIX 中目前沒有Actor 定義,轉為FIX 需要增加Actor定義;
(7)IMIX 和FIX 中的字段可以一一對應;
(8)IMIX 和FIX 中的組件(相關業務字段的組合)可以一一對應。
如圖2所示,IMIX 與ISO 20022 的轉換包括兩個步驟:一是IMIX 數據字典轉換成FIX Orchestra 的模型形式,即IMIX Orchestra(在本文3.2 節中已經詳細闡述);二是IMIX Orchestra報文模型轉換為ISO 20022 的報文形式,最終完成IMIX 報文向ISO 20022 報文的轉換。
IMIX Orchestra與ISO 20022報文模型既有相似點又有相異點,在轉換時應予以充分考慮。它們的相似點在于FIX Orchestra 定義報文也由組件和域組成。域有數據類型,并且可以限制代碼集的值的范圍。跟ISO 20022 代碼集一樣,它們可以由內部機構或由外部另一個標準機構維護。
它們的相異點在于三處:一是FIX Orchestra 的報文定義沒有業務模型或元模型的支持;二是FIX Orchestra 具有第二個結構,用于定義報文傳輸協議堆棧和會話配置并公開服務產品。交易對手可以提供多種服務,例如訂單輸入,市場數據和清算,每種服務都有其自己的協議棧。三是FIX 標準復用了多種格式,包括原始標簽值編碼,FIXML Schema,JSON 和諸如SBE 的簡單二進制編碼。但是,FIX Orchestra 中的報文定義是具有語義的,不依賴于表示層的實現。
因此,當映射到ISO 20022 模型時,我們可以先將通用代碼轉換為RDF/OWL 表示形式,從而產生標準化格式的本體。本文使用EMF 從Orchestra XML Schema 生成Ecore 類模型。EMF 是Eclipse平臺的開源插件,而Ecore 是OMG 的EMOF(基本元對象工具)的實現。本質上,在Orchestra XML 模式中定義的類型被轉換為UML 元模型。除非Orchestra 模式發生更改,否則此步驟僅需要執行一次。
EMF 從Ecore 模型中生成Java 代碼,以訪問Orchestra 模式中的XML 文件,并使用生成的類的實例填充Ecore 模型。
如圖3所示,UNIFI 模型的目標是建立一個包含各項公開標準的通用模型。而多標準語義模型基于UNIFI 模型構建,語義模型的鍵技術包括了RDF(資源描述框架,Resource Description Framework)、OWL(Web 本體語言,Web Ontology Language)、SPARQL 查詢語言(Simple Protocol and RDF Query Language)和對應的支撐軟件,通過這些技術和軟件,使得多標準語義模型的訪問成為可能,供標準的使用者(人類或者機器)發現和定義各項金融標準間的關系。
多標準語義模型是通過定義統一的內容結構UNIFI,并開發各標準至UNIFI 的轉換接口,來實現當前各大金融服務業報文的互聯互通。構建多標準語義模型的關鍵步驟分解如下:
(1)建立共同的內容結構——基于UNIFI (UNIversal Financial Industry,ISO 20022 v1.5)元數據模型;
(2)建立共同的語法和連接范式(Syntax and Linking Paradigm)——基于資源描述框架/本體語言(RDF/OWL);
(3)建立和使用共同的開發環境和開發技術棧——Java、EMF、Jena、GitHub、Tomcat、TDB、Fuseki、ELDA 等相關開源框架;
(4)建立共同的概念模型——基于ISO 20022 概念模型;
(5)建立共同的概念本體——基于OMG 的FIBO 標準。
圖4描述了將ISO 20022 元模型、UML 概要文件和使用EMF Ecore 實現的注冊權限轉換為OWL 中的原數據。使由ISO 20022 標準產生的實際產品,如報文內容、報文定義報告、業務流程、業務事務等成為本體的實例,并完全支持ISO 20022 全生命周期的參與者們的使用(從標準開發到注冊機構到最終的終端消費者)。
為了映射到通用模型,首先將FIX Orchestra 映射到ISO 20022報文模型。該過程包括以下兩個步驟。當映射到ISO 20022 模型時,我們可以先將通用代碼轉換為RDF / OWL 表示形式,從而產生標準化格式的本體。
IMIX 到通用模型映射的建模包括了具體以下步驟:
(1)根據IMIX 協議字典并復用FIX 標準的XML 結構定義(XSD)文件,通過建模工具生成IMIX 模型文件;
(2)使用UNIFI 建模工具將模型文件轉換為ISO 20022 模型文件(.mx 及.ISO 20022);
(3)使用語義網建模工具生成OWL 定義文件(.ttl);
(4)使用語義網框架發布相關內容。

圖2:IMIX 與ISO 20022 的轉換流程

圖3:UNIFI 模型的構建

圖4:轉換過程
本文闡述了IMIX、FIX、ISO20022 報文標準的基本原理,并提出了IMIX 和FIX 報文模型的轉換方法,以及IMIX 與ISO20022報文模型的轉換方法。在構建不同標準之間轉換方法時要注意標準間的差異分析和比較,其次是填補這種差異的技術方法。本文提出的IMIX 和ISO20022 的報文模型轉換是通過FIX 報文模型作為中間報文模型而實現轉換,這主要包括兩個原因:一是IMIX 與FIX的報文模型是相似的;二是FIX 與ISO20022 報文模型的轉換在國際上已經有了一定的研究基礎。
本文也提出了通用標準語義模型的概念和基本構成,通用標準語義模型的提出目的是為了豐富報文模型的同時,覆蓋所有國際主流的報文模型,從而促使不同報文標準可以最終通過通用模型實現轉換。但通用標準語義模型的構建依然面臨三個難題:一是各個國際主流的報文模型的差異和相似點精確分析;二是通過何種統一的技術路線可以全面實現不同報文模型之間的轉換;三是通用標準語義模型是否在報文傳輸的可用性、安全性、可擴展性等方面優于其他報文模型。
本文的研究盡管只涉及了IMIX、FIX、ISO20022 標準的轉換和通用標準模型的初步研究,但是卻為國際通用標準語義模型的構建提供了參考和技術儲備。綜上,未來的多標準語義模型映射研究將著重面向通用標準語義模型的構建,以實現國際報文標準的互聯互通和報文的高效傳輸。