从事银行核心系统设计开发的程序猿
发布时间:2019-06-05 11:17:27
AS400传统写法比开放平台数据库执行SQL效率高的几个原因,我想了一下,看看对不对。1,没有sql语句的解析处理,直接操作文件指针,也不需要统计更新,不会系统自己选错索引。2,访问时直接定位文件指针位置,然后READ,READP,按记录前后读,无需像sql这样事先准备结果集(结果集是最消耗的因素)。3,PF是定长记录,.........【阅读全文】
发布时间:2016-07-09 23:21:46
操作系统V7R3的主要变化: 7.3 CL语言 没有新增的内容。 C/C++语言 新增了对C++11标准的支持。通过LANGLVL(*EXTENDED0X)可以开放使用。 RPG语言 增加了完全自由格式的写法。第一行**FREE表示整个文件.........【阅读全文】
发布时间:2016-04-13 02:46:06
*交易和组件写法Firebird核心系统的整体结构,是由主控--交易--组件这几个层次组成的。联机交易主控由C程序编写,异步交易主控和日终批量主控由CL和RPGLE程序编写。主控通过交易码调用相应的交易RPGLE程序,交易程序又通过CALLP调用不同模块的组件RPGLE程序,完成整个处理逻辑。交易程序和组件程序都总结了一套模.........【阅读全文】
发布时间:2016-04-11 01:25:47
*面向对象实现运行中目标解析,模拟覆盖方法在核心系统这样大型的软件系统设计中,面向对象的设计方法,有助于分解复杂度,既保持抽象统一,又有灵活性。这里说的面向对象设计方法,不是指使用面向对象的编程语言就可以,而是指设计系统的思想。系统架构不进化,即使用Java这样的面向对象编程语言,也一.........【阅读全文】
发布时间:2016-04-05 02:34:06
*异常处理在核心系统开发和运行中,异常处理是特别重要的一环。异常的规划,对于系统的表现能力和查错能力有着巨大的作用,仔细的设计是十分值得的。之前的报文格式中,提到Firebird的返回码,是10位STRING。如果交易正常,返回码为'OK',如果出错,则为错误代码。如果为AS400系统级错误,则为F+系统错误代码,.........【阅读全文】
发布时间:2016-04-04 19:37:48
*命名限定在以往的RPG程序中,很让人头疼的一点就是字段的来源不直观,以及同名字段的相互影响。在程序中,字段可以是通过F表定义文件而引入的记录格式字段,也可以是EXTNAME引入的参照外部文件形成的结构字段,还可以是DS定义的字段以及直接用D定义的变量。如果考虑到有/COPY引入DS定义的情况,通常会造成在程序.........【阅读全文】
发布时间:2016-02-22 00:14:14
*数据字典和枚举值 在核心系统应用开发中,数据字典有举足轻重的作用。数据字典是对系统中所有字段的归纳抽象,需要规范同类字段的类型长度,方便定义和修改。 但是,在过去的核心系统中,数据字典的理解往往也会有失误。常见的错误方法,是试图穷举定义所有可以出现的字段名字.........【阅读全文】
发布时间:2015-08-24 02:37:49
*报文格式
AS400核心系统的联机交易报文,是体现系统设计优劣的一个重要部分,并且,也决定了联机交易主控的处理方式
系统的报文规范遵循简单灵活安全高效的原则,应做到以下几点。首先,交易通过短连接单次通讯完成,不需要先分配端口,多次交互,也没有任.........【阅读全文】
发布时间:2015-08-21 02:06:25
*多成员表
银行核心系统通常生命周期在10年左右,现在随着银行系统的数量和复杂度增加,系统的生命期也有逐渐变长的趋势。通常核心系统上线时,很多数据表的记录数并不太多,而当系统运行年限越来越长,巨型数据表就越来越多。另外,随着城商、农信的省级集中,用.........【阅读全文】
发布时间:2015-08-10 02:26:16
*性能加速之批处理事务提交
在核心系统中,对性能要求最高的,就是批处理程序了。那么,对批处理提升性能,有哪些技术方法呢?下面介绍一下在Firebird系统中的做法。......【阅读全文】
发布时间:2015-07-27 02:55:02
*激活组
随着AS400的程序模型从OPM发展到ILE,写法上有了巨大的提升。激活组的引入,作为ILE最重要的变化,影响到整个系统程序的组织和性能。可是目前,仍然有很多系统,沿用着老式的OPM写法和程序组织,没有对激活组做好规划,只是使用缺省激活组管理,从而失去了ILE激活组带来的可控资源管理和性能提升,颇为可惜。因此,我介绍一下在Firebird核心系统中,对ILE激活组的使用方式,作为参考。更详细的信息,可以查看IBM官方手册的《ILE Concepts》文档。......【阅读全文】
发布时间:2015-07-03 01:15:25
*性能加速之加载内存
对于AS400系统来说,有一个提升性能的利器,利用系统的内存加载技术,将需要的表或者程序,预先加载到内存中,使用的时候,大大提高了操作速度。
具体的使用上,系统提供的一个CL命令,SETOBJACC。以下是IBM官方资料《i5OS Commands》里关于这个命令的用法。......【阅读全文】
发布时间:2015-06-18 07:22:37
*多语言与多环境
系统对多语言的支持,这在某些情况下,也是非常有用的,例如将核心系统部署为海外分行系统。通常情况下,海外系统独立搭建,操作人员部分是当地人员,也可能有派驻人员。同一套环境的多语言随时切换,其实并不存在实际场景,因为数据表内容存放,只会按照一个语言标准。举.........【阅读全文】
发布时间:2015-06-08 11:14:16
*用户空间USER SPACE的使用用户空间USER SPACE,是AS400所提供进程间通讯的另一个机制,可以保存一块较大的持久化数据。常用的三大机制,DATA AREA在核心系统中用于控制参数的设置,例如批处理平台并发数控制,联机平台各种标志,以及全局内容在*LDA的跨PGM保存传递。DATA QUEUE可用于进程间传递消息数据,因核心系统.........【阅读全文】
发布时间:2015-05-31 16:09:21
随着国家的自主安全可控号召,AS400系统看来在银行IT逐渐退出了。因此很遗憾,重新规划开发的AS400新核心系统就告一段落。不过,在开发过程中,有不少技术值得总结共享,如果有谬误,或有更优方法,也请大家指正。 开发中使用的技术,基本上都是参照IBM信息中心的官方文档,链接在这里.........【阅读全文】
发布时间:2015-05-31 15:38:21
数据区域DTAARA,是一小片存储对象,通常使用1-2k大小的CHAR类型。持久化的命名数据区域,可以在不同job间交互数据。在系统中使用了这种方式存放配置参数,方便做到不重启应用的动态刷新。另外还有几个特殊数据区域,常见的是*LDA,1k大小的job自有共享区域,可用于job内不同程序间的数据交互,起到全局空间的作用。*LDA.........【阅读全文】
发布时间:2015-05-31 15:31:01
*COPYRIGHT设置 让我们从一个比较无聊的技术开始吧,哈哈。COPYRIGHT就是编译成目标后,可以用DSPPGM,DSPMOD等,翻到版权页,显示的字符串。这个要怎么弄呢?考虑到系统有很多程序,因此采用了设置包含源文件的方式实现。 RPGLE .........【阅读全文】
发布时间:2015-05-31 15:17:56
系统选择了V6R1的版本,ILE环境(从OPM转到ILE不需要解释了吧)。这是因为V6R1有一个重大提升:RPG程序内部结构的大小限制从64K提升到了16M。这让DS,数组更具实用性。例如,交易程序的PARM,通常是输入接口复合DS,输出接口复合DS,遇到数组时64K就不够用。V7R1,V7R2也有不少改变,特别是V7R2,完善了.........【阅读全文】