wosa(全称是windows开放式系统体系结构 windows open system architecture),是微软公司提出的一种在windows操作系统下的软件架构。
wosa/xfs是基于wosa的扩展金融服务(window open system architecture/ extensions for financial services),是微软公司为全球金融行业软件提出的一种软件架构,它在wosa软件架构的基础上针对全球金融行业进行了一些相应的修改。
随着全球信息技术的发展和个人电脑的发展,人们倾向于购买各个电脑厂商的硬件,然后自己组装成一台完整的电脑,这样可以避免购买单个厂商的硬件,从而不用受制于某个单独的厂商。作为与个人电脑相似的银行金融外设行业(以atm为例),银行希望能够象个人电脑一样购买多个厂商的产品,然后组装成一台atm机。这样一来,银行的atm机就不会受制于某一家厂商,银行只需要一台atm机的各个厂商维护各自的设备,整机可以由某个厂商维护,也可由专门维护atm机的专业公司来维护。最终,会有更多原来没有能力生产整台atm的厂商或代理公司进入到金融行业,它们只销售atm机中的几个硬件,从而银行拥有更多的选择,会得到更多更好的服务,得到更便宜的价格,它是各个厂商互相竞争中的最大受益者。所以,国外银行现在都要求各个厂商的设备能够互相连接起来,从而组成一台完整的atm机。
为了使不同厂商的金融外设能够组合成一台完整的atm,需要在两方面考虑,一方面是硬件的互连,一方面是软件的互连。由于硬件的发展有很多年的历史,也有许多已有的技术规范能够使不同的硬件在物理上连接起来,所以硬件的互连基本都可以做到。但是软件的发展历史相对于硬件来讲时间比较短,还没有现成的技术规范能够使不同硬件上的控制软件能够互相连接起来。为了处理金融行业的软件互连问题,微软公司、几个大的金融外设厂商和几个大的银行机构在一起讨论,最终定下来了一套软件技术规范。只要任何一个厂商自己硬件的软件驱动程序符合这套规范,那么它的硬件就可以无缝连接到其他同样符合这套规范的atm机上,而不需要做任何的软件改动。同时wosa也规定了硬件驱动程序和atm上层控制流程的程序之间的接口规范,从而银行可以购买非厂商提供的atmc上层程序,比较典型的是kal公司,它可以不卖硬件,只卖软件,提供给银行更多的选择和更专业的软件服务。
这一套软件技术规范就被称为wosa/xfs规范,一般简称wosa/xfs。
因为银行作为wosa的最大受益者,所以国外银行购买的金融设备都要求符合wosa规范,其中atm首当其冲的被要求必须符合wosa规范。当然,ncr、diebold等大的atm厂商都很快迎合这种需要,相继对原有的软件进行了彻底的改造,推出了自己的符合wosa规范的atm软件。
近几年,随着wosa的优点越来越被肯定,所以国内银行相继要求各个厂商提供符合wosa标准的硬件驱动程序,并且ncr、diebold等国外厂商也在大力的向国内银行推广它的wosa软件,灌输wosa的概念,相信随着时间的推移,国内各个银行一定也会走国外银行同样的道路,最终要求各个厂商的金融外设全部符合wosa的规范。
WOSA的特点
++使用Microsoft* Windows*作为client-server计算机操作系统平台
++通过WOSA族的开放接口和相关服务来集成Windows平台的应用
++尽量利用现有在WOSA元素;仅在现有WOSA族服务不能提供有关服务时加以定义和扩展,并尽可能使用现有的格式和标准
++金融服务WOSA扩展(WOSA/XFS)适用于金融应用的特殊服务和设备需要
++在API和SPI定义上保持*别的兼容性,以适应新型和增强功能的扩展能力
WOSA接口
WOSA仅包含一系列稳定的,开放界面接口,而将系统复杂性对用户和开发人员隐藏。WOSA 允许用户和开发人员对各种服务和企业具有无缝集成Windows应用的能力;因为它提供了同类设备层的标准接口,如读卡器类,一个应用与具体的读卡器无关,从一个供应商A的读卡器换到另一个供应商B的读卡器,无需更改任何应用程序。它包括这样一些接口:
++开放数据库连接 (ODBC) 作为标准数据库存取
++消息应用编程接口(MAPI)作为消息服务的存取
++通讯支持, 包括 Windows SNA, RPC, and Sockets
WOSA元素
++每个WOSA元素包括一套相关软件, 一般由设备供应商提供:
++应用程序接口 Application Program Interfaces (APIs)
++服务提供接口 Service Provider Interfaces (SPIs)
WOSA/XFS定义了以下的设备服务
++摄相机 cameras
++存款单元 deposit units
++读卡器 identification cards
++密码键盘 PIN pads
++传感器和指示器 sensors and indicator units
++文字终端 text terminals
++吐钞机 cash dispenser modules
++各类打印机 a wide variety of printing mechanisms
wosa和jxfs都能做到具体的设备和应用程序保持独立性,两者的区别就是前者是windows平台,后者是Java平台。
JXFS有DC(Device Control)和DS(Device Service)两层组成,应用程序都是基于DC编写的,DS是具体的设备厂商提供的驱动程序