2024年3月12日发(作者:)

WOSA/XFS

架构分析和实现

分类: ATM技术相关2007-09-15 17:34 4611人阅读 评论(2) 收藏 举报

数据结构apieventswindowsdll金融

这篇文章取的名字很不好意思,见笑。针对本文有以下声明:

1、本文中使用的图片来自WOSA/XFS的规范文档,我只是汉化了一下而已。

2、本文原文发表于2006年7月的《银行卡与受理市场》。谢绝任何转载。

XFS(Extensions for Financial Services),扩展金融服务。这几年在国内各商业银行及

金融设备供应商之间开始变得热门起来。本文的内容来自笔者在学习XFS时的一些笔记,

有一些理解不太透彻或正确的地方,还望各位专家批评指正。

要了解XFS,就不能不提WOSA(Windows Open System Architecture)和CEN

(European Committee for Standardization)。

WOSA,Windows开放式系统架构,是微软公司提出的一种在Windows操作系统下的

软件架构。WOSA是一种使基于 Windows 的桌面应用程序不需为每个平台重写应用程序

就能连接到多计算环境的接口,允许基于 Windows 的应用程序连接到多种计算环境,而

不用为每个平台重写应用程序。像我们经常用到的ODBC之类的都是WOSA的一部分,而

XFS就是其中用于金融扩展服务的那部分,是微软公司针对金融行业提出的一种软件架构。

最初是由微软、几家大的金融设备厂商和银行一起制定的一套技术规范。

CEN,欧洲标准协会(欧洲标准化委员会)。在这个委员会中,有CEN XFS Workshop

这么一个工作组,是BSVC(Banking Solution Vendors Council,这是由超过20家金融设备

厂商组成的一个委员会)的附加部分。现在,正是位于比利时的这个小组在管理和维护着这

套规范。

前面讲的都是XFS的一些背景,那么XFS到底什么呢?一套基于C的WIN32 API。

这是一套为了既方便应用开发者,又方便服务提供者的技术规范,定义了各类金融外围设备

的驱动接口。采用这个接口的应用,都可以运行在任何能够提供符合这个规范的接口的金融

设备上,而不论是哪家厂商。

上图就是XFS的体系结构图,我们可以看到,XFS实际上就是由API、SPI两套接口

和一个管理器组成,这套规范主要就是API和相应的SPI这两套分别针对应用和底层服务

开发的接口定义,另外还有一些其他的支持服务。习惯上,我们把应用叫做AP,把XFS

Manager叫做管理器,而把底层的用来驱动硬件设备的那层叫做SP(即Service Providers)。

在这个架构中,应用调用API来操作设备,而API则是由管理器提供的。也就是说,

应用所有的操作都需要通过管理器才能实现。管理器匹配API和相应的SPI,然后发送请求

到相应的SP,这些SP可能是不同的厂商提供的。SP则提供SPI,SP是设备的管理者,

向管理器和AP提供设备的操作和状态信息等,并通过Windows消息向管理器和AP提供

这些信息。

管理器由3个DLL(动态链接库)组成,3个DLL分别提供不同功能。

名称

描述

安装路径

提供基本的API和调系统目录,如

用SPI函数

c:/winnt/system32

XFS_

提供一些支持函数,比系统目录,如

如内存分配之类

c:/winnt/system32

XFS_

提供配置函数,比如读系统目录,如

写配置信息

c:/winnt/system32

这3个DLL是随XFS的规范一起发布的,当然,也有一些软件厂商自行编写。

API有下面3种

基本功能:诸如 StartUp/CleanUp、Open/Close、Lock/Unlock和Execute,

这些都是所有的XFS设备和服务类都支持的。