Demystifying CEN/XFS

    The CEN/XFS discussed here is the abbreviation of Extensions for Financial Services, which is a set of things developed by Europe in order to unify the access standards of international financial equipment. It is a unified access standard for a set of ATM machine platform equipment that domestic banks have actively introduced from abroad in recent years. What I have on hand is mainly a complete set of frameworks designed by Microsoft, which is a set of things implemented based on the Windows system. This set of protocols also has a Java implementation version J/XFS. Brothers who want to do Linux or Unix platforms can check it out by themselves. Here I just want to briefly describe some of my understanding of the XFS standard and some experience of using XFS in the process of project development. Since I am more used to developing on Windows, I will only introduce some libraries at hand.
    The following discussion is based on the 3.10 version of the official XFS standard document (since version 3.03, support for the device's SNMP protocol has been added compared to version 3.0).

    1. Download: XFS official standard document v3.10 , official XFS-SDK-v3.03 , official XFS-MIB-SDK-v3.02 , OpenXFS-0.0.0.5 , OpenXFS-0.0.0.5 revised version , SP framework and samples Examples , design notes and usage help , other references .
    2. For the basic concepts of XFS, these will not be repeated. If you have any questions, please refer to the first part of the official XFS document. I have made some non-professional Chinese comments on the official English document, hoping to help everyone. To do XFS development, the first part of the official document is a must-read. I spent 2 weeks reading it three times.
    3. I searched the Internet for a long time and found the source code of an open source OpenXFS framework, which is a complete implementation of the XFS Manager and framework standards based on the Microsoft MFC library that complies with the XFS 3.0 standard. It is the standard SDK package provided by the official organization. It implements the same set of XFS3.0 standards and is compatible with each other. Just referring to Microsoft's prototype implementation, the official SDK does not support the multi-threaded implementation of XFS Manager, and this OpenXFS implements an XFS Manager that supports multi-threading. This will be very helpful for us to fully understand how the XFS standard is implemented and how it works. The OpenXFS provided here is the version I have made with comments and minor corrections. Interested friends can also download the original version of OpenXFS and take a look.
    4. Since OpenXFS is designed based on the Microsoft MFC framework, it is still somewhat inconvenient and unusable to use. Many friends will not like MFC. So in the process of reading and understanding the XFS standard, according to the basic idea of ​​OpenXFS, I rewrote a set of frameworks and samples for SPI development using pure Win32 API functions without MFC. You can understand and use it in conjunction with OpenXFS and standard documents, and I hope it will be helpful to everyone.

    5. Some people say that SP is a driver. In a broad sense, it can be understood in this way, but from a technical point of view, it is not a Windows system-level driver. It can only be said that it is a program that provides services to upper-layer applications. Writing SP does not need to be mastered. Driver programming under Windows, as long as you know Windows API programming or know how to use MFC is basically enough. It's just that the framework implemented by Microsoft has indeed borrowed some subtle design ideas from the device driver architecture under the Windows system, and it has been implemented using some very simple and easy-to-understand technical means, which is very good and powerful.

    Finally, I would like to pay tribute to my colleagues in Shanghai Hekang Industrial Development Co., Ltd. and thank you for your support and help in my work in Hekang. This small blog is also a summary of my own work in XFS, and I hope it can be some reference and help for those who come later.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325650189&siteId=291194637
Recommended