XFS标准PPT课件下载推荐.ppt
《XFS标准PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《XFS标准PPT课件下载推荐.ppt(52页珍藏版)》请在冰豆网上搜索。
发布WOSA/XFS标准v2.0,1998年:
CEN组织接手标准的制定,并更名为CENXFS2000年:
发布CENXFS标准v3.0,1998年:
NCR推出ActiveXFS,1999年:
SUN等公司推出J/XFS2000年:
形成J/XFSv1.0,1.3带来的好处,非XFS标准的应用,1.3带来的好处,XFS标准的应用,1.3带来的好处,统一了ATMC,利于银行业务的拓展。
1.4包括的设备类型,1.4包括的设备类型,1.4包括的设备类型,注:
红色项表示XFS2.0中没有、XFS3.0中有的设备类,主要内容,2.XFS工作原理,3.XFS几个相关问题,XFS体系架构、应用程序调用SP的过程、三种应用场景,相关API函数、三种通信模式、XFS配置、内存管理,2.XFS工作原理,2.1XFS体系架构2.2应用程序调用SP的过程2.3三种应用场景,2.1XFS的体系架构,2.1XFS的体系架构,各层调用关系表,2.1XFS的体系架构,CENXFS标准的作用是提供各类设备的标准接口。
能否不要XFSManager这一层,只是提供一份文档,将接口规范下来,设备提供商实现这些接口,ATMC调用这些标准接口,从而同样能达到ATMC与设备无关的特性?
2.2应用程序调用SP的过程,Application,XFSManager,SP1,SPn,一个应用程序调用多个SP的情况,2.2应用程序调用SP的过程,获取状态,执行命令,2.2应用程序调用SP的过程,XFSManager,ATMC,SP,建立应用程序和XFSManager之间的连接;
将应用程序的版本和XFSManager的版本进行比较。
建立连接,XFSManager提供了三个DLL,2.2应用程序调用SP的过程,XFSManager,ATMC,SP,建立应用程序和指定设备之间的逻辑连接;
根据设备逻辑名找到相应SPDLL;
将应用程序的版本和SP的版本、XFSManager的版本和SP的版本进行比较。
打开设备,如何根据设备逻辑名找到相应SPDLL?
2.2应用程序调用SP的过程,为应用程序注册事件,可以注册四类事件:
系统事件、服务事件、用户事件和执行事件,注册事件,XFSManager,SP,ATMC,2.2应用程序调用SP的过程,对设备加锁,使设备独占访问,锁住设备,什么情况下会出现设备被多次访问呢?
XFSManager,SP,ATMC,2.2应用程序调用SP的过程,获取设备状态,反映设备当前是否能正常工作,获取状态,如何区分不同设备的不同命令呢?
XFSManager,SP,ATMC,2.2应用程序调用SP的过程,执行硬件命令,如打印、出钞等,执行命令,如何区分不同设备的不同命令呢?
XFSManager,SP,ATMC,2.2应用程序调用SP的过程,对设备解锁,使设备可供其他应用程序访问,解锁设备,XFSManager,SP,ATMC,2.2应用程序调用SP的过程,将应用程序的事件注销,注销事件,XFSManager,SP,ATMC,2.2应用程序调用SP的过程,关闭应用程序和指定设备之间的逻辑连接,关闭设备,XFSManager,SP,ATMC,2.2应用程序调用SP的过程,XFSManager,ATMC,SP,断开应用程序和XFSManager之间的连接,断开连接,2.2应用程序调用SP的过程,打印机打印的命令调用过程WFSStartUpWFSOpenWFSRegisterWFSExecute(WFS_CMD_PTR_PRINT_FORM)WFSGetInfoWFSDeregisterWFSCloseWFSCleanUp,举例,2.3三种应用场景,真实环境,测试SP,测试ATMC,主要内容,2.XFS工作原理,3.XFS几个相关问题,XFS体系架构、应用程序调用SP的过程、三种应用场景,相关API函数、三种通信模式、XFS配置、内存管理,3.XFS几个相关问题,3.1相关API函数3.2三种通信模式3.3XFS配置3.4内存管理,3.1相关API函数,WFSStartUpWFSOpen(WFSAsyncOpen)WFSRegister(WFSAsyncRegiseter)WFSLock(WFSAsyncLock)WFSGetInfo(WFSAsyncGetInfo)WFSExecute(WFSAsyncExecute),3.1相关API函数,WFSUnlock(WFSAsyncUnlock)WFSDeregister(WFSAsyncDeregiseter)WFSClose(WFSAsyncClose)WFSCleanUp,3.2三种通信模式,立即(Immediate)同步(Synchronous)异步(Asynchronous),3.2三种通信模式,Application,XFSManager,SP,Application,XFSManager,SP,:
request:
callSPtoprocessrequest:
returnaresulthandle,立即,3.2三种通信模式,Application,XFSManager,SP,:
returnasuccessresulthandle:
returnthesuccessresulthandle:
sendcompletemessageincludingreturneddata:
returnanerrorresulthandle:
returntheerrorresulthandle,异步,注:
红色表示错误时的路径,3.2三种通信模式,Application,XFSManager,SP,:
returntheresulthandleretrievedfromthereturneddata:
returntheerrorresulthandle,同步,注:
红色表示错误时的路径,3.3XFS配置,3.3XFS配置,Logical_Services:
上层应用调用某个模块时使用的逻辑设备名。
必须项:
Class、Provider。
紫金应用使用的逻辑设备名如下:
CardReader(读卡器)CashDispenser(出钞模块)CashAcceptor(存款模块)OperatorPanel(后台维护终端)Encryptor(加密键盘)ReceiptPrinter(凭条打印机)JournalPrinter(流水打印机)VendorDependentMode(厂商依赖模式),3.3XFS配置,Physical_Services:
各个厂商自定义的设备配置项Service_providers:
SP指向的Dll。
dllname、vendor_name、version。
XFS_Manager:
XFSManager的配置项(一般不会改变)。
可选项:
TraceFile、ShareFilename、ShareFilesize。
3.3XFS配置,必须,Logical_Services,3.3XFS配置,可选,Physical_Services,3.3XFS配置,必须,Service_Providers,3.3XFS配置,厂商自定义,XFS_Manager,如何找到相应SP的Dll,根据Logical_service下面的设备逻辑名找到相应的Provider,然后在Service_provider中根据此Provider找到相应的DLLName。
SP内存管理,C语言中的内存管理,void*malloc(size_tsize),voidfree(void*memblock),SP内存管理,XFSManager提供了四个函数进行内存管理WFMAllocateBufferWFMAllocateMoreWFMFreeBufferWFSFreeResult,SP内存管理,typedefstruct_wfs_cdm_cashunitUSHORTusNumber;
USHORTusType;
USHORTusNumPhysicalCUs;
LPWFSCDMPHCU*lppPhysical;
WFSCDMCASHUNITtypedefstruct_wfs_cdm_physicalcuLPSTRlpPhysicalPosName;
BOOLbHardwareSensor;
WFSCDMPHCU,*LPWFSCDMPHCU;
如何使用以上函数对下面的结构体进行内存分配?
SP内存管理,先调用WFMAllocateBuffer;
WFMAllocateBuffer(sizeof(WFSCASHUNIT),WFS_MEM_SHARE,(LPVOID*),SP内存管理,内存变化过程示意图,谢谢各位!