系统分析师论文范文-论中间件技术的应用

2022-10-10 09:54:51   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《系统分析师论文范文-论中间件技术的应用》,欢迎阅读!
中间件,分析师,范文,应用,论文
论中间件技术的应用

【摘要】

本人在2010年有幸主持并参与了国内某银行小额信贷综合业务系统的开发研制工作作为技术经理主要负责需求分析、概要设计及核心模块的设计实现等工作该系统主要面向中小企业及个人客户,为其提供便捷的融资贷款服务。由于该项目要求在较短的开发周期日完成所有需求功能的实现,既要尽快上线运行,又要具有非常高的可靠性,因此需要多种成熟稳定的中间件技术应用其中。本文结合作者实践介绍了项目中所采用的主要中间件技术,包括Groovy脚本引擎,Drools业务规则引擎,OpenMQ消息中间件以及jBPM工作流中间件。并结合项目论述了为什么要采用这些中间件技术;采用中间件技术能给项目带来哪些优势;以及如何在项目中实施、集成、灵活运用。最后,评价了中间件技术应用在项目中的实施效果,和该应用给项目带来的成绩。同时,总结了在运用中间件技术方面存在的不足和需要改进的地方。 【正文】

众所周知,当前以中小、小微企业及个人为主的小额借款人“融资难,融资贵”的问题仍然比较突出,为了解决这一问题国家出台了一系列政策措施鼓励和支持银行业开展小额信贷等创新型金融服务。20105月我所在单位受国内某银行委托开发研制该行小额信贷综合业务平台。 该系统主要为中小企业及个人客户提供无担保无抵押的信贷资金。借款人可以通过网上银行、电子邮件、手机短信、电话及邮寄等多种途径申请贷款。系统收到贷款申请后,先通过外部征信系统获取到借款人的信用信息并基于信用信息对其进行风险评级,出参考额度和贷款利率,再由客户经理通过系统进行复审和放款。贷款发放后,风险经理可以通过系统对借款人的还款情况进行实时监控和跟踪。与此同时,该系统还可以针对不同情况给出相应的催收建议和催收措施,从而帮助银行回收贷款,降低不良率。该系统主要包括网上银行、风险评级、授信审批和贷后监控部分,具有客户管理、账务管理、合约管理、催管理和报表管理等功能。 我作为单位的技术骨干,担任该项目技术经理一职,主持并参与了该项目,主要工作有:需求分析、概要设计、核心模块的设计和实现并协助项目经理制订项目计划由于该项目要求在较短的开发周期内完成所有需求功能的实现,既要尽快上线运行,还要非常高的可靠性和稳定性,可谓“时间紧,任务重”,因此必须采用多种现有的、


成熟稳定的、安全可靠的中间件技术。 下面我将介绍我在项目中所采用的主要中间件技术,并详细论述为什么要采用中间件,如何进行中间件的实施和集成。 1Drools业务规则引擎Groovy脚本引擎的使用。 在本项目的开发过程中,我考虑到银行会根据国家政策的调整来调整其风险评级的规则,会根据央行的基准利率和计算方法的波动来调整利息的计算方法。如果我们的系统不够灵活,每一次调整都需要修改源代码,重新编译、打包、部署、回归测试,这势必会影响到系统的可用性,缩短系统的在线时间。不仅如此,单独开发规则执行组件和公式计算组件既费时费力,易于出错,还可能会影响到系统上线后的稳定性和可靠性。因此,我决定引入Groovy脚本引擎和Drools业务规则引擎来解决这一问题。Drools务规则引擎可以把一系列风险评级的推理判断规则封装在一个规则文件中,该文件是一个文本文件,用户可以方便地对其进行修改编辑。值得一提的是,Drools规则文件的语法使用自然语言描述风格即领域定义语言DSL这样业务人员可以轻松地阅读、编写、修改和评审规则文件。 Groovy脚本引擎可以动态地执行数学公式的运算,并将计算结构返回给主程序。公式中所用到的参数、变量和常量等可以由业务人员通过Web页面在系统中自行设置,而无需开发人员修改程序或者修改数据。Groovy脚本引擎在计算时,会将业务人员定义的参数以键值对的方式代入公式,从而达到灵活计算的效果。 正是由于采用了Drools业务规则引擎和Groovy脚本引擎,我的团队在保证系统未来可靠稳定的同时,还缩短了开发周期,节约了成本,并且有效地提高了系统的可维护性,即当业务逻辑规则和利率计算公式发生变化时,业务人员可以不依赖于开发人员和系统管理员的参与,也无需修改程序,重新部署新版本等繁琐步骤就能完成系统的升级修改,大大地提高了系统的在线时间。 2.OpenMQ息中间件的使用 安全审计追踪日志是银行系统中必不可少的功能,这是决定系统出现事故时和事故后能否追溯取证的关键性安全保障机制。为了保证安全设计追踪日志能保存所有的系统使用记录,不出现信息在传输途中丢失的情况,我决定在项目中使用消息队列机制,OpenMQ中间件,它是业界公认的最安全可靠的轻量级开源消息中间件之一。具体实施方法为,首先通过面向方面编程(AOP)的手段来拦截系统中所有的被调用信息,拦截颗粒度细到最底层不可分割的函数。再将调用信息、调用者的唯一标识、来源IP地址等信息行对称加密,然后把密文一分为二,分别通过两个点对点的消息队列将其发送出去。两个负责接收的客户端扮演消息消费者的角色,将OpenMQ队列中的消息密文取出,并存储于两物理上不同的文本文件中。若系统发生重大事故,可将分处两地存储密文的文本文件合并,再加以解密,解密后得到的明文可用于追溯取证。采用OpenMQ的优势在于消息传输过程总是可靠的,不会出现消息丢失等情况。倘若不采用消息队列机制而采用其他方法,如:HTTP


FTPSocket等机制来传输,则不可能做到消息无丢失。 3.采用jBPM工作流中间件 流程审批在任何银行系统中都是不可或缺的功能,我们所开发的小额信贷综合业务平台也不例外,尤其是在授信审批这一功能模块中。业界通常的做法是采用工作流中间件来实现流程审批。这种做法的优点显而易见,首先可以通过工作流中间件提供的设计器进行可视化的流程定义;其次成熟工作流中间件的性能也十分出色。基于以上两点考虑,我引入了jBPM工作流中间件。以授信审批功能模块为例,流程从信贷员出发起,再经同岗位另一信贷员初审,最后由客户经理复核及放款。我们先使用jBPM提供的流程设计器定义流程,该流程设计是基于Eclipse平台的RAD工具,易于使用和操作。然后再将生成的流程定义文件导入系统中去,即注册流程。最后再对流程进行系统的测试。需要特殊说明的是,因为工作流中间件的性能往往是其瓶颈,在将工作流中间件集成进系统之后,建议对其做压力测试和性能测试,一方面是便于对工作流引擎的参数配置进行调优,另一方面也能检验其实际的性能指标。是考虑到这一点,在我们项目中调优后的jBPM的实际性能指标远远超出了预期,在流程流转效率上表现优异。 4.结束语 综上所述,正是由于我们在项目也开发过程中灵活运用了中间件技术,即引入了Drools业务规则引擎、Groovy脚本引擎、OpenMQ消息中间件及jBPM工作流中间件,才使得我们团队能够有效地降低软件开发风险,缩短研发周期,节约项目成本,并且大大地提高了系统的可用性、可靠性以及可维护性。该系统自上线运行至今未发现任何严重缺陷,系统稳定可靠,得到了客户和公司领导的肯定。同时,我也发现了一些不足之处,例如,Drools业务规则动态编译时的性能问题,OpenMQ客户端的容错处理需要进一步加强。我在日后的工作中会加倍努力地提高专业技术水平,为我国的软件事业贡献出自己的一份力量。


本文来源:https://www.dy1993.cn/k8A.html

相关推荐