发明内容
本发明的目的在于提供一种基于RAP技术的银行综合前端系统,以解决现有技术中传统银行前端系统功能基于当时的业务考虑,只需满足与后台核心服务对接完成业务办理的需求,因此功能单一,缺乏系统整合能力,同时受限于自身架构模式,无法适应所有实际环境的问题。
为实现上述目的,本发明提供如下技术方案:一种基于RAP技术的银行综合前端系统,包括通过RAP框架技术与SWT/JFace图形库结合的前端界面、B/S与C/S架构模组、开发模式上使用纯数据驱动和动态类加载技术的交易界面、使用表达式引擎解析并处理的界面逻辑模组和使用http通信协议构建的本地驱动服务模组。
优选的,包括通过RAP框架技术与SWT/JFace图形库结合的前端界面,具体为:
按照SWT/JFace的开发模式开发统一的前端界面,用于直接展现或解析数据展现交易界面,本地程序直接打包导出可执行程序,WEB程序通过RAP框架技术构建基于AJAX的Web 2.0应用程序,采用交叉编译的方式将Java代码生成html、JavaScript和CSS文件,界面事件处理时前台JS框架通过json数据与后台Java代码运行结果进行交互,从而达到B/S与C/S架构模式的界面代码统一编写。
优选的,B/S与C/S架构模组,具体为:
通过前端界面代码定义统一的服务接口,服务接口的实现分为本地调用方式服务包、WebService调用方式服务包、RMI调用方式服务包;
打包时根据配置的服务调用方式字符串而将不同的服务接口包与统一的前端代码进行组合构建,最终导出B/S与C/S架构模式的服务安装包和应用程序。
优选的,开发模式上使用纯数据驱动和动态类加载技术的交易界面,具体为:
数据上分为:菜单定义,数据字典,选项明细,交易定义,打印模板,查询模板;
动态类加载为:通过菜单结构中定义的交易代码反射加载Java类,初始化各项参数生成动态界面。
优选的,菜单定义:定义树形菜单结构,包括:项目代码(XMDM)、项目名称(XMMC)、子菜单(ZCD)、交易代码(JYDM);
数据字典:定义系统所有可用字段,包括:数据编码(SJBM)、数据类型(SJLX)、数据长度(SJCD)、小数位数(XSWS)、数据名称(SJMC)、标志(BZ);
选项明细:选项组别(XXZB)、选项取值(QZ)、选项名称(MC);
交易定义:交易联动(JYLD)、启动条件(QDTJ)、入口数据(RKSJ)、打印配置(DYPZ)、交易屏幕(JYP)、文本框(TEXT)、下拉框(COMBO)、表格(TABLE)。
优选的,使用表达式引擎解析并处理的界面逻辑模组,具体为:
界面字段控件,字段的进入条件和离开条件采用逻辑表达式方式,若没有定义进入条件,则默认为可以进入,若没有定义离开条件,则默认为可以离开,离开条件可以带拒绝信息,当不满足条件时显示拒绝信息;
拒绝信息格式为:离开条件=条件表达式##拒绝信息,##为表达式和拒绝信息之间的分隔符。
优选的,逻辑表达式的语法规则为:
逻辑条件表达式规则:
变量:字母开头a-z,A-Z;
字符串常量:用双引号括起来;
数值常量:数字1-9和小数点(.);
算术表达式:+-×/;
公共字段或当前交易字段:不带前缀;
外部字段(其它子交易字段):带前缀(联动标识.字段);
逻辑运算符:AND表示与关系,OR表示或关系,{}表示优先。
优选的,使用http通信协议构建的本地驱动服务模组,具体为:
本地外设服务由C语言编写,集成外设厂商动态库,调用稳定、高效,外设驱动版本自动升级,统一管理;调用过程为,浏览器向本地驱动服务发出http ajax调用请求,请求地址为127.0.0.1,驱动服务调用完成后返回相应结果,其中调用请求不局限与本机,也可以由其他终端发出,方便外设共享使用,同时由于采用http请求,是浏览器和客户端都能按统一的方式调用。
与现有技术相比,本发明的有益效果是:建立统一的前端平台,实现多渠道、多系统的整合,采用交易开发与配置相结合的开发方式快速迭代开发,加快需求响应速度,提高银行服务水平,从而银行提升竞争力。同时,基于RAP技术,建立一套同时支持C/S、B/S架构的系统,满足不同环境下采用更适合的架构模式的需求。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1至6,本发明提供一种技术方案:一种基于RAP技术的银行综合前端系统,用于银行网点工作人员办理各项业务,其包括通过RAP框架技术结合SWT/JFace图形库编写统一的前端界面,并采用一种独特的打包构建方式发布B/S、C/S架构程序,开发模式上使用纯数据驱动和动态类加载技术开发交易界面,使用自主研发的表达式引擎解析并处理界面逻辑,使用http通信协议构建本地驱动服务,由此构建具有特色的前端系统架构。
通过RAP框架技术结合SWT/JFace图形库编写统一的前端界面,具体为:
按照SWT/JFace的开发模式开发统一的前端界面,用于直接展现或解析数据展现交易界面,本地程序直接打包导出可执行程序,WEB程序通过RAP框架技术构建基于AJAX的Web 2.0应用程序,采用交叉编译的方式将Java代码生成html、JavaScript和CSS文件,界面事件处理时前台JS框架通过json数据与后台Java代码运行结果进行交互,从而达到B/S与C/S架构模式的界面代码统一编写。
采用一种独特的打包构建方式发布B/S、C/S架构程序,具体为:
通过权力要求2所述采用一套统一的前端界面代码,定义统一的服务接口,服务接口的实现分为本地调用方式服务包、WebService调用方式服务包、RMI调用方式服务包,实际打包时根据配置的服务调用方式字符串而将不同的服务接口包与统一前端代码进行组合构建,最终导出B/S、C/S架构模式的服务安装包和应用程序。
开发模式上使用纯数据驱动和动态类加载技术开发交易界面,具体为:
数据上分为:菜单定义,数据字典,选项明细,交易定义,打印模板,查询模板。
菜单定义:定义树形菜单结构,包括:项目代码(XMDM)、项目名称(XMMC)、子菜单(ZCD)、交易代码(JYDM)。
数据字典:定义系统所有可用字段,包括:数据编码(SJBM)、数据类型(SJLX)、数据长度(SJCD)、小数位数(XSWS)、数据名称(SJMC)、标志(BZ)。
选项明细:选项组别(XXZB)、选项取值(QZ)、选项名称(MC)。
交易定义:交易联动(JYLD)、启动条件(QDTJ)、入口数据(RKSJ)、打印配置(DYPZ)、交易屏幕(JYP)、文本框(TEXT)、下拉框(COMBO)、表格(TABLE)。
动态类加载:通过菜单结构中定义的交易代码反射加载Java类,初始化各项参数生成动态界面。
使用表达式引擎解析并处理界面逻辑,具体为:
界面的每一个控件,如:文本框、下拉框、表格等我们称之为字段,字段的进入条件和离开条件不再采用函数模式,而采用逻辑表达式方式,若没有定义进入条件,则默认为可以进入,若没有定义离开条件,则默认为可以离开,离开条件可以带拒绝信息,当不满足条件时显示拒绝信息,格式为:离开条件=条件表达式##拒绝信息(##为表达式和拒绝信息之间的分隔符),字段进入执行:进入条件:输入字段之前可以执行字段赋值操作(保留功能)、字段离开执行:离开字段时也可以执行字段赋值操作。
表达式语法规则,具体为:
逻辑条件表达式规则:
变量:字母开头a-z,A-Z;
字符串常量:用双引号括起来,如“abc”;
数值常量:数字1-9和小数点(.);
算术表达式:+-×/;
公共字段或当前交易字段:不带前缀;
外部字段(其它子交易字段):带前缀(联动标识.字段);
逻辑运算符:AND表示与关系,OR表示或关系,{}优先。
赋值表达式规则:
无条件赋值表达式:变量=值表达式;变量=值表达式;
有条件赋值表达式:逻辑条件表达式?条件为真执行:条件为假执行#无条件表达式#…。
使用http通信协议构建本地驱动服务,具体为:
本地外设服务由C语言编写,集成外设厂商动态库,调用稳定、高效,外设驱动版本自动升级,统一管理。调用过程为,浏览器向本地驱动服务发出http ajax调用请求,请求地址为127.0.0.1,驱动服务调用完成后返回相应结果,其中调用请求不局限与本机,也可以由其他终端发出,方便外设共享使用,同时由于采用http请求,是浏览器和客户端都能按统一的方式调用。
通过本技术方案,银行综合前端系统,采用模块化组件开发,同时支持C/S和B/S架构,由服务端、客户端、交易开发平台(集成开发环境IDE)组成。
客户端负责交易的输入输出、外设控制,服务端负责业务处理及渠道整合。系统为模块化组件结构,采用表达式解析方式处理交易界面逻辑。
使用SWT/JFace图形库构建前端界面,本地程序直接运行,WEB程序基于RAP框架采用JS解析服务数据生成界面。
如图1所示客户端由主框架、通用组件层、数据层构成。组件层通过数据层解析的数据生成丰富的交易界面,界面配置灵活多变;重组原子交易为复杂交易;拥有强劲的界面逻辑处理能力;通过数据配置方式方便增加定制交易;可以通过增加组件的方式增加各种设备支持。
客户端在操作员登陆时,将对前端框架、数据、交易组件进行读取并缓存,改善了系统的反应速度,减轻了系统负荷、网络传输,大幅提高了系统响应速度,改善了柜员操作体验。
通讯组件
封装了客户端与业务应用服务之间的通讯功能,屏蔽了复杂的通讯底层协议和安全控制,如报文加/解密、报文解/压缩、MD5校验码的计算/校验、通信数据的128位SSL加密、并实现了逻辑上的负载均衡等功能,使业务二次开发人员只需关心业务逻辑及界面的开发;
其他组件
其他组件包含本地数据更新组件、终端外设管理组件、验印控件、指纹控件、日志组件、影像控件等功能模块;
本地数据更新组件提供本地化参数及本地数据字典的管理,柜员每日签到时从主机更新数据字典及参数到本机使用,相对于其它公司产品完全基于服务端管理参数的模式来说,由于每次操作不需要到服务端下载数据字典等大量数据,大大减少了系统负荷、网络传输,大幅提高了系统响应时间,改善柜员操作体验;本地数据组件提供自动及手工更新功能。
日志组件提供了分级的本地及远程日志记录功能,在网络无法连通的情况下在本地记录日志,并可在网络恢复后将日志上传到日志服务器供系统管理人员分析使用。日志上传后清空本地日志。
验印控件实现自动、电脑辅助验印功能。
指纹控件采集指纹并通过指纹系统校验柜员身份。
影像控件实现影像的采集、加工、展现与影像本地存储服务的接口功能。
终端外设管理组件使用平台的插件接口规范以插件的方式提供不同种类、不同型号的设备的支持,使应用开发人员无需关注不同设备的细节,能够快速支持新的设备扩展。
交易解析器
对基于二次开发平台开发的交易,通过解析界面描述数据展现,负责事件的监听,界面逻辑的执行,数据的输入输出,控制基本控件与自定义复杂控件的属性。同时若部署为B/S架构亦能为前台浏览器提供组件服务。
数据层
数据层可以根据业务需求定制不同的控件,包含前端整合控件、业务功能控件、流程管理功能等。
功能控件
系统预制的管理功能控件,如监控、报表、柜员管理等。
前端整合控件,通过控件集成的方式集成其他外围系统应用的客户端,如核心系统的字符终端、身份联网核查的B/S终端、验印系统的C/S终端等。
如图2所示业务应用服务拥有高效灵活的对内对外通讯机制,为客户端提供交易逻辑服务、文件资源服务、在线升级服务;对客户端的配置进行多级别粒度的管理;提供与主机、指纹、其他应用系统的接口服务。
如图3所示系统提供了图形化、流程化、可配置的包含了交易定制、通讯设置、版本管理等功能的二次开发平台。
平台层
基于强大而灵活的Eclipse平台技术,开发出支持多平台,插件功能可拆卸的IDE平台。
插件层
柜面系统采用插件架构,系统的所有模块都以插件形式实现。插件主要包括:
交易界面可视化开发工具:通过gef等框架,开发可拖拽的,所见即所得的可视化开发工具。
后台操作逻辑开发工具:通过java代码编写,支持代码提示,编译等功能。
页面逻辑开发工具:通过对表达式引擎的集成,实现在统一开发环境下完成开发工作。
打印模板配置功能:通过所见即所得的可视化开发,生成打印所需的数据格式,下发至前台调用打印程序进行打印。
交易输入、输出定义配置工具:需要对各个交易的输入、输出进行相关的可视化配置。
交易发布工具:支持发布相关的交易文件至服务端,方便开发时的调试工作。
流程配置工具:可是化的流程节点配置工具,可配置交易过程中的不同岗位的流程,包括:录入、复核、授权、提交等。
如图4所示,RAP可以让开发人员使用JAVA API和按照SWT/JFace的开发模式构建基于AJAX的Web 2.0应用程序,RAP的工作原理是采用交叉编译的方式将Java代码生成html、JavaScript和CSS文件,底层基于Qooxdoo AJAX框架,这样,我们就不必接触JavaScript、CSS和处理Http的细节了,只是编写Java代码就能实现一套代码两种表现模式(C/S,B/S),从而可以让我们更关心程序的功能实现;
如图5所示系统提供统一的外设驱动配置管理服务,对各种外设调用进行支持,外设服务包括两部分,服务端统一进行外设配置管理,防止客户端随意添加外设驱动,只能使用区联社入围驱动,客户端进行外设调用调试。本地外设服务由C语言编写,直接集成各类外设厂商动态库,调用稳定、高效,外设驱动版本自动升级,统一管理。调用过程为,前端系统向本地驱动服务发出http调用请求,驱动服务调用完成后返回相应结果,其中调用请求不局限与本机,也可以由其他终端发出,方便外设共享使用。
如图6所示系统界面组件部分为系统UI界面展现的公共部分,即一套代码同时表现两种架构模式的界面。在项目构建打包时,C/S架构会将应用程序组件和界面组件作为前台界面部分进行构建,构建配置会将服务接口的实现设置为WebService调用的方式,会将WS客户端组件作为服务接口的实现与服务接口组件进行构建,这样程序在运行过程中就会以调用WebService服务的方式运行了。C/S架构的服务端构建时,构建配置设定服务接口的实现为WS服务接口调用的方式,会将后台服务组件和WS服务端组件一起构建打包,服务端部署一个提供WebService服务的包。
B/S架构会将WEB组件和界面组件作为前台界面部分进行构建,构建配置设定服务接口的实现为本地服务接口调用的方式,会将后台服务组件、服务接口组件和本地调用服务接口组件一起构建打包,服务端部署时为一个完整的包,客户通过浏览器访问获取图形和服务资源。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型。