`
luckliu521
  • 浏览: 257312 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

WOSA/XFS结构、背景等介绍

 
阅读更多
前言:
        写给ATM硬件和软件人员的无言歌。
        希望对工作有所帮助,能够少花些时间在解决相关问题上,多些时间做自己喜欢做的事情。
        一定意义上来讲,任何ATM从业人员都应该看下这篇文章。

正文:
        随着符合WOSA/XFS规范的跨平台ATMC软件日益铺开,确实有很多人需要稍微深入的知道一些相关概念,但没有这样的文章来介绍,并且可能在很长的时间内,都不会有这种文章,所以就出现了这篇你现在所看到文章。

        该如何组织内容,其实是个比较难办的问题,只能走到哪是哪了,希望能在文中捡到一些珍珠,如果有的话。

        我们先从WOSA/XFS的历史来简单的看一下,搞清楚WOSA/XFS的历史也有助于理解它。

        WOSA/XFS规范目前使用广泛的版本有1.0、1.11、2.0、3.0、3.01、3.02、3.03一共7个版本,其中常说谁的 SP(Service Provider)符合WOSA/XFS2.0还是3.0规范,就是指上面提到的WOSA/XFS本身的规范版本。如果你见到某些厂家的SP版本并没有上 面提到的几个版本,那说明厂家的SP版本是自己厂家内部定的版本号,与WOSA/XFS规范的版本没有必然联系,但是厂家的SP版本一定可以对应到符合上 面几个版本中的一个版本。目前最新的是WOSA/XFS 3.03规范。

        对于WOSA/XFS,XFS Manager是一定要提到的。我们简单看看WOSA/XFS的架构,这个大家应该都比较熟悉了。中间是XFS Manager,上面是ATMC,下面是SP,其中XFS Manager对上面有API(Application Programming Interface)接口,对下面有SPI(Service Provider Interface)接口。

        XFS Manager是WOSA/XFS规范的核心,它规定了API和SPI接口,从而达到统一上面的ATMC和下面的SP的功能,ATM软件能够实现所谓的跨平台是靠它来主要实现的。

         XFS Manager实际上是三个DLL组成,在系统目录\Windows\System32下面,分别是MSXFS.DLL(基本的XFS API and SPI函数,在Include目录下的XFSAPI.H和XFSSPI.H中定义)、XFS_SUPP.DLL(一些支持函数,在Include目录下的 XFSADMIN.H中定义)、XFS_CONF.DLL(配置函数,在Include目录下的Xfsconf.h中定义)。

        我们上面提到的7个版本,可以通过找到MSXFS.DLL文件,然后右键查看其文件属性,里面有个版本号,从而就知道某台机器运行的SP符合哪个版本的WOSA/XFS规范,这是个判断WOSA/XFS版本的一个有效办法。

        XFS Manager的这三个DLL是公开免费使用的,在WOSA/XFS 2.0以前,XFS Manager是由微软公司开发的,从WOSA/XFS 3.0以后转到CEN/XFS来开发,实际上是NEXUS公司做为主导在维护开发。如果是CEN/XFS的会员,则可以获得XFS Manager的源代码,目前几大厂商都是会员,所以基本都有XFS Manager的源代码。

        我们总是在说WOSA/XFS,那到底它包含什么内容?
        一、    一组文档,可以认为是个软件概要设计说明书,只是设计,没有代码实现
        二、    上面提到的XFS Manager的三个DLL
        三、    每个厂商按照文档实现的一组DLL,叫过SP

        前两个先不管,我们看第三个,这个是我们常见的。WOSA/XFS规定SP必须是基于DLL形式的,不管你做成什么样子,对于XFS Manager向下看,必须是看到导出SPI接口的SP DLL。

        下面看看跟WOSA/XFS有关的注册表配置,对于WOSA/XFS2.0,所有的配置在HKEY_CLASSES_ROOT\WOSA /XFS_ROOT,对于WOSA/XFS3.0,配置分到两个地方,HKEY_LOCAL_MACHINE\SOFTWARE\XFS和 HKEY_USERS\.DEFAULT\XFS。WOSA/XFS3.0把注册表分为两个部分,是考虑安全性,不同的登录用户看到的设备可能是不一样 的。

        不管版本的差别,注册表主要的内容有三项,一项是XFS_MANAGER,属于XFS Manager本身的配置项;一项是LOGICAL_SERVICES,是给ATMC应用用的,区别每种设备;一项是 SERVICE_PROVIDERS,具体对应到某个硬件设备;另外一般有PHYSICAL_SERVICES,存放厂商的硬件配置。对于具体的每一项的 说明,请参考文档《cwa14050-01-2000-Nov.pdf》的22页到25页内容。建议看看这份文档,对于从事ATM工作有很大帮助,它的细 节可以不用管,只要知道一些大概的概念即可。

        一般一个厂家的SP,只需要十几个文件即可,内容比较少,但是象NCR、Diebold等的SP,安装起来会花上一些时间,因为里面包含了硬件诊断工具、配置工具等实际上跟SP没有关系的东西。

        因为SP的接口是统一的,所以我们会看到很多厂家提供的有XFS测试工具,能够测试多个厂家的SP,比如Wincor的WosaTest,Diebold的XTG等,这些工具可以互换使用的,反正接口都是符合一个标准的。

        因为很多硬件工程师可能需要用到这些SP测试工具,这里简单说一下怎样使用这些工具,当然,如果想完全使用该工具的每个功能,不仅仅需要测试工具本身的说明,熟悉WOSA/XFS的规范是必要的,所以基本上能操作即可。

        一个完整的SP测试操作如下(下面的操作一般可以在SP测试工具的菜单或者工具栏中直接找到,一些步骤中出现的参数选择,基本可以采用默认的参数即可):
        一、    在SP测试工具中调用WFSStartUp, 目的是把整个SP的环境启起来,包括把XFS Manager装载到测试工具的进程空间中。
        二、    在SP测试工具中调用WFSOpen,目的是打开某个硬件模块,SP测试工具一般一次只能打开一种类型的硬件设备。其中要注意的是有个参数叫过 Logical Name“逻辑名”,这个一定要填对,一般的厂家都有固定的习惯,比如Diebold会叫NT_IDC、NT_CDM等,打开哪个设备就填上对应的名字。 所有可能的名字在上面提到的注册表项LOGICAL_SERVICES下面,如果不清楚,你可以看看哪个名字象你要测试的设备,填上这个名字一般错不了。
        三、    在SP测试工具中调用WFSRegister,目的是注册一下,以便能够接收到SP传上来的事件。
        四、    在SP测试工具中调用WFSLock,这步基本可以省略。目的是锁定设备,主要是防止同时还有其他程序在访问该设备,达到独占设备的目的。
        五、    然后调用WFSGetInfo来获取设备的信息,相当于Read设备;也可以调用WFSExecute来对设备发命令,相当于Write设备,这两个是一 个对应。基本所有的命令都是通过这两个接口来完成的,其他步骤都是准备工作而已。对于WFSGetInfo和WFSExecute是各自包含一组命令,可 以选择单独的命令来执行。至于每个命令的意思,要看WOSA/XFS的那些规范文档了,每个命令都有详细的描述。
        六、    所有测试完成后,调用WFSUnLock,用来解锁,如果第四步有锁定设备。
        七、    在SP测试工具中调用WFSUnRegister,目的是反注册一下,表明不再接收SP传上来的事件了。
        八、    在SP测试工具中调用WFSClose,目的是关闭设备,比如关闭串口通讯等。
        九、    在SP测试工具中调用WFSCleanUp,目的是释放整个SP的运行环境,把使用的相关文件和资源全部恢复。

        至此,一个完整的SP测试流程已经完成了,可以经过这几步对设备进行测试,多熟悉下一个SP测试工具,就会明白每个命令是干什么的了。对于硬件工程师,如 果在知道厂商硬件诊断工具之外,再知道怎样操作这个,对于诊断系统的问题也是有很大帮助的,尤其是在运行跨平台软件的机器上。目前最好的SP测试工具应该 是Wincor的测试工具,使用的比较广泛,其他厂商的各有特点。

        下面讲讲WOSA/XFS规范文档的内容结构。WOSA/XFS3.0规范文档大概分为四十多个pdf文档,都可以免费下载到,下载地址在本文附录中提到。

        其中第一份文档最重要,是讲整个WOSA/XFS的架构、配置信息、API/SPI、内存管理等内容,稍微难懂了些,如果能看看则对整个WOSA/XFS有所了解。介于阅读英文的规范对于中国人比较难,所以会有一定的障碍。

        第二份文档讲WOSA/XFS规范都涉及到了哪些模块等信息,对每个模块进行了简单的综述。

        从第三份文档开始,依次介绍每种设备的命令,其实都是在讲WFSGetInfo和WFSExecute,只是参数不同。每份文档的结构大同小异,先是讲 WFSGetInfo的各个命令及其参数、注意事项等;接着讲WFSExecute的各个命令及其参数、注意事项等;接着讲该设备可能发生的 Events;最后是C语言的头文件。

        从大概第16份文档开始,是讲怎样从WOSA/XFS2.0规范迁移到WOSA/XFS3.0规范,主要是提供给旧版本的SP用的,可以不看它们。

        从大概第29份文档开始,是讲关于SNMP监控的,目前可以不看它们。

        那么目前只看前十五份文档即可。

        WOSA/XFS规范文档目前没有中文的,并且也不要指望CEN/XFS会出中文文档,因为翻译过程中会丢掉很多重要信息,毕竟是一个严密的规范,不是小 说,漏掉点内容问题不大,这个翻译错了,就会有误解。但是,也不是不可能翻译成中文版的,前提是必须非常熟悉WOSA/XFS规范,才能高屋建瓴的来翻译 这些文档。国内也有几个厂家翻译过WOSA/XFS规范,只是没有对外公开其翻译的内容。

        当你看到了这么多文档后,就会理解为什么不同的厂家对WOSA/XFS规范会有不同的理解。因为硬件是多样性的,能够在一份规范中把所有硬件都统一进来是 非常不容易的事情。可能有些细节是没有考虑到的,但是我们看到WOSA/XFS规范也是在不断的进步和完善,不断随着市场的变化推出新的规范版本。

        WOSA/XFS规范不久会因为微软推出.NET平台受到一些影响,但是其本质上是不会改变的,至多是XFS Manager和SP的代码会重写,那些关于ATM硬件的命令是暂时不会过时的。

附录:
        在网址http://www.cenorm.be/cenorm/businessdomains/businessdomains/isss/cwa/banking+peripherals.asp
为有关WOSA/XFS的文档下载地址,其中"CWA 13449"为WOSA/XFS的2.0版本,"CWA 14050"为WOSA/XFS的3.03版本。
分享到:
评论

相关推荐

    WOSA/XFS 3.30 标准文档

    - 标准规范:详细描述了WOSA/XFS 3.30的接口定义、服务说明、通信协议等。 - 示例代码:提供示例程序,帮助开发者理解和应用标准接口。 - 参考指南:包含了如何实施和测试WOSA/XFS 3.30的指南。 - 应用程序编程...

    WOSA/XFS的介绍

    WOSA/XFS,全称为Windows开放式系统体系结构/扩展金融服务,是微软公司为金融行业设计的一种创新软件架构。这一架构的核心目标是实现不同厂商的金融外设(如ATM机)之间的无缝集成,以促进硬件和软件的互操作性,...

    WOSA/XFS_3.10_中文版_01(SPI_API)_WOSA/XFS3.10中文版文档_

    sp开发文档,SPI_API所有接口说明都有...

    WOSA/XFS 3.20 标准文档

    1. **服务层(Service Layer)**:这是WOSA/XFS的核心,定义了一系列API(应用程序接口),使得上层的应用程序可以调用底层硬件的功能,如磁条读取、PIN输入、现金处理等。这些API是硬件无关的,因此开发者无需关心...

    WOSA/XFS_3.10_中文版(目前最全的)(加标签).pdf

    WOSA/XFS_3.10_中文版 扩展金融服务(XFS)接口指定书-3.10版本 第1部分:应用程序编程接口(API) – 服务提供程序接口(SPI)–程序员参考 第3部分:打印机和扫描仪设备类接口 – 程序员参考 第4部分:识别卡...

    wosa/xfs 3.2文档(全)

    《wosa/xfs 3.2文档(全)》是一份详尽的IT技术文档,主要聚焦于cen/xfs 3.2版本的WOSA(Windows Open Services Architecture)标准。WOSA是一种开放的服务架构,它允许在不同的操作系统平台上实现标准化的接口,...

    wosa/xfs 3.0英文文档

    27-2003-Oct.pdf**、**cwa14050-20-2000-Nov.pdf**、**cwa14050-19-2000-Nov.pdf**和**cwa14050-37-2007-Jul.pdf**:这些文件同样涵盖了wosa/xfs的不同版本和主题,可能包括错误修复、新特性介绍、最佳实践等。...

    CEN/XFS标准(原名为WOSA/XFS)(中文版)-第1部份

    《CEN/XFS标准(原名为WOSA/XFS) - 第1部分:服务提供程序接口(SPI)》是IT领域中的一个关键规范,尤其在金融自助设备(如ATM机)和其他嵌入式系统中广泛应用。这个标准的中文版为理解和实施XFS接口提供了便利,确保了...

    WOSA/XFS_3.10_中文版.rar

    文件名为“WOSA/XFS_3.10_中文版(目前最全的).pdf”,表明这可能是目前能找到的最完整、最详尽的中文版WOSA/XFS 3.10文档。 在WOSA/XFS 3.10的中文版文档中,开发者可以期待找到以下关键知识点: 1. **XFS接口...

    WOSA/XFS培训

    介绍什么是WOSA/XFS以及其功能实现

    wosa/xfs 3.2 SDK 安装包

    《wosa/xfs 3.2 SDK:解锁高级金融设备编程技术》 wosa/xfs 3.2 SDK 是一个专门为开发与管理金融设备交互应用而设计的软件开发工具包。这个版本的SDK是该技术的最新迭代,为开发者提供了一个高效、稳定的平台,以便...

    WOSA/XFS示例

    此外,了解XFS标准的详细规范,如WOSA/XFS的SPI接口函数和数据结构,将有助于更深入地理解BaseCPrinter类的实现细节。 总结来说,"WOSA/XFS示例"是一个帮助开发者理解和实践Windows环境下XFS服务提供商开发的教程,...

    调用WOSA/XFS的简单示例

    演示如何简单的调用WOSA/XFS的简单的实例

    XFS.rar_WOSA_XFS_WOSA/XFS_XFS 3.20 SDK安装_XFS 摄像头_wosa

    在WOSA/XFS结合的情况下,摄像头等外围设备可以作为智能附件,通过XFS接口与上层应用进行通信,实现了设备驱动的标准化和兼容性。 在WOSA/XFS 3.20中,API(Application Programming Interface)定义了应用程序与...

    WOSA/XFS 3.30 SDK

    3. **示例代码**:包含了一些示例程序,演示了如何使用WOSA/XFS 3.30 API进行基本操作,如设备初始化、交易处理等。 4. **文档**:详细的开发者指南和API参考手册,解释了每个函数的功能、参数、返回值以及使用注意...

    WOSA的SP架构及用例.docx

    WOSA/XFS-SP 架构是指 WOSA(Windows Operation System Architecture)在 XFS(Extensions for Financial Services)平台上的一个架构,主要用于金融industry的应用程序开发。该架构提供了一些基本的 SPI 函数,用于...

    WOSA/XFS-01.中文版

    8. 国家标准化组织成员:列举了参与标准化的国家标准化组织,如奥地利、比利时、保加利亚等,表示了WOSA/XFS标准的国际化特性。 9. 版权信息:强调了文档的版权归属,欧洲标准化委员会保留了对文档的所有权利,并...

    帮助学习金融WOSA/XFS协议,Linux/PISA有借鉴作用

    Linux/PISA(Platform for Integrated Secure Applications)是Linux操作系统针对金融自助设备的实现,它借鉴了WOSA/XFS的一些设计理念,以提供相同级别的安全性和兼容性。 WOSA/XFS协议的核心是将复杂的硬件操作...

    WOSA/XFS从 3.0 ----3.3

    - WOSA/XFS 3.3:进一步强化安全特性,增加了对新硬件和新技术的支持,如加密算法更新和移动支付接口等。 2. **超级柜台模块**: 超级柜台模块(Super Teller Module)是银行自助服务终端的一种高级功能,它涵盖...

Global site tag (gtag.js) - Google Analytics