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. SGU 174 Walls

    这题用并查集来做,判断什么时候形成了环即判断什么时候加入的线段两个端点原先是属于同一集合的.对于一个点,有两个坐标x,y,不好做并查集操作,于是要用map来存储,即做成map<node,int& ...

  2. Unity原厂讲师大解密

    Asset Bundle工作流程及人物换装实例- 刘刚 Unity内部的资源有两种 Resources:有10年历史,尽量用资产包 Asset Bundle:昵称AB,现今Unity处理资源的中心 A ...

  3. 09SpringMvc_再次讲一下SpringMvc的工作流:

    整个SpringMvc的流程图:

  4. Java中的IO流系统详解(转载)

    摘要: Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java ...

  5. usb驱动开发4之总线设备驱动模型

    在上文说usb_init函数,却给我们留下了很多岔路口.这次就来好好聊聊关于总线设备驱动模型.这节只讲理论,不讲其中的函数方法,关于函数方法使用参考其他资料. 总线.设备.驱动对应内核结构体分别为bu ...

  6. gunzip 和 unzip 解压文件到指定的目录

    Linux 常用的压缩命令有 gzip 和 zip,两种压缩包的结尾不同:zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz  相应的解压缩命令则是 gunzip 和 unzi ...

  7. Linux(10.18-10.25)学习笔记

    一.学习目标 1. 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 2. 理解局部性原理 3. 理解缓存思想 4. 理解局部性原理和缓存思想在存储层次结构中的应用 5. 高速缓存的原理和应用 ...

  8. JPush (极光推送) For Xamarin.Android

    官方教程上讲的是 GCM (Google Cloud Messaging) , 不过 GFW 是 GCM 过不去的坎. 极光推送 JPush 是国内的一个不错的替代方案. JPush 提供的 API ...

  9. swift项目实战FoodPin目录

    好吧,据说写博客能够找到好工作,那我也来分享一个项目吧! 自己自学iOS开发也有半年多了,现在就来分享一个swift的小项目吧!这个项目的来源是<Beginning iOS8 programmi ...

  10. WINDOWS8.1安装ORACLE客户端及配置

    1.官方网站下载: instantclient-basic-win32-11.2.0.1.0.zip instantclient-sqlplus-win32-11.2.0.1.0.zip instan ...