




已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)多货币基金会计系统的开源框架设计分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕士学位论文 摘要 摘要 随着互联网的普及和开源框架技术的不断发展,许多早期开发的金融系统已 经无法满足金融企业发展的需求,逐渐成为了企业内部的遗留系统。它们一方面 保存了企业内部十分重要的商业逻辑和大量珍贵的数据;另一方面也因为技术人 才的缺失和开发效率的低下逐渐成为企业发展的瓶颈。因此如何应用更成熟、先 进的技术和框架对这些遗留系统进行应用与开发成了目前很多企业关注的焦点。 本文所涉及的多货币基金会计系统就是这样一套开发于上世界7 0 年代遗留 系统,它是一个基于i b m 大型机【l 】的金融系统,保存了大量商业逻辑和基金数据, 因其稳定、高效、可靠的服务质量得到大量企业用户的青睐。但由于其技术人员 稀少、开发流程过长、成本太高等问题,该系统已逐渐无法适应企业发展的需要。 为了提高系统对企业需求变化的适应性,降低系统的开发成本,提高系统的维护 性和扩展性,利用新技术开发一套面向该系统的框架就成为了当务之急。而大型 机上的mc t g 技术f 1 】与j a v a 开源框架的无缝结合使得这样的架构应运而生。 本文介绍了一套面向多货币基金会计系统的开源框架( o p e ns o u r c e f r a m e w o r k ) 的设计与具体实施过程。在文章的开头部分首先介绍了当前的行业背 景、研究背景以及开源框架的定义和应用;其次针对其他面向大型机的开源产品 进行了分析比对,并结合他们的优缺点分析出开发这样一套开源框架的价值和意 义;然后从系统本身出发,详细的分析了系统的总体架构、各个模块之间的关联 以及重要模块的具体实现;接着文章还对该框架改进的模块进行了介绍,同时也 介绍了一个基于该框架开发的w e b 服务应用程序;最后,本文总结了该框架目前 存在的一些问题和并提出了其未来的发展方向。 关键字:大型机,开源框架,c t g ,j a v a ,w e b a b s t r a c t 塑垩奎兰婴主兰垡丝苎一 a b s t r a c t w i t ht h er a p i d d e v l e l o r p “m e e n c t 。m o f et 也h e en l e e g t w a c o y r k 耐a s n t 锄d o s p o u c e ns w o u r l l c m e f u r a 。m 7 e w o r k , s o m e , e 枷e r 缸a n c e s 芒h ! 冀= 耋乏:= 芝:够y ;s t 锄k e e p a m c 州r 锄e n to f 咖d s e s 抑d 。呻础啪? n e j = 嘞t h “e o 岬t h e r h a n d , t h e yh a y e 乒e a tm m l b e r o fi m p o r t a n tb u s i n e s sl o g i ca n d d d e v a t a e l ;。u p e r n m vj u m , 。, , 1 棚d e v e l o p m e n t b e c o m et h eb o t t l e n e c kb e c a u s e o ft h e f o l a c u s c ke o d f :。= s m o a l r c l u a d v i , l _ t , 。锄l v c , e d , - 驵dm 批e e 伍c i 铋c y s 0m a n ye n t e r p r i s e s h a v ef o c u s e d0 1 1 嘶m p “。 t e c h n 0 1 0 舭啊a d e m e s “e g 芝y = 。s y s t 锄删0 p c d 试1 9 7 0 s n 狐e d t h i s p a p e r i n t r o d u c e s a 缸强叫s ? 1 晡i ! = :l = :猫a b o v e i t ,sb a s e do n m u l t i - c u r r e n c y a c c o 【1 】u n t 。i n g ; s y l f s e t e e d m s , 1 w o t h s i c 。h f b u i ss a i n l e e g s s a c l 。y 伊s y c s m t 。l u u f u n dd a t a i t sw e u - u s e d 恤酬m 触畔1 :竺筹慧三:= 淼= i t c 弧,t s a t i s 鸟t h en e e d b y m 删u s e r s 竺的酗吼竺:竺三- := :三= e 恤f l e x i b i l i t y t o b e c 籼e o mk 班c o s ta n d1 础缸d 竺:= = e = = ,sm a n c e 觚a m er e q 皿锄锄t ,c ,u tt h e 。d e 仟v a e m l o 酮p m ,0 r k e n t 三三薹嚣;:i sr e q 陋e d j a v ao p e n e x p 础慨d e v e l o p i n g 妇锄洲瞅筹嚣i :h l :t i 二t o m ed e s i g n s o u r c ef r a m e w o r k a n di b mc t g t e c h n 0 1 。譬= u 一二删廊丘删0 r k t h i s p a p e ri n t r o d u m c e s t h e “d i 】e s g i g s n y s t 眦a n d 篡筹e i t n $ d c s o l 锄a l l e u s p 也, l e ib a c k 印u n dd 鼍 铷et 。m 1 i n i - c 哪e n c ya c c o 岫t = ? 埘l ? = 二二。i t 狃a l y s e st h ev a l u e0 f s y s t e ma n d t h e d e f i n i t i o no f 删t h r c e 兰:f r a m e w o r k 一1 u v u a n o t h e ro p e n w i t h c o m p a r m b 。v 。觥e d e v e l o p i i l gs u c ha n0 p e i is o u r c e 缸m e w 。r k 一一砌d e f e c t s i n 她n e x t ,t h e p r o d u c t i o nf o rm a i n f r a m es y s t e m w o f i t h t h i n e i t sa d v a n s o t u r c a g e e s 二e w o r k ,i t a l s 。t “s m c p a p e ri n t r o d u c e ,s t h e ,a r c h i t e c t u r e f 兰兰o p e n 淼= e rd e s 砷e s 雠p 砷0 f 谳撕哗ana竺eme州ntati椭on锄。三=odule蟛:二:撇on毗删-inaw e ba p p n c a u u , xu = 恤洳螂r o v e d 吣砌= := 觚d 也ee x p c c 协o n f o rt h e 。p e n 刚r c e t h e 印i d ,m ep a p e rm a k e s a l lm c l u s l o n 砸mu l 。“p 。 f r a m e w o r k k e yw o r d s :m 撇锄e ,o p 锄s 0 c e f r 锄e w o r k , c t g , j a v a , w e b 浙江大学硕士学位论文 图目录 图目录 图2 1m c a s 基本功能图。9 图3 1s c ) a 的角色和关系1 9 图3 2o s f 系统架构图2 0 图3 3o s f 数据流框架2 2 图3 4i d f 数据描述2 3 图3 5d fd a t a 的属性2 5 图3 6r u l e s 的配置文件2 6 图3 7c h a n n e l 的类图2 7 图3 8g e n c a s h 类图2 7 图3 9i d f 的执行流程2 8 图3 1 0d f 调用类图3 0 图3 1 1i d f 的多态伪代码图3 0 图3 1 2j d b c 调用s e l e c t 过程3 1 图3 1 3d fs e l e c t 示例d f 3 2 图3 1 4c o n n e c t i o np o o l 的实现方式一3 3 图3 1 5r e s u l t s e t 的调用过程3 3 图3 1 6o s f 的c t g 调用过程“3 5 图3 1 7s t r u t s 的结构图3 6 图3 1 8s t r u t s 的a c t i o n 配置图3 6 图3 1 9o s f 几硒tt e s tc a s e 继承类图3 7 图3 2 0o s fj u n i tt e s tc a s e 效果图3 8 图3 2 1i d f 数据延迟加载过程( 1 ) 3 9 图3 2 2i d f 数据延迟加载过程( 2 ) 3 9 图3 2 3o s f 框架的登录界面4 0 图4 1r u l e s 线性查找图4 3 图4 2r u l e 的线段a v l 平衡2 叉树查找图4 4 图4 3 线段a v l 平衡2 叉树查找算法伪代码。4 5 图4 4 单枝2 叉树查找图4 5 图4 5c h a n n e l 与r u l e s 关系图一4 6 图4 6c h a n n e l 的链表缓存结构图4 7 图4 7 链表结构的g e n c a c h e 结构图一4 8 图4 8g e n c a c h e 查找缓存外部节点4 9 图4 9g e n c a c h e 查找缓存内部节点4 9 图4 10i d fs c r i p t 的s r c 文件示例5 1 图4 11i d f的 文件示例5 2 s c r i p t x m l i i i 塑望查竺堡圭堂竺笙奎 图目录 图4 1 2i d f _ s c r i p t 的生成j a v a 文件示例。5 3 图4 1 3o s f 框架的w e bs e r v i c e 架构5 5 图5 1r e q u e s tn u m b e r 的业务需求5 8 图5 2r e q u e s tn u m b e r 的模块架构6 1 图5 3r e q u e s tn u m b e r 的查询i d f 6 2 图5 4r e q u e s tn u m b e r 控制层代码6 3 图5 5r e q u e s tn u m b e r 表现层控件开发6 4 图5 6r e q u e s tn u m b e r 执行结果图6 5 i v 浙江大学硕士学位论文 表目录 表目录 表4 1a v l 2 叉树查找效率对比表4 6 表4 2 堆栈队列效率对比表5 0 表5 1r e q u e s tn u m b e r 数据库设计6 1 v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得滥姿盘堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签名:飞鑫蠢鹕 签字日期:加喁年6 月;日 学位论文版权使用授权书 本学位论文作者完全了解 迸婆盘堂 有权保留并向国家有关部门或机 构送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝婆盘鲎 可以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 胁,- 呐 签字日期:圳玳年6 月日 导师签名砌- - 签字日期:2 蕊年月;日 , 浙江大学硕士学位论文第1 章绪论 1 1 研究背景 第1 章绪论 多货币基金会计系统( m u l t i c u r r e n c ya c c o u t i n gs y s t e m ,m c a s ) 是一套基于 大型机【1 】( i b mm a i n f r a m e ) 的基金货币会计系统,该系统主要功能是针对货币基 金进行数据审核、统计并向用户产生报表数据。目前在该系统上运行了大量的银 行商业逻辑和应用程序,为了更好的利用这些数据为银行业务服务和工作,本文 将介绍一种面向m c a s 的开源框架。该框架利用了现有的j a v a 开源框架【l o 】和m m c t g 技术对m c a s 的现存业务进行整合,并提供快速高效的开发模型和基于组 件化的服务功能,把原有系统的功能同开源平台进行有效整合,并提供了基于互 联网的前端功能,同时也将现行的一些软件工程的方法学8 1 和设计模式【7 】带入 m a i n f r a m e 这个古老的系统中去,为遗留系统的商业逻辑的设计与开发提供了新 的思路。 1 1 1 行业背景介绍 m mm a i n f r a m e 是指s 3 6 0 开始的一系列的m m 计算机及兼容的计算机。最 初的m a i n f i :a m e 是指那些装在带框的大铁盒子里的大型计算机系统;第一个版本 的s 3 6 0 系统【2 7 】诞生于1 9 6 4 年,当时c o b o l 语言诞生仅仅4 年,而距离l i n u x 的出现还有2 7 年。尽管在2 0 世纪9 0 年代,专家们一直认为大型机的一成不变 将会导致最终的灭亡,但在度过了千年危机的m a i n f r a m e ,通过其对硬件成本的 控制和软件系统的不断升级,为m m 提供了巨大的销售额和利润【2 8 1 。 m a i n f r a m e 经过3 0 多年的不断更新,其稳定性和安全性在所有计算机系统中 是首屈一指的f 2 引,正是因为这方面的优点和强大的数据处理能力,到现在为止还 没有其他的系统可以替代。但由于其成本巨大,使用大型机系统的一般是以政府、 银行、保险公司和大型制造企业为主,这些公司和企业对信息的安全性和稳定性 浙江大学硕士学位论文第l 章绪论 要求很高,通常将m a i n f r a m e 作为后台服务器进行数据处理和资料库。由于历史 原因,各个部门仍然在使用m a i n f r a m e 上的大量古老的应用程序,这些应用一般 具有如下特点: ( 1 ) 业务开发的年份早; ( 2 ) 大多数业务目前依然处于重要地位; ( 3 ) 大多数业务现在仍然满足商业需求; ( 4 ) 现行的业务逻辑大多是基于客户服务器模式,处于系统封闭; 在计算机技术高速发展的今天,众多企业都加快了面向需求的业务,也加强 了同供应商,客户之间的联系,为了提高代码开发效率和解决现存m a i n f r a m e 开 发人员较少的问题,许多企业都提出了将m a i n f r a m e 通过开源平台进行整合的思 想,这样一方面可以保持m a i n f r a m e 自身代码逻辑不用移植的低成本优势,另一 方面又能让系统获得开源平台上较好的扩展性与兼容性,能够快速的应对面向业 务需求的大环境,让从前独立工作的部件转向商业资源的共享和技术的结构化, 让从前离散的应用程序转向相互依赖连接的组件式服务。 鉴于如上需求,对于有大量业务存在于m mm a i n f r a m e 系统之上的企业,开 发一套面向m a i n f r a m e 系统的开源框架具有十分广泛的意义,由于目前大多数的 现存的n 应用程序都是运行在m mc i c st r a n s a c t i o ns e r v e 一1 】上,通过毋m 提供 的c t g ( c i c st r a n s a c t i o ng a t e w a y ) 技术,可以让m a i n f r a m e 系统与j a v a 开源平台 进行无缝链接,正是通过这样一套开源接口,让很多在m a i n f r a m e 之上无法移植 的应用程序得到新的生命,从而也开启了m mm a i n f r a m e 系统在开源框架和互联 网之下的新篇章。 1 1 2 系统背景介绍 本文将介绍的多货币基金会计系统( m c a s ) 正是一个基于m a i n f r a m e 的货 币基金会计系统,它开发于上世纪7 0 年代,其主要的功能是进行货币基金的核 算和会计功能,并向用户提供数据报表。m c a s 系统如前文所述的m a i n f r a m e 应 用系统一样,具有强大的数据运算能力、极高的稳定性和可用性,它保存了企业 2 浙江大学硕士学位论文第l 章绪论 中大量的商业逻辑和珍贵的基金数据,即使是在其稳定运行3 0 年之后,现代银 行业务依旧对该系统具有很高的依赖性,同时由于其存储了过于庞大的数据和缺 乏可行的转换手段与平台,该系统目前暂不具有可移植性。 为了提高系统内部代码的复用性和搭建基于组件服务的开发模块,建立一套 面向该系统的开源框架的需求就被提出,而前文提到的m mc t g 技术在这里就 得到了广泛的应用。如何将现有系统的优势同现行新技术进行整合,如何搭建一 个快速高效的开源框架,如何把原有m a i n f r a m e 系统上的过程式代码开发转换成 为基于服务组件式开发,如何提供一套解决方案让m a i n f r a m e 上的业务逻辑可以 和现代关系型数据库及一些开源平台相互兼容将是本文的主要内容,同时本文还 将对现有的开源框架同s o a t 2 1 】进行整合提出设想。 以下是对几个模块中本文涉及的专有名词之简介: ( 1 ) m c a s ( m u l t i c u r r e n c ya c c o u n t i n gs y s t e m ) : 一套运行在m a i n f r a m ec i c s z 9 】上的银行应用系统,它的主要功能是提供指定 基金的信息查询等( 包括投资组合,净资产,基金编号等等金融信息) 。 ( 2 ) o s f 开源框架( o p e ns o u r c ef r a m e w o r k ) : 一套面向m c a s 的开源应用框架,该框架主要采用j a v a 语言【l o 】开发,它在 m v c t 三层架构之上,又进一步提出了m v c a ( m o d e l v i e w c o n t r o l a u t h e n t i c a t i o n ) 的四层模型,不仅实现了调用原有系统上的业务逻辑与数据的功 能,同时还通过了mc t g 技术让m a i n f i - a m e 系统与j a v a ,w e b 等开源框架进 行了无缝结合。同时为了增加通用性,该框架提供了中间层数据结构进行数据传 输,完全将表现层和数据层进行了分离,实现了一个后端,多套前端的数据模型。 这样保证了在原有m c a s 强大后端的支持下,开发人员可以快速的实现多种前端 的表现方案。同时该框架还实现了w e b 应用的整套解决方案,包括日志管理,系 统异常处理,数据缓存【2 4 】等功能。该框架目前正应用于企业内部的许多产品之上, 很多企业内部的数据模块都要通过其获得m c a s 系统的数据,正是由于其稳定可 靠的服务和快速高效的开发方式,让该框架在实际应用中得到了用户和开发者的 一致欢迎。 浙江大学硕士学位论文第1 章绪论 ( 3 ) i d f ( i n t e r n a ld a t af i l e ) 用标准x m l 语言【1 5 】编写的一套数据存储描述文件,其利用了o s f 框架的高 效的代码开发原则,进行了部分代码自动产生功能,这种数据格式通过了标准的 x m l 格式进行描述,让其自身可以在多种数据格式内部传输,且由于其规范了 标准的输入输出接口,和功能描述格式,让商业开发人员和开发者可以同时参与 进来,降低了相互之间的交流门槛,同时也让从m c a s 系统上获得的数据可以被 更多的系统接受和使用。 1 2 开源框架介绍 开源框架【2 1 是指现行的一些对源代码开放的软件和服务的框架,这种“开放” 正是促使人们使用它的原因,因为这意味着用户和开发人员可以自由的使用、复 制、散发以及修改源码。 开源框架并不仅仅意味着开放对源代码的访问权限,开源框架还必须符合下 列条件: ( 1 ) 自由地再发布1 2 】:如果被发布的软件是由不同来源的程序组成的,不得 限制任何当事人或组织销售或赠送作为被发布软件成分之一的开放源码软件。 在o s f 框架中,它除了采用j a v a 本身的开源框架结构之外,还在系统之中兼 容了很多第三方的开源框架,例如采用了包括s t r u t s ,j b o s sr u l e ,x m l 等流行的 开源框架结构,并在其各个版本中不断升级和更新。 ( 2 ) 源代码:程序必须包括源代码,必须允许以源代码方式发布、还必须允 许以编译后的形式发布。 为了进一步完善o s f 平台开发和实现,o s f 框架在公司内部采用了开放源代 码的操作,让所有使用o s f 框架的开发人员在使用该平台的同时,也对该平台进 行不断的测试和改进,目前已有的版本正是通过不断的积累和完善而来的。系统 还提供了a n t 编译脚本,让所有参与其中的开发者可以在自行修改源代码之后快 速编译调试,允许在开发者机器上完成其独有的功能,或将修改意见反馈、汇总、 升级到下个版本中。 4 浙江大学硕士学位论文 第1 章绪论 ( 3 ) 笔者的源代码的完整性:只有在许可证允许与源代码一同发布”补丁文 件”时,许可证才能限制对修改形式的源代码的发布。许可证必须明确地允许发布 由修改后的源代码生成的程序。许可证可以要求派生的作品采用不同的名称或不 同的版本号以区别于原来的软件。 o s f 框架的版本控制是有c v s 人员进行管理,对每个版本都有很强的控制, 在确定需要对o s f 框架进行升级时刻,o s f 框架的管理人员会根据对应的修改补 丁和意见做好发布工作,并在每个版本之后加上对应的版本名,同时提供对应的 发布文档,将新版本对老版本中的修改,以及新添加的功能在文档中进行详细描 述,并把其发布出来。 针对开源框架中提到的几个特性,o s f 框架很好的利用了j a v a 语言本身开源 的特性,在其基础上搭建了一套n 层开源框架,并通过m mc t g 技术让m a i n f r a m e 的一系列业务逻辑可以快速整合到开源框架中来。o s f 框架的开源特性还体现在 对于其他开源框架的兼容,例如对于j b o s s 的一系列j a v a 产品的支持都具有良好 的弹性,同时较好的扩展性和延伸性也是o s f 框架带来的优势。 本文就将结合o s f 框架的整体框架和具体实现的模块来展开介绍,同时也将 围绕系统的详细模块进行分析。 1 3 开源框架的价值 在m c a s 系统上采用开源框架是经过严格的考证的,采用新开源框架,对于 遗留的m c a s 系统而言,它具有以下的几个优点: ( 1 ) 提高了代码和模块的复用性,早期的m a i n f r a m e 系统的开发,大多采用 过程式的p l i 2 9 】语言进行开发,当面对灵活多变的系统需求时,通常需要对程序 代码进行局部重写或修改,在人力和物理上都具有大量的浪费,而o s f 框架的提 出,可以帮助现有系统进行代码的复用,通过i d f 的数据结构模型,提供了通用 的中间数据层,让不同的某块之间可以进行通信,当新需求提出之际,程序员首 先考虑的应该是如何整合原有的代码模块进行复用,而不是急于开发,这样一种 高效的开发模型为用户和开发人员都带来了极高的效能和好处。 浙江大学硕士学位论文第l 章绪论 ( 2 ) 与s o a 思想的整合,m c a s 系统目前提供的大多数是数据运算结果, 而不是基于组件化的服务。在企业内部服务中,如何暴露良好的调用接口是相当 重要的,o s f 框架正是遵循了s o a 这种理念,对系统进行了良好的接口设计, 在开发过程中坚持采用标准的x m l 数据描述格式,这样的做的目的在于在未来 的系统开发和扩展过程中,可以与标准的w e bs e r v i c e 描述【1 4 】相结合,提高o s f 框架在其他系统之上的复用性。 ( 3 ) 与其他系统的兼容性整合,i d f 的中间数据描述格式打破了某种特定系 统的数据格式,让来自m a i n f r a m e 的非关系型数据库d a t ac o r n 的数据也可以和 包括o r a c l e ,d b 2 等现代关系型数据库进行有效整合和交互,让通用的数据流在 各个系统之间交互,让m c a s 和现行其他系统都进行了良好的整合,包括j b o s s r u l e ,j b p m 等开源框架。 ( 4 ) 多层结构的设计框架,o s f 将整体系统分为多层,每个层次都包含了 一系列数据操作,这样的分层为系统将来的扩展和延伸打下了良好的基础。而这 种良性的设计也为o s f 框架的开发带来了快捷高效的方式,在后文中将会介绍如 何编写i d f 来快速完成系统的业务逻辑。 ( 5 ) 多样化的前后端操作,在保证后端业务准确计算的同时,提供良好的 用户界面设计和体验是争夺市场客户不可或缺的方法之一。o s f 开源框架提供了 基于w e b 的友好界面,让用户可以不用直接面对原始的m a i n f r a m e 字符界面操作, , , 改进了用户体验,为企业未来发展和市场开拓提供了良好的帮助。 1 4 本文结构组织 本文主要介绍一个基于m a i n f r a m e 的基金会计系统整合到j a v a 开源平台上的 过程和应用,同时也介绍了一套对企业遗留系统进行封装和改造的方法,为其他 企业遗留系统的改进和复用提供了可以参考的依据。 本文第一章( 本章) 是对m a i n f r a m e 系统和m c a s 系统进行了简要的介绍; 阐述了该系统在银行业务中的重要性和不可替代性,分析了现存系统的问题,最 后提出采用开源框架对其进行系统整合的优势;在绪论之后的第二章中,将会对 6 浙江大学硕士学位论文第1 章绪论 现有的m c a s 系统进行详细的分析,同时也会介绍市面上现有的一些较成熟的 m a i n f r a m e 的开源框架,并通过与他们的优缺点对比来分析开发o s f 框架的必要 性;第三章将o s f 框架自身出发,分解了o s f 框架的总体架构,并在m v c 三层 模型之上添加了安全认证机构,提出了m v c a 的四层架构模型,并对o s f 框架 的各个模块和数据流的实现和设计进行详细分析,同时还对框架中的一些重要模 块的实现细节进行剖析;第四章是针对笔者在本框架中提出的一系列改进意见的 介绍,同时本章还对现行的o s f 框架存在的一些问题进行分析,提出一些设想和 改进方案:第五章主要介绍了一套利用o s f 框架开发的应用程序,它良好的演示 了o s f 框架是如何快速的搭建起整套的应用程序;第六章是全文的总结与展望部 分;而后的章节包括了文章的参考文献与致谢。 1 5 本章小结 本章首先对m a i n f r a m e 的发展和应用做了介绍,并重点阐述了其在银行金融 系统中的不可替代的作用,其次针对现行m c a s 系统提出的基于组件的需求做了 分析,并提出了相对应的开源框架的优势,并针对上述需求简单介绍了在系统中 采用的开源框架,最后就本文的研究内容和文章的整体组织结构作了简单的分析 和介绍。 7 浙江大学硕士学位论文 第2 章现有遗留系统介绍 第2 章现有遗留系统介绍 2 1 遗留项目介绍 本章将会介绍基于m a i n f r a m e 的m c a s 系统的背景、意义和价值,同时也将 会详细介绍和分析m c a s 上的程序开发流程和及其弊端,并在章节末端介绍现有 的市面上的面向m a i n f r a m e 系统的开源框架一u n i s y s ,并就该框架的优缺点进行对 比并给出相应的分析。 2 1 1m c a s 的背景 m c a s 系统是非常典型的一个银行数据交易系统,其运行在m mc i c s 上。 它主要为操作人员提供指定基金的基本信息查询和更新服务;并用来负责该银行 系统的货币基金审核和会计;并在定期产生报表供用户查询。由于m c a s 需要维 护大量的基金数据,并且目前在m c a s 上运行的大部分程序都开发于2 0 世纪 7 0 8 0 年代,开发语言大部分为p l i 。由于目前p l i 已经成为非主流语言,相对 的p l i 程序员较少。所以目前对m c a s 系统更多的是进行维护和软件升级,而 并非直接开发。 同时由于m c a s 是一套基于m a i n f r a m e 的系统,大多的程序登录需要通过 m a i n f r a m e 的远程登录窗口来实现,是一个类似于命令行的用户界面,其易用性 和美观程度上来说都不及现行的一些图形化界面。目前使用m c a s 系统,用户可 以根据需求使用c i c si d 登录终端,在成功后可以进入系统初始界面。m c a s 提 供的用户基本操作分为2 类,包括基金的查询信息和基金的更新信息,所有的 m c a s 操作都是通过c i c s 中的t r a n s a c t i o n ( 事务) 来完成。对于c i c s 中的 t r a n s a c t i o n 的概念可以理解成为“对于某种要求进行处理并反馈结果的一个完整 处理过程”。一个事务用来完成一个特定的业务处理流程,是c i c s 中的一个数据 处理单位,一个事务能够完成某项特殊功能,在一个c i c s 区域中,可以同时运 8 浙江大学硕士学位论文第2 章现有遗留系统介绍 行多个事务。 下面来详细的分析下m c a s 的2 中基本操作,图2 1 展示了m c a s 系统中的 相对应的操作和用户的交互情况。 图2 1m c a s 基本功能图 器 ( 1 ) 查询:用户输入查询条件,通常是以一组k e y 信息的形式出现,用户 必须按要求和格式输入正确的查询条件,然后交给事务处理,事务唤醒其中相应 的处理程序,来响应用户的输入信息,经过处理以后,事务将处理以后的信息以 m a p 的形式发送到屏幕,交还给用户。 ( 2 ) 更新:用户可以查询到自己指定的信息,并且可以输入信息更新当前 的数据信息,事务会调用内部的处理程序检验数据的合法性,如果数据不符合规 范,程序将会抛出指定的异常提示用户,直到用户输入的数据全部无误之后,才 将数据更新至数据库。 ( 3 ) 报表:m c a s 将定期提供基金报表给各大基金公司,并将报表中的一 些数据进行整理,提供给商业人员做出数据分析,用以更好的反馈到系统中去。 2 1 2m c a s 的意义 大型机虽然平台封闭,但是m c a s 凭借其自身的传统的技术优势,在企业始 终生存下来,并在大型的银行数据业务中心里扮演着最重要的角色。作为架构在 9 浙江大学硕士学位论文第2 章现有遗留系统介绍 大型机上的m c a s 系统继承了大型平台的一些优势,并很好的在大型机平台上进 行了业务开展,下面大型机系统所具有的优势。 大型机是作为一个中研数据库或网络集线中心出现的,存储着大量数据,通 过相对较低的工作站或者终端连接各个用户的设备,相对一般的p c ,大型机具 有以下技术优势: ( 1 ) 强大的i o 能力:z 9 0 0 大型机的i o 吞吐量是最低每秒2 4 g b 字节【2 8 1 , z 9e c 和z 9 9 0 的i o 能力还要更强,巨大的吞吐量保证了银行业务的实时性和海 量性,巨大的吞吐量也让m c a s 系统可以快速的适应银行业务的增长带来的需 求,因为在现行的p c 系统中大多都是i o 成为系统的瓶颈,这里m a i n f r a m e 架 构上的m c a s 就很好的解决了这个问题。 ( 2 ) 非数值计算能力:大型机不具备强大的科学数据计算能力,但数据处 理能力强大,符合数据中心海量计算的要求,m c a s 系统的巨大数据处理能力让 系统可以快速高效的运转,并提供超强的数据处理能力,因为m c a s 系统并不提 供科学数据计算能力,而更多的是提供数据的查询和更新业务,所以也和 m a i n f r a m e 系统的特点不谋而合,大型机高效的处理运算能力也保证了金融系统的 稳定和可靠。 。( 3 ) r a s :r e l i a b i l i t y , a v a i l a b i l i t y ,s e r v i c e a b i l i t y - 大型机具有高可靠性,高可 用性,高服务性,这是大型机至今依然发展的根本保障。大型机一直以其高可靠 _ 性而备受赞誉。由于银行业务需要保证不会死机,稳定的提供用户查询,所以这 里的r a s 就保证了m c a s 系统在多年的计算机发展业务中的不可替代性,也正 是因为有了r a s 这样的特性,m c a s 系统在至今的银行业务中依然保持了强有 力的竞争力。 ( 4 ) 遗留系统的需求,因为多货币基金会计系统主要是对基金进行会计核 对工作,要求服务器本身具有强大的稳定性和容错性。同时由于历史积累,在 m c a s 系统内部已经具有了海量的不可移植的数据和大量珍贵的业务逻辑代码, 由于长期的积累,这些代码已经接受了大量的数据的考验,运行效果良好,为此 公司不得不继续在大型机上进行系统的维护和升级。移植成本过高也成为了阻碍 l o 浙江大学硕士学位论文第2 章现有遗留系统介绍 大型机系统向开源平台直接进行数据和逻辑移植的瓶颈,于是现有的技术不得不 继续在大型机的基础来继续开展。 2 1 3m c a s 程序开发流程 与传统的m a i n f r a m e 程序一致,m c a s 是在7 0 年代开发的基础上的遗留系 统,它保持了大量的遗留程序和业务逻辑,同时也由于其较高的维护成本,在目 前新的业务逻辑增加的情况下,只能继续在原有系统上开发,本节将详细介绍下 目前状况下,开发m c a s 程序的流程和环境。 ( 1 ) 数据库 m c a s 采用的数据库为结构型数据库d a t a c o m ,由于在m a i n f i a m e 系统出 现之际,市面上并没有出现比较成熟的关系型数据库,加上d a t a c o m 是建立在 m a i n f r a m e 之上非常优秀的数据库,而且相对目前其他的银行数据库而言, d a t a c o m 具有稳定、快速等优势,在这个层面上来说,d a t a c o m 的结构型数据库 具有天然的数据处理优势。 ( 2 ) 开发环境介绍 , c i c s 作为m m 的交易中间软件,可以为企业的关键应用提供可优化的交易 管理,从而加强交易系统的可靠性,保证了分布式交易处理的完整性。c i c s 提 供内置工具,能使数据库的数据保持一致,事务因故失败时,c i c s 能够保证数 据库和其他资源状态的一致性。c i c s 提供的a p i ,可以使用c i c s 提供的工具和 处理c i c s 与其他系统之间的交通,不用编制程序直接与操作系统交互。 ( 3 ) 开发语言 m c a s 主要采用的开发语言采用的是p l i ,它擅长于数据、记录的描述以 及数据处理,这种语言在商业金融系统中得到大量的使用。c i c s 与p l i 相互配 合,能够高效使用系统资源。 有上所述,可以分析得到基于m c a s 系统的开发依旧是一种面向过程的开发 模式,是与现代软件工程的一些开发方法学不符合的,但由于其存在的特殊性, 现有的程序员只能接受这样的开发模型。同时非关系型数据库也带来了逻辑上的 浙江大学硕士学位论文 第2 章现有遗留系统介绍 混乱,故如何将现代数据库、软件工程方法学同m c a s 系统整合成为了一个需要 研究的课题,该课题的研究也是本文的重要内容。 2 1 4m c a s 系统的弊端 通过前几个小节的分析,我们已经对m c a s 系统和大型机有了进一步的认 识,本节就m c a s 系统存在的问题进行分析,并提出开发基于开源平台的系统的 需求。m c a s 系统存在的弊端有: ( 1 ) 开发人员缺乏 由于m c a s 系统开发于7 0 年代,大多数当时的程序员都已经从i t 岗位上离 开,并且由于p c 机的大量普及,现存的m a i n f r a m e 主机开发程序员可谓少之又 少,虽然在最近的几年中,m m 正在大量的普及和推广m a i n f r a m e 程序员的培训, 并通过与国内外各大高校合作开展m a i n f r a m e 系统的研发课程,但与目前各大银 行系统需要的m a i n f r a m e 程序员数量还有巨大差距,并且由于m a i n f r a m e 系统的 开发需要经验的积累,很少毕业学生可以快速完成开发,故开发人员的缺乏成为 m a i n f r a m e 扩展的瓶颈之一。, ( 2 ) 开发资料缺乏 由于m c a s 系统在开发初期缺乏完整的文档建设和管理,没有使用现行软件 工程的一些完整的开发流程和文档管理,故m c a s 系统中大量的t r a n s a c t i o n 代 码的可读性较低,加上现有的p i j i 和m a i n f r a m e 程序员较少,故在资料上也给 m c a s 的研发和维护带来了一定的问题。 ( 3 ) 开发效率低下 p l i 是一种面向过程的开发语言,在程序的复用性上不如面向对象的程序的 开发,并且由于代码量巨大,对于d a t ac o r n 的非关系型数据库的开发需要按照 非s q l 的模型进行开发,故在现有的程序中一些用面向对象来实现的功能,需要 p m 语言的大量铺成,开发效率上是十分低下的。 ( 4 ) 开发模式落后 m c a s 开发的模式是十分落后的,目前基本是采用简单的迭代开发,没有办 1 2 浙江大学硕士学位论文 第2 章现有遗留系统介绍 法将现有的软件工程模型中类似r u p t 8 】等较好的裁剪模型套上,带来了开发成本 的过高,同时由于面向过程的开发模式,导致了在增强代码的可读性等方面需要 投入大量的功夫。 ( 5 ) 代码复用性低 m c a s 系统的代码复用性低,特别体现在没有一套完整的t r a n s a c t i o n 管理系 统,无法将系统中的先有代码进行整合和服务,可能存在着类似功能的代码,导 致了大量重复的程序开发。 ( 6 ) 不能适应现代业务的快速变化 由于代码的低复用性,程序在开发过程中往往不能适应现代业务的快速变 化,这也让m c a s 系统在现代银行业务中出现了尴尬的地位,成为了一块“鸡肋”。 ( 7 ) 不能和其他系统进行整合兼容 m c a s 系统目前的数据流格式是基于d a t ac o r n 的,并不能和其他系统进行 兼容和快速整合,故在延展性上还缺乏一定的灵活性。 如何避免上诉的缺点,来实现一套完整快速的可伸缩的面向m c a s 系统的框 架就成为了目前需要解决的问题,于是就有了新的需求的提出,o s f 框架将在后 文中一一介绍是如何应对上诉缺陷。 2 2 现有m a i n f r a m e 开源框架 在分析了现有的m c a s 系统后,已经对m a i n f r a m e 的整体性能和现有程序有 了一定的了解,并且现在市面上也有了一些比较成熟的基于m a i n f r a m e 的开源框 架,在介绍o s f 开源框架之前,我们将会介绍一套来自u n i s y s 公司开发的 m a i n f r a m e 开源框架u n i s y s ,并将简单分析它的优缺点,并与o s f 进行对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产酒瓶销售合同范本
- 承包荒山流转合同范本
- 嫁接果树售卖合同范本
- 社工站站长合同范本
- 餐饮加盟投资合同范本
- 单位汽车出租合同范本
- 深圳购房预售合同范本
- 租赁渔场合同范本
- 管道经销合同范本
- 物流报关合同范本
- 心血管内科医师执业考试题库
- 2025年汽车后市场行业当前市场规模及未来五到十年发展趋势报告
- 2025当兵心理测试题及答案
- 2025年官方兽医牧运通考试题库附参考答案详解(考试直接用)
- 2025年兵团辅警考试题库
- 2025年湖南省直机关遴选公务员考试笔试试卷【附答案】
- 家电广告效果评估报告
- 锐澳RIO抖音dp运营方案
- 2025年乒乓裁判考试题及答案
- 输电线路路经复测安全、技术交底
- lpr利率管理办法
评论
0/150
提交评论