全部博文(287)
分类: 系统运维
2009-10-19 09:14:41
在AS400环境下,我们还能做什么?
(草稿)
IBM的AS400平台以它优异的综合处理能力、硬件和操作系统的可靠稳定性、对DB2数据库操作的简洁、应用项目实施周期短和综合费用低,在金融行业和ERP行业得到应有的一席之地。
AS400进入中国市场,得到较为广泛的应用,已经有二十多年的历史了,随着AS400平台上的应用项目广泛铺开,越来越多的有关AS400平台应用项目问题被逐渐摆到桌面上了。一些在应用项目开始肯投资AS400平台的应用企业,因为应用项目运行中的AS400没有到达预期的运行效率,而又不断承受在某些建议下,不断扩容AS400的硬件环境的投资压力。另一方面,随着企业的日益增长的业务需求,需要AS400平台上的应用开发能够及时地更新,但是如何在AS400平台下纵深扩充应用系统?如何在企业应用架构中横向融入新的业务?等等这些针对AS400平台的压力,需要我们开发人员积极思考和提供实际可行的实施方案。
这里首先就纯AS400项目实施技术,探讨一下在目前的AS400环境下,我们还能做些什么?
以往的国内AS400应用开发绝大部分都是局限于用AS400平台尽快地实现某类行业业务的应用开发和实施。在开发过程和运维过程中,且这里不多评论数据库的合理性,就程序的编程手段,几乎局限于OPM程序,或ILE下的OPM开发模式,有部分的静态调用服务程序,也有极少项目采用AG实施技术。
处于上述的实施技术的局限性,我们可以在AS400平台下做以下事情,以适应AS400平台应用项目的纵深扩充。
(一)
(一) 应用系统瘦身
到目前为止,绝大部分的AS400环境下的应用系统都是基于统一无间隙框架结构,即OS/400下的应用系统各模块之间是之间仅用程序关联,或DB2文件关联。
这样的应用架构造成了应用系统非常庞大。而且,随着应用需求地不断增加,应用系统会产生如下结果:
·有一发动全身的压迫感。从单一应用点来说,无法直接了当地加入具体应用功能;
·整体应用系统软件更新费用大,开发周期长;
·当应用系统膨胀到一定程度时,加上应用架构初期开发架构存在缺陷,客户要简单地、快速地优化系统,只能提升AS400硬件平台,从而造成客户增加应用平台的硬件投资成本。
著名的SSA公司的BPCS ERP系统在国际上占有较广泛的应用客户群,北美对企业的ISO9000,ISO9002的评审条件之一就是看企业是否采用BPCS来做企业ERP管理。
BPCS早期是个非常好的ERP管理系统,对北美企业较固定的流程化管理发挥了较大的作用。然而,随着企业不断地增加新的业务和新的处理流程,以及BPCS用户群的不断增大、巨量的客户需求不断提出,SSA在BPCS上,就不断更新无缝的应用系统。随着BPCS版本地不断更新,BPCS系统越来越庞大,整体购置费用随之增加。更新版本提升功能的难度越来越大。
北美客户对当前BPCS应用版本的平价,BPCS最多只有20%~30%的适用度。
BPCS使SSA一度辉煌;BPCS也把SSA拖向没落。
采用应用系统瘦身要触及应用系统的框架结构。
较理想的实施方法:
1) 在当前的AS400平台上,采用一个AS400环境下的交换平台,把应用系统各模块之间处理由无缝联接改为通过交换平台的联接。
2) 在完成上述系统改造后,可以把各自独立的应用业务模块拆迁到其它应用环境。
如果拆迁到AS400环境,每移动一个应用业务模块,在AS400的交换平台上定义相应的dataq和程序。
如果拆迁到unix平台,如AIX,在unix平台端增加一个交换平台。Unix平台的交换平台与AS400平台的交换平台进行Q通讯。
采用AS400环境下瘦身可以得到以下好处:
1) 大幅度减轻AS400平台的硬件环境性能压力和投资压力;
2) 如果再结合以下几大点的优化措施,就可以较容易地、快速地添加应用具体功能模块和程序;
3) 绝大部分的传统前端绿屏应用可以转化到开放结构的图形前端应用上来。
对中国的银行核心业务,可以做到无需更换前端智能终端,而直接使用开放资源的图形界面。
对中国采用pc作为AS400前端平台的ERP绿屏操作的企业,也可以直接使用开放资源的图形界面。
(二)ILE程序的module化
采用ILE程序module化有三点好处:
1) 可以实现一处修改,所有用到这个module的程序都可及时更新;
2) 在合理的应用框架下,能够简单快捷的扩充应用纵深应用模块;
3) Module化是实现AS400平台下应用多线程处理的基础,是提高AS400系统运行效率的有效手段之一。
(三) ILE程序的UDF化
采用ILE程序的UDF化,User Defined Function,有以下好处:
1) 对相对固定数据参数的UDF,OS/400只执行一次,直到输入参数产生变化。从而达到减轻系统运行压力,提高系统对应用的运行效率。
如利率的UDF,输入参数是某日,这一天对这个UDF,系统只会运行一次UDF,在这一天中只要运行这个UDF,且输入参数未产生变化,系统都会自动跳过对这个UDF的调用。
2) 在ILE编程语言中直接调用;
3) 在SQL语言,或文本中直接嵌入调用;
4) 可以整合应用项目的编程代码,以达到代码的复用性目的。