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是具体的设备厂商提供的驱动程序

可以通过http://www.xfsws.com/techspecs.htm了解一些xfs的基本常识。总体说,现在所有主要大厂商都是该标准的参与者,
Diebold, NCR, wincor都已经为很多总行开发了XFS终端软件。软件结构大致为windows OS->XFS SP->Middleware(like Involve)-> 
development Environment(Aptra/Agilis/ProToPas)-> Application.
由此可见,所有厂商都为 xfs开发了便于自己开发atmc的开发环境,目的是大大节约开发时间和复杂度。 
 
一般是这样的:
使用HTML网页作为ATM操作界面,在网页中调用ActiveX控件来控制业务流程。
有许多ActiveX控件,一般每个设备一个控件,再加上其它像网络、协议等控件。
HTML网页中通过JavaScript或其它脚本调用ActiveX控件的方法,实现对硬件的控制和流程的控制。
HTML网页中调用flash来显示画面。
 
转自:http://blog.csdn.net/gkyh899/article/details/12982211

金融自助设备WOSA/XFS规范介绍的更多相关文章

  1. WOSA/XFS及SP综述

    转自  http://blog.csdn.net/andyhou/article/details/6888416 前言:         写给ATM硬件和软件人员的无言歌.         希望对工作 ...

  2. USB 3.0规范中译本 第10章 集线器,主机下行口以及设备上行口规范

    本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章描述USB 3.0 集线器的体系结构要求.本章还描述主机下行口和集线器下行口之间功能性的不同之处,以及设 ...

  3. JavaSript模块规范 - AMD规范与CMD规范介绍(转)

    JavaSript模块规范 - AMD规范与CMD规范介绍 JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者 ...

  4. 79.iOS 设备的UI规范和iOS各控件默认高度

    iOS设备的UI 规范 iPhone界面尺寸 iPhone图标尺寸 iPad的设计尺寸 iPad图标尺寸 iPhone设备尺寸分辨率比例 iPhone各设备 launch image iOS 各种控件 ...

  5. WOSA XFS 官方文档地址

    WOSA XFS 官方文档地址: ftp://ftp.cencenelec.eu/CWA/CEN/WS-XFS/

  6. sptt规范介绍

    相关资源 如何开发sptt工程的原子操作 移动端测试方案--sptt sptt规范 一个标准的sptt工程的目录如下: [sptt-project] | -- [ios] | | -- [atoms] ...

  7. JavaSript模块规范 - AMD规范与CMD规范介绍

    JavaSript模块化   在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?       模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...

  8. 异步编程之Javascript Promises 规范介绍

    什么是 Promises Promises是一种关于异步编程的规范,目的是将异步处理对象和处理规则进行规范化,为异步编程提供统一接口. 传统的回调函数 说到JavaScript的异步编程处理,通常我们 ...

  9. JavaSript模块规范 - AMD规范与CMD规范介绍 (转载lovenyf.blog.chinaunix.net)

    JavaSript模块化   在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?       模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...

随机推荐

  1. jquery实现整屏翻屏效果:jquery.mousewheel(一)

    实现整屏上下翻效果:需加载的js <script type="text/javascript" src="js/jquery-1.8.3.min.js"& ...

  2. Cg关键字(keywords)

    保留标识符 除了下面列出的,任何以两个的下划线作为前缀(例如,__ newType)的标识符被保留. 注意,矩阵(matrix)和向量类型(vector types)(如half2x3或float4) ...

  3. Unity 协程与线程

    协程是不同步的 协程 不是 线程,协同程序是 不同步 的 一个线程在程序中和其他线程是异步运行的,在多处理器机器中一个线程可以同时与所有其他线程的实时运行其代码,这使得线程编程能够解决很复杂的事情,因 ...

  4. FMDB 使用方法

    优秀的第三方库,README 也是很优秀的,理解了 README,会对使用带来很多便利. ARC 和 MRC 项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目 ...

  5. <global-results>怎么用

    <global-results>中的result可以被所有action跳转,所有action都可以跳转到result 所有返回值为“json”的action,都可以跳转到json.jsp

  6. 基于Html5的移动端开发框架的研究

    下面统计信息部分来自网络,不代表个人观点.请大家参考.         基于Html5移动端开发框架调查                                   序号 框架 简介 优点 缺 ...

  7. C#报错:创建调试信息文件 ……obj\Debug\model.pdb: 拒绝访问

    错误:创建调试信息文件“.......\obj\Debug\model.pdb”时发生错误 --“......\obj\Debug\model.pdb: 拒绝访问. 解决办法如下: 删除该项目下的 b ...

  8. 在matlab中进行遥感影像地理坐标的相互转换

    在matlab中进行图像处理,一般使用的都是图像本地坐标,以左上角(1,1)开始.处理完成后,如果要将结果在带地理坐标的遥感影像中显示,或者需要输出成shp文件,就需要涉及到本地坐标和地理坐标的转换, ...

  9. Cordova开发环境的搭建

    Cordova开发环境的搭建 原文地址:http://imziv.com/blog/article/read.htm?id=66 Cordova为目前做混合式开发中比较受欢迎的一个解决方案了,并且拥有 ...

  10. Common Lisp编译程序的小技巧

    这几天开始玩Common Lisp,遇上了一个有意思的问题,CL一般是解释运行,也有实现可以编译生成字节码(fas文件).我正在用的两种CL实现是SBCL和CLISP,前者是我从<实用Commo ...