胡冰冰 茅廷
(中汇信息技术(上海)有限公司 上海市 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 标准的转换和通用标准模型的初步研究,但是却为国际通用标准语义模型的构建提供了参考和技术储备。综上,未来的多标准语义模型映射研究将着重面向通用标准语义模型的构建,以实现国际报文标准的互联互通和报文的高效传输。