云南农信信贷管理:用SOA架构消除信息孤岛

  伴随业务系统不断分离成独立的业务子系统的趋势,云南省农村信用社(下文简称云南农信)业务处理环境多系统、业务功能逐步分散的格局逐渐形成。同时,随着业务不断扩展,由于系统独立而带来的系统之间功能交互和信息共享的需求与日俱增,但各系统间又存在着开发商不同、软件框架不同、平台技术不同、开发语言不同等诸多差异。作为云南农信目前最大的信息系统,信贷管理系统从核心业务系统中分离后,这种趋势和需求越发明显。要解决信息孤岛问题和进行分布式的业务功能组合和调用,必然需要一套统一的规范和框架。

  在信贷系统项目的实施过程中,通过SOA面向服务的技术框架的应用,很好地解决了这个问题,并为其他系统的互联互通、信息化共享的要求提供了一个很好的实施范例。

  业务实现并服务化与WPS引擎服务流程组装

  在信贷管理系统中,业务逻辑使用J2EE框架开发,底层Java组件采用工厂模型的方式初始化和扩展,数据对象使用统一的交换格式和操作方法,方便业务BEAN统一接口并服务化。

  J2EE框架与SOA结合,有选择性地将一些需要被共享的已实现的业务逻辑从J2EE中容器中提炼出来。信贷管理系统应用程序和信贷BPEL流程一样,作为J2EE应用程序部署到WPS(WebSphere Process Server)服务器上。BPEL流程中的服务调用组件使用Web服务或远程EJB调用的方式使用提炼后的业务服务。

  使用BPEL语言的流程在WPS中运行,流程每处理或完成一个审批节点会触发共享库中的事件响应,然后事件处理器将流程状态、流程数据等信息写回信贷管理系统数据库中。BPEL业务流程中人工任务、业务规则、状态变迁、服务调用组合在一起,形成了信贷管理系统业务审批过程。

  先进行业务实现并服务化,再通过流程组装的方式有如下优势:

  以SOA体系架构为基础,基于组件化建模分析方法拆解业务流程,但未使用纯SOA组件化的开发方法,而是使用传统的J2EE方式实现业务逻辑,再加入到SOA体系架构中,这种混合模式兼具先进性和通用性,提高了平台的灵活性,也适合普通的软件人员进行快速的程序开发。

  基于成熟、开放的企业Java平台——J2EE为信贷管理系统构建了一个稳定的、可扩展的、高效的业务平台,架构层次边界分明,易于开发和维护。

  业务逻辑服务化不仅在WPS内部实现,也可扩展到更远的地方,可通过Web Service技术单独地在Data Power和企业服务总线上发布接口,实现与外部系统的双向面向服务的交互,进一步提高系统的外联能力和协作能力。

  建立一个开放的、基于BPEL标准的强大的工作流支撑平台,整合业务驱动,将人工审查审批与流程的自动化结合,在流程中触发业务处理。基于服务方式的接口调用使得流程应用不与业务程序绑定,实现流程应用独立的发布和管理。

  此外,与服务结合的WPS提供了一定灵活性,流程可以按类别、按地区、按功能、按时间等进行分类、组合,根据管理的要求做成一系列的应用程序,便于单独分开地修改、更新和部署,全面提升信贷管理工作的效率、质量和水平。

  结合信贷管理系统实际的实施经验,总体来说,先具有独立的业务逻辑实现和服务化,而后又通过WPS流程进行服务组装调用,这种设计和实现思路符合SOA基于业务的松耦、合并、独立且具有统一接口定义的体系特点。

  Data Power与ESB两总线互备增强可靠性

  信贷管理系统与其他业务系统交互的模式,采用企业服务总线的方式,是逻辑上与SOA 所遵循的基本原则保持一致的服务集成基础架构,它提供了服务管理的方法以及在分布式异构环境中进行服务交互的功能。该模式基于开放的Web Service标准,将信贷、核心、前置等系统中复杂的业务过程封装成服务,服务接口发布在使用Data Power或WebSphere ESB创建的系统间业务服务总线上,在总线上的各个系统统一使用基于SOAP/HTTP的Web Service进行服务交互和数据交换。

  交换层平台使用IBM Data Power XI50专用设备作为企业服务总线,以标准的Web Service方式支持各个系统间的交互。同时,为了保证企业总线具有高可靠性,使用WebSphere ESB V6.1件总线作为Data Power服务总线的热备份,当Data Power出现问题时, ESB接管原发送自Data Power的所有请求,临时充当企业服务总线角色。

  为了实现以上访问模式,系统采用心跳检查技术,当检查到Data Power出现异常时,启用ESB的备用服务总线,从而实现企业服务总线的软硬件热备。

  各系统实现并发布服务的方式多样但其过程大致相同。以综合业务系统为例,过程分为三个步骤。综合业务系统使用C平台开发的程序,一是定义一套统一的数据传输格式,以及建立相应的打包和解包模块,对来自不同应用系统的交换内容进行识别和解析,以此在服务总线的基础上建立简单统一的数据集中、交换并支持平滑扩展的数据处理框架;二是使用工具根据WSDL文件生成一个Web Service框架程序,在框架内实现该Web Service接口功能函数,在函数中通过程序实现或以库文件形式链入服务使用的业务功能模块代码;三是将Web Service的调用接口发布到服务总线上。

  采用SOA的模式,将各系统之间交互的逻辑统一部署在企业总线上,由企业总线负责统一治理核心业务系统、信贷管理系统、财务系统,以及将来的其它IT系统对外发布的服务。通过管理彼此间的连接,屏蔽各系统间交互的技术细节,从而使各个系统间的交互实现松散耦合,降低系统交互时的技术复杂性,让将来的业务拓展能实现随需应变。

  云南省农村信用社信贷管理系统的建成为解决SOA方法的落地、系统间简单快速的功能整合、服务总线的可靠性,以及SOA实施如何紧密结合现有开发方法等普遍性问题提供了一个有效、充分的案例和思路。

  表现层

  云南农信的信贷管理系统整体逻辑架构包含表现层、核心层、交换层

  云南省农村信用社 谭元戎

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: