掌桥专利:专业的专利平台
掌桥专利
首页

针对银行系统的快速开发装置

文献发布时间:2023-06-19 11:57:35


针对银行系统的快速开发装置

技术领域

本发明涉及程序开发领域,具体的说是针对银行系统COBOL程序的快速开发装置。

背景技术

COBOL语言是一种典型的按文件系统方式进行数据处理的语言,文件(如档案、帐册等)是事务数据处理的基础。COBOL程序将处理对象按一定方式组织成文件,记录在计算机的外部设备上,它通过对数据层次结构的描述,说明同一文件中数据项之间的联系,因而可在数据的任一层次进行检索和处理。银行系统作为一种典型的事务数据处理需求,大多采用COBOL语言来进行编程。

目前,受限于银行系统数据处理的复杂性,对于使用COBOL程序开发银行系统的新手,在刚开始开发程序时,由于业务与技术经验不足,对银行系统COBOL程序的开发流程、开发规范、各类底层平台组件以及开发语言不够了解,导致学习时间长、开发质量差、上手慢等问题。

发明内容

为了解决上述问题,提供了针对银行系统的快速开发装置,实现图形控件与COBOL代码的映射与转换,有效提高银行系统COBOL程序开发效率和质量。

本发明实施例提供了针对银行系统的快速开发装置,所述的装置包括:

数据库转换模块,用于创建符合数据治理相关标准的数据库表,按照COBOL语法规范及银行系统架构规则,以及翻译标识符转换成COBOL表数据结构定义文件;

应用程序接口转换模块,用于定义输入接口、输出接口、文件接口、内部服务函数接口、常量、平台接口、其他接口的数据,按照COBOL语法规范及银行系统架构规则,以及翻译标识符转换成COBOL表数据结构定义文件;

应用架构转换模块,用于将可视化程序转换成符合COBOL语法规范和银行系统架构规则的COBOL程序。

进一步的,所述的数据转换模块包括但不限于以下转换逻辑:

string[n],根据翻译器标识符翻译成X(n)或者不翻译;

decimal[m,n],根据翻译标识符翻译成S9(m-n)V9(n)COMP-3或者S9(m-n)V9(n)或者9(m-n)V9(n)COMP-3或者9(m-n)V9(n);

decimal[m,0],根据翻译标识符翻译成S9(m)COMP-3或者9(m)COMP-3。

进一步的,所述的应用程序接口转换模块包括但不限于以下转换逻辑:

string[n],转换为X(n);

Integer,根据翻译器标识符翻译成9(n)或者S9(n);

decimal[m,n],根据翻译标识符翻译S9(m-n)V9(n)COMP-3或者S9(m-n)V9(n)或者9(m-n)V9(n)COMP-3。

进一步的,所述的应用架构转换模块包括:

标识部转换单元,用于按照COBOL代码标识部语法规则进行转换,包括程序名、作者、日期、程序功能描述及变更履历;

环境部转换单元,用于按照COBOL代码环境部语法规则进行转换,固定为“ENVIRONMENT DIVISION.”;

数据部转换单元,用于按照COBOL代码数据部语法规则进行转换,包括“WORKING-STORAGE SECTION”节和“LINKAGE SECTION”节的转换;

程序部转换单元,用于按照COBOL代码程序部语法规则进行转换,包括输入输出参数转换、程序段转换、内部服务函数调用转换、底层平台组件调用转换、常规语句转换、特殊语句转换。

进一步的,数据部转换单元包括以下转换逻辑:

基本项变量,按照COBOL代码数据部语法规则映射转换;

组合项变量,需要定义成类成员变量,然后再按照COBOL代码语法规则翻译;

常量,需要变量缺省值属性来实现COBOL代码常量的翻译;

引用变量,是“LINKAGE SECTION”节定义的用于地址引用的变量,需要设置变量的引用属性后才能翻译成符合COBOL语法的“LINKAGE SECTION”节变量;

进一步的,程序部转换单元的转换逻辑包括:

输入输出参数转换:程序种类分为联机、批量、内部服务函数和连线报表程序,每一类的输入输出参数各不相同,但每一类都有自己固定的参数形式,所以,组装式开发平台翻译器按照银行系统架构规则为每一类程序翻译成相应的输入输出参数;

程序段转换:将无返回值的方法成员按照COBOL语法规范和银行系统架构规则翻译成COBOL代码的程序段;

内部服务函数调用转换:将调用的应用服务程序按照COBOL语法规范和银行系统架构规则翻译成COBOL代码的子程序调用;

底层平台组件调用转换:包括数据库访问转换、文件访问转换、错误处理转换,其中:

数据库访问:将数据库的增、删、改、查定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码;

文件访问转换:将文件的打开、读取、关闭定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码;

错误处理转换:将程序错误捕获处理定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码;

常规语句转换:将常用开发控件,比如赋值、分支、循环、算术运算、字符运算等控件,按照COBOL语法规范翻译成对应的COBOL代码;

特殊语句转换:不支持的COBOL命令需要先在组装式开发平台先进行扩展,增加相应的控件或方法,然后按照COBOL语法规范翻译成对应的COBOL代码。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

1)应用程序中定义的所有数据结构,必须先进行定义,然后才能使用,这将严格控制数据在数据架构与应用架构的一致性,降低了开发过程中数据结构名称输入错误的几率,提高了开发质量;

2)由于转换模块本身已经定义了转换逻辑,新人学习相对简单,可以没有COBOL语言经验,简单培训后就能快速上手开发,降低了学习时间和培训费用;

3)使用方法简单,利用转换模块对复杂的COBOL功能模块进行了封装,原先的10多行的代码,现在只需要1个控件即可实现,大大提升了开发效率;

4)转换模块转换后的的程序是图形化的,较文本程序来说,可读性要更好。

附图说明

图1是本发明装置的整体原理框图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1所示,本发明实施例提供了针对银行系统的快速开发装置,所述的装置包括数据库转换模块、应用程序接口转换模块、应用架构转换模块,其中,所述的应用架构转换模块包括标识部转换单元、环境部转换单元、数据部转换单元、程序部转换单元。

结合实际操作时的范例,上述模块所实现的功能为:

一、数据库实体数据定义转换

通过创建符合数据治理相关标准的数据库表,按照COBOL语法规范及银行系统架构规则,以及翻译标识符转换成COBOL表数据结构定义文件,数据类型的转换规则如下:

1)string[n]:根据翻译器标识符翻译成X(n)或者不翻译。其中,针对翻译成X(n)的类型,例如string[1],直接转换为X(1);针对不翻译的类型:以B开头X结尾的9位长的字段,默认为次索引列,转换成COBOL时,不进行转换。

2)decimal[m,n]:根据翻译标识符翻译成S9(m-n)V9(n)COMP-3或者S9(m-n)V9(n)或者9(m-n)V9(n)COMP-3或者9(m-n)V9(n)。

其中,翻译成S9(m-n)V9(n)COMP-3如下表所示:

翻译成S9(m-n)V9(n)如下表所示:

翻译成9(m-n)V9(n)COMP-3如下表所示:

翻译成9(m-n)V9(n)如下表所示:

3)decimal[m,0]:根据翻译标识符翻译成S9(m)COMP-3或者9(m)COMP-3。

翻译成S9(m)COMP-3如下表所示:

翻译成9(m)COMP-3如下表所示:

二、应用程序接口数据定义转换

应用程序接口数据定义主要包括输入接口、输出接口、文件接口、内部服务函数接口、常量、平台接口、其他接口等,通过将这些数据定义,按照COBOL语法规范及银行系统架构规则,以及翻译标识符转换成COBOL应用接口数据结构定义文件,数据类型的转换规则如下:

1)string[n]:翻译为X(n);

2)integer:根据翻译器标识符翻译成9(n)或者S9(n);

翻译成9(n)如下表所示:

翻译成S9(n)如下表所示:

3)decimal[m,n]:根据翻译标识符翻译成S9(m-n)V9(n)COMP-3或者S9(m-n)V9(n)或者9(m-n)V9(n)COMP-3。

翻译成S9(m-n)V9(n)COMP-3如下表所示:

翻译成S9(m-n)V9(n)如下表所示:

翻译成9(m-n)V9(n)COMP-3如下表所示:

三、应用架构转换

1)标识部转换:按照COBOL代码标识部语法规则进行转换,包括程序名、作者、日期、程序功能描述及变更履历。

具体转换逻辑为:

可视化程序的“名称”属性值转换成COBOL代码的“程序名”(PROGRAM ID);

可视化程序的“创建者职员标识”属性值转换成COBOL代码的“作者”(AUTHOR);

可视化程序的“创建时间”属性值的前8位转换成COBOL代码的日期(DATE-WRITTEN);

可视化程序的“描述”属性值转换成COBOL代码的功能描述及修改履历等注释信息。

2)环境部转换:按照COBOL代码环境部语法规则进行转换,固定为“ENVIRONMENTDIVISION.”。

3)数据部转换:按照COBOL代码数据部语法规则进行转换,包括“WORKING-STORAGESECTION”节和“LINKAGE SECTION”节的转换。其中,“WORKING-STORAGE SECTION”节用于定义COBOL程序中使用的临时变量、常量和文件结构,其中常量是其值在整个程序生命周期内固定不变的,而变量的值是随着程序逻辑的变化而变化;“LINKAGE SECTION”节用于定义与外部程序间交互的数据结构,可以理解为程序的输入、输出参数。

其中:

基本项变量:按照COBOL代码数据部语法规则映射转换;具体转换逻辑为:

①可视化程序数据成员的英文名称原样转换成COBOL代码的临时变量;

②可视化程序数据成员的中文名称转换成COBOL代码临时变量的注释;

③可视化程序数据成员的数据类型转换如下:

string[n]:翻译为X(n);

integer:根据翻译器标识符翻译成9(n)或者S9(n);

decimal[m,n]:根据翻译标识符翻译成S9(m-n)V9(n)COMP-3或者S9(m-n)V9(n)或者9(m-n)V9(n)COMP-3。

组合项变量:需要在组装式开发平台中定义成类成员变量,然后再按照COBOL代码语法规则翻译;具体转换逻辑为:

①类成员的基类名转换成COBOL代码组合项变量的01层;

②类成员的子类名或成员转换成COBOL代码组合项变量的05层,这里的层号默认递增步伐为5,可以根据标志位来更改该值;

③类成员的孙子类名或成员转换成COBOL代码组合项变量的10层,这里的层号默认递增步伐为5,可以根据标志位来更改该值;

④以此类推,实现多层级的组合项变量的转换。

常量:需要变量缺省值属性来实现COBOL代码常量的翻译;具体转换逻辑为:可视化程序数据成员的DefaultValue属性值不为空时,则会转换成COBOL代码的常量。

引用变量:是“LINKAGE SECTION”节定义的用于地址引用的变量,需要设置变量的引用属性后才能翻译成符合COBOL语法的“LINKAGE SECTION”节变量;具体转换逻辑为:可视化程序数据成员的IsEmbedded属性值为false时,则会转换成COBOL代码的“LINKAGESECTION”节变量。

4)程序部转换:程序部转换主要包括输入输出参数转换、程序段转换、内部服务函数调用转换、底层平台组件调用转换、常规语句转换、特殊语句转换等。其中:

输入输出参数转换:程序种类分为联机、批量、内部服务函数和连线报表程序,每一类的输入输出参数各不相同,但每一类都有自己固定的参数形式,所以,组装式开发平台翻译器按照银行系统架构规则为每一类程序翻译成相应的输入输出参数。

其中,联机程序的具体转换逻辑为:可视化程序的“名称”属性值以G**0开头的为联机程序(“*”表示任意一个A-Z的字母),输入输出参数固定转换为“USING APA-AREA.”。

批量程序的具体转换逻辑为:可视化程序的“名称”属性值以G**B开头的为批量程序(“*”表示任意一个A-Z的字母),输入输出参数固定转换为“USING IOPCB-ADDR,AIF-AREA,SYS-AREA,BMP-AREA.”。

内部服务函数程序的具体转换逻辑为:可视化程序的“名称”属性值以K或C开头的为内部服务函数程序,输入输出参数固定转换为“USING AIF-AREA,P*******,SYS-AREA.”(“*”表示任意一个字母或数字)。

连线报表程序的具体转换逻辑为:可视化程序的“名称”属性值以G**OP或者G**OC开头的为连线报表程序(“*”表示任意一个A-Z的字母),输入

输出参数固定转换为“USING IOPCB-ADDR,AIF-AREA,SYS-AREA,BMP-AREA,CMTRPTRP.”。

程序段转换:将无返回值的方法成员按照COBOL语法规范和银行系统架构规则翻译成COBOL代码的程序段。具体转换逻辑为:

①可视化程序的主流程转换成COBOL代码的“0000-MAIN-PROCESS-ROUTINE.”段。

②可视化程序的方法成员,方法成员英文名原样转换成COBOL代码的段名。方法成员的注释转换成COBOL代码段名的注释。

③每个程序最后固定增加错误处理段“9999-MESSAGE-HANDLE-RTN.”。

④除连线报表程序外,其他类型程序最后固定增加程序结束处理段“9000-TXN-END-RTN”。

内部服务函数调用转换:组装式开发平台将调用的应用服务程序按照COBOL语法规范和银行系统架构规则翻译成COBOL代码的子程序调用。具体转换逻辑为:可视化程序的CallService组件的应用程序标识及参数转换成COBOL代码的“CALL内部服务函数名USINGAIF-AREA,参数,SYS-AREA.”

底层平台组件调用转换:底层平台组件是银行系统架构底层封装的一些基础服务程序,此类程序调用使用的输入参数需要遵循一套固定的格式,这类程序主要有数据库访问、文件访问、错误处理等,其中:

数据库访问:将数据库的增、删、改、查定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码。

其中,数据库增加的转换逻辑为:可视化程序的数据库表成员的Insert方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库插入功能的调用,转换后的样式为:

数据库删除的转换逻辑为:可视化程序的数据库表成员的Delete方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库删除功能的调用,转换后的样式为:

数据库修改的转换逻辑为:可视化程序的数据库表成员的Update方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库更新功能的调用,转换后的样式为:

数据库查询的转换逻辑为:

①可视化程序的数据库表成员的Select方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库只读查询功能的调用,转换后的样式为:

②可视化程序的数据库表成员的SelectWithLock方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库更新读查询功能的调用,转换后的样式为:

③可视化程序的数据库表成员的按游标只读Read方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库只读游标查询功能的调用,转换后的样式为:

④可视化程序的数据库表成员的按游标更新读Read方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库更新读游标查询功能的调用,转换后的样式为:

⑤可视化程序的数据库表成员的按唯一索引Select方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库唯一索引查询功能的调用,转换后的样式为:

⑥可视化程序的数据库表成员的按游标索引查询Read方法转换成COBOL银行系统底层平台数据访问接口GDBIMAIN数据库游标索引查询功能的调用,转换后的样式为:

文件访问:将文件的打开、读取、关闭定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码。

其中,打开文件的转换逻辑为:

①可视化程序的文件流对象的CreateFlow方法(输入文件)转换成COBOL银行系统底层平台文件访问接口GFAIMAIN打开输入文件功能的调用,转换后的样式为:

②可视化程序的文件流对象的CreateFlow方法(输出文件)转换成COBOL银行系统底层平台文件访问接口GFAIMAIN打开输出文件功能的调用,转换后的样式为:

③可视化程序的文件流对象的CreateFlow方法(输入输出文件)转换成COBOL银行系统底层平台文件访问接口GFAIMAIN打开输入输出文件功能的调用,转换后的样式为:

④可视化程序的文件流对象的CreateFlow方法(APPEND模式)转换成COBOL银行系统底层平台文件访问接口GFAIMAIN以追加模式打开文件功能的调用,转换后的样式为:

读取文件的转换逻辑为:

①可视化程序的文件流对象的ReadNext方法转换成COBOL银行系统底层平台文件访问接口GFAIMAIN循环读取文件功能的调用,转换后的样式为:

②可视化程序的文件流对象的按KEY值Read方法转换成COBOL银行系统底层平台文件访问接口GFAIMAIN读取索引文件功能的调用,转换后的样式为:

关闭文件的的转换逻辑为:可视化程序的文件流对象的Close方法转换成COBOL银行系统底层平台文件访问接口GFAIMAIN关闭文件功能的调用,转换后的样式为:

错误处理:将程序错误捕获处理定义为一套类成员方法,翻译器按照COBOL语法规范和银行系统架构规则翻译成COBOL代码,具体转换逻辑为:可视化程序的公共内存区对象的MessageHandle方法转换成COBOL银行系统底层平台错误处理“PERFORM 9999-MESSAGE-HANDLE-RTN”功能的调用,其中MessageHandle的“错误码”参数转换成“MOVE错误码TO AIF-MSG-CODE”;MessageHandle的“错误描述”参数转换成“MOVE错误描述TO AIF-MSG-TEXT”。

常规语句转换:组装式开发平台将常用开发控件,比如赋值、分支、循环、算术运算、字符运算等控件,按照COBOL语法规范翻译成对应的COBOL代码。其中:

赋值的转换逻辑为:“=”控件转换成COBOL代码的MOVE赋值语句;

分支的转换逻辑为:“Select”控件转换成COBOL代码的IF分支语句;

循环的转换逻辑为:“Loop”控件转换成COBOL代码的PERFORM UNTIL循环语句;

算术运算的转换逻辑为:

①“+”控件转换成COBOL代码的COMPUTE加法运算;

②“-”控件转换成COBOL代码的COMPUTE减法运算;

③“*”控件转换成COBOL代码的COMPUTE乘法运算;

④“/”控件转换成COBOL代码的COMPUTE除法运算。

特殊语句转换:组装式开发平台不支持的COBOL命令,需要先在组装式开发平台先进行扩展,增加相应的控件或方法,然后按照COBOL语法规范翻译成对应的COBOL代码。其中,翻译成SEARCH ALL语句的转换逻辑为:可视化程序扩展的_helper对象的BinarySearch方法转换成COBOL代码的SEARCH ALL语句。

尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。

相关技术
  • 针对银行系统的快速开发装置
  • 一种快速开发国标终端协议的方法及装置
技术分类

06120113117722