怡化新闻
版本控制代价大?看怡化ATMC开发利器──eCOLS平台
由于高级语言天生具备灵活性,使用其进行软件开发可以实现各种各样的软件功能。但如果在ATMC工程化开发中直接使用高级语言来编写业务流程代码,实现的业务流程必定严重依赖于运行环境和应用环境,无法将业务流程等平移到其它运行环境及应用环境,ATMC版本管理与控制成本增加,需要不断地重复投入,这是一直以来ATMC产业化没有很好解决的难题。例如使用C++语言在xp\win8\win10下实现ATMC调整音量的功能,由于每个操作系统有不同的API,为了实现这一简单业务功能,工程开发人员都需要熟练运用不同操作系统对应的API,反复去调试测试,严重降低工作效率,并提高了人力资源的要求。
十年前,国内好几家ATM软件公司和银行尝试推出囊括所有机型和品牌、兼容各厂商SP,能够进行各种特色业务开发的大一统ATMC终端软件。但是最终成功推出能够大面积覆盖市场的产品并不多,独自依赖软件运维实现企业盈利的更是凤毛麟角。那么如何验证一个大一统终端技术的ATMC产品能否大规模使用?也许一个较好的做法就是让一定规模的团队去适配出一定数量机型与业务的ATM运营,严格核算运维成本,并进行比较。
怡化历时三年打造的eCOLS平台,其工程开发仅需要图形化流程设计和少数简单脚本语言,实现了工程开发环境和平台开发环境的代码及其版本的有效隔离,该平台适合目前金融终端行业几乎所有的ATM、VTM和STM机具,满足金融业务、泛金融、自动终端等工程化开发需要。由于采用平台与业务分离的开发方式,平台不会随着业务的扩张而退化。在设计代码的版本控制上,是一份代码随着ATMC开发平台的不断升级成直线型进化,而不是像目前如同平台开发编码的工程化开发,ATMC版本像树状以指数级别速度进行裂变繁衍,在软件生命周期较短的时间内迅速达到几十、上百甚至数百个代码版本。尽管主观上ATMC开发者都在竭力控制版本数量,也许短时间内会有一些成效,但是始终是治标不治本,版本数量随着软件维护的推进呈不断扩散的态势无法逆转,直至ATMC产品过早的结束其生命周期。另外,让工程开发跟平台开发一样使用复杂语言和环境,从技术难度上,工程开发人员不仅要有平台开发人员的技术水准,而且对业务知识则要求更高,最终形成庞大的高级工程师队伍进行ATMC运维打天下的局面,一发不可收拾。
那么,怡化是如何实现ATMC产品工程开发和平台开发代码的有效分离呢?
怡化提出了基于Agent自治体技术的场景演化模型,使得ATMC工程开发使用的组件元件减少到屈指可数的几个。对这几个组件元件进行简单的参数配置和连接堆放,就形成了各种实现金融终端业务处理的流程。利用这些流程就可以实现ATMC可执行程序的自动化生成,从而使得各个业务图形化流程生成之间不再关联,做到流程边生成边调试,像堆放积木一样。业务开发能够进行各种业务尝试、业务转换、业务创新和业务测试,并直观的观察到执行结果。
怡化eCOLS平台根据工程业务实现的需要,对ATMC代码层面,演化的是平台版本,平台不断演化,以适配业务开发,而每一代新平台代码,始终只有一个。由于使用高级语言进行代码编程需要高水准专业程序设计人员才能全面掌控,怡化成功实现了将工程实施人员从复杂的编程环境和技术设计中解放出来,通过图形化连结和参数化配置方式,成功为工程开发人员打造了一个操作简单的ATMC工程开发环境,工程开发人员进行业务实现可以摆脱复杂编程环境。
相反的,如果工程开发,采用平台开发一样的代码形式和开发环境,那么每一个工程实现,都有一份新代码的产生,需要和平台一样进行开发、编译、打包、测试工作,这就要求每一个工程实施人员不仅是编程高手,还要求是平台熟手,更要求对业务需求熟练掌握。单从人力成本分析,ATMC工程化代价也不小了。
怡化eCOLS平台利用Agent设计思想,将页面、日志、数据处理、通讯、安全、异常处理等交易流程中的所有要素进行抽象,以期形成基本Agent,每一个Agent均可以通过图形化参数设置的方式进行开发和修改,通过触发函数和执行函数的不断重复相互调用,形成智能化的Agent执行场景,运用设备控制虚拟化技术,满足各种金融终端业务需求。
怡化eCOLS平台研制成功,解决了一直以来ATMC产品工程化受制于复杂软件编程技术实现的困境,实现了工程开发以可视化图形设计的方式而不是以平台开发语言方式实现。ATMC产品只需维护平台一套代码,就能够做到同时适配Linux、Windows和Android平台,eCOLS平台支持C/S模式、B/S模式,以及混合模式,支持分布式部署和分地区式CDN部署。平台选择WebView作为页面浏览器,已在国内大型银行Linux ATM跨平台应用上进行了验证,运行效果很好。平台业已囊括读卡器、密码键盘、后维护键盘、凭条打印机、日志打印机、存款模块、取款模块、存折模块等现金相关设备,以及发卡器、二代证、摄像头、A4打印、A4回收、高拍仪、支票扫描、指纹仪、UKEY模块、二维码、盖章机、印卡模块等非现金相关的设备,完全满足国内银行金融终端应用软件开发需要。
日前,怡化eCOLS产品已在国内大型银行、省农信成功应用,在一些中东国家的银行也正式投入运营。经过长达一年多运营,怡化eCOLS业已成功实现ATMC工程化低技术门槛和低成本运维的目标。