揭开CEN/XFS的神秘面纱

    这里讨论的CEN/XFS是Extensions for Financial Services的缩写,即欧洲为了统一国际金融设备的接入标准而搞出来的一套东西。是国内银行近几年积极从国外引进的一套ATM机平台设备的统一接入标准。我手头上的主要是微软设计出来的一套完整的框架,是一套基于Windows系统实现的东西。这套协议也有Java的实现版本J/XFS,想要做Linux或Unix平台的兄弟们可以自己去查阅。在此我只想简述一下自己在项目开发过程中对XFS标准的一些理解和使用XFS的一些心得体会,由于我比较习惯在Windows上做开发,所以仅对手头的库做一些介绍。
    以下讨论均基于XFS官方标准的3.10版本文档(从3.03版本开始就比3.0版本增加了对设备的SNMP协议的支持)。

    1.下载:XFS官方标准文档v3.10,官方XFS-SDK-v3.03,官方XFS-MIB-SDK-v3.02,OpenXFS-0.0.0.5,OpenXFS-0.0.0.5修正版,SP框架及样例,设计说明和使用帮助,其他参考
    2.有关XFS基本概念,这些不赘述,有疑问的朋友请参考XFS官方文档的第一部分,我对官方的英文文档做了些非专业的中文注释,希望对大家有所帮助。要做XFS开发,官方文档的第一部分是必读,我是花了2周时间反复阅读过三遍的。
    3.我在网上搜索了很久,找到了一个开源的OpenXFS框架的源代码,它是符合XFS 3.0标准基于微软MFC库对XFS Manager及框架标准的一个完整实现,它和官方组织提供的标准SDK包实现的是同一套XFS3.0标准,是相互兼容的。只是参考微软原型实现的官方SDK中并不支持XFS Manager的多线程实现,而这个OpenXFS实现了一个支持多线程的XFS Manager。这对于我们完整的理解XFS标准到底是如何实现的和其具体运作过程都会有很大的帮助,这里提供的OpenXFS是我做过注释和少量修正的版本。有兴趣的朋友也可以自己去下载原始版本的OpenXFS看看。
    4.由于OpenXFS是基于微软MFC框架设计的,使用起来还是有些不方便、不通用,有很多朋友都会不喜欢MFC。所以我在阅读和理解XFS标准的过程中,按照OpenXFS的基本思想改写了一套不用MFC而用纯Win32 API函数方式做SPI开发的框架及样例。大家可以结合OpenXFS和标准文档一起理解和使用,希望对大家都会有所帮助。

    5.SP有人说是驱动,从广义上说可以这么理解,但从技术角度上说并不是Windows系统级别的驱动程序,只能说是设备给上层应用提供服务的程序,编写SP并不需要掌握Windows下的驱动编程,只要懂得Windows API编程或者说会用MFC就基本够了。只是微软实现的这套框架确实借鉴了Windows系统下设备驱动构架中一些精妙的设计思想,而且利用一些很简捷易懂的技术手段就予以实现了,很好、很强大。

    最后,借此向上海合康实业发展有限公司的同仁表示致敬,感谢你们对我在合康工作的支持和帮助。这篇小博也算是我在XFS方面对自己工作的一个小结,希望对后来者能有些参考和帮助。

你可能感兴趣的:(C++技术)