无忧支付网首页
站内搜索
您当前的位置:主页 > 相关文档 >

支付网关的业务架构和软件架构设计

添加时间:2022-10-11

  1、支付网关业务架构

  业务架构,实际上就是在对需求细致分析和深刻理解的基础上,抽象出若干相对独立的业务模块,形成自洽的业务构件。这些业务构件对内可以完成一个或一组特定的业务功能,对外则有着完善的接口,可以与其他业务构件共同组成更为复杂的业务功能,直至构成整个系统的完整业务功能。

  除了上图中所包含的功能,还需要对整个交易支付系统的安全性和稳定性进行必要的考虑和思考。对于支付网关系统而言,必须确保其安全稳定性,因此要设计一个监控报警系统,以便在支付网关系统出现故障时,可以及时发出报警信息,由管理员来解决和处理。系统业务架构设计如图1所示。

系统业务架构设计

图1 系统业务架构设计

  业务架构说明:

  (1)前置服务器

  由于业务处理的需要,银行需要构建功能前置的服务器,以便能够和网上银行直接开展信息交互处理操作,其中包括签名验证、订单查询、订单冲正等。在这个前置服务器当中,还需要对外提供一个 RMI 接口,目的就是为了能够和其他服务系统之间实现关系调用。

  (2)交易支付 Web 系统

  通过后台可以和网上银行支付系统实现信息交互操作,并实时处理支付结果。

  (3)商户请求服务系统

  处理商户系统的查询、冲正、对账等功能。

  (4)订单实时查询系统

  是一个后台运行的循环系统,能够定时查询订单表里面的数据信息。当出现提交失败的订单时,就会转入到银行当中进行查询。

  (5)交易结果定时通知系统

  通过该系统,可以把商户通过 web 提交的订单处理结果发送到前台或者是后台。

  (6)商户访问权限鉴别系统

  通过该系统,可以认证访问商户的身份信息情况。

  (7)核心业务逻辑处理系统

  通过该系统可以在数据库当中处理一些核心业务的逻辑情况。

  (8)监控报警系统

  通过该系统,能够在支付网关出现异常时,自动发出报警,方便管理人员作出及时的维护处理。

  (9)权限管理系统

  负责管理系统用户的操作权限。

  2、支付网关软件架构

  软件架构是一种思想,一个系统蓝图,对软件结构组成的规划和职责设定。

  一个软件里有处理计算的、有处理界面的、处理数据的、处理业务规则的处理安全的等许多可逻辑划分出来的部分。软件架构的意义就是要将这些可逻辑划分的部分独立出来,用约定的接口和协议将它们有机地结合在一起,形成职责清晰、结构清楚的软件结构。

  软件架构是一个逻辑性的框架描述,它可能并无真正的可执行的部分。大部分的软件架构基本是由一个设计思想加上若干设计模式,再规定一系列的接口规范、传输协议和实现标准等文档构成。

  在当前企业级的应用开发中,J2EE 架构深受欢迎。J2EE 平台的优势是能够提供一个多层次分布式的应用模型,这个多层次分布式的应用模型包括了可复用的组件、XML(基于可扩展标记语言)的数据交换、灵活的事务控制和统一的安全模式。

  在企业级的应用开发可以借助这些深受欢迎的技术,可以提供非常新的和优秀的解决方案以应对市场的不断变化,利用 J2EE 开发的解决方案是基于平台无关的 J2EE 组件的。

  针对以上在支付网关系统的设计、开发过程中存在的多类型文件之间的相互的转换的特点,这种情况由于由于在多个系统同时对接银行系统的时候上报的文件格式和类型并不是统一和一致的,因此,在进行系统架构的一个选择时就要多加的考虑能否支持多系统跨平台,而多系统的部署和实现这一问题通过用 Java 作为系统的开发工具得到了解决。

  根据支付网关需求可知,对于即便是相同或是完全一样的业务,支付网关系统也提供了多种用户接口可供选择,避免了用户选择的单一性。

  综合以上几个特点得出,在系统的设计模式上,整个平台都可以使用 MVC 的设计模式。MVC 作为一种软件设计模式,最早在上个世纪八十年代就已经出现了,目前在 Web 系统的开发领域当中,对于 MVC 模式的应用比较多。MVC 即把一个应用程序的输入、处理和输出流程按照 Controller、Model、View 的方式进行分离从而构成三个层次,分别是:

  (1)模型层(Model)

  一般用来代表业务数据或者是业务逻辑,属于应用程序当中的一个重要构成主体。

  (2)视图层(View)

  用户看到并与之交互的界面,是应用程序中用与户界面相关的部分。

  (3)控制器层(Controller)

  主要是用来根据用户的输入。

  通过 MVC 模式,不仅能够将功能模块和显示模块分离开来,而且还可以提高系统的可移植性,从而方便了后期的拓展与维护。

  遵循 MVC 的设计思想,采用通过 MVC 实现的软件框架,基于 J2EE 架构可实现统一支付网关的软件架构,如图2所示。

支付网关软件架构

图2 支付网关软件架构

  在图2中,涉及到的主要框架有:Struts、Spring 和 Hibernate。

  (1) Struts 框架

  Structs 体系结构是在 MVC 经典设计基础之上产生的,能够做到源代码的完全开放,属于一种较为成熟的框架结构,在 Web 开发当中应用得比较多。Structs 可以将 Servlet、JavaBean 以及 JSP 等有机融合到一起,从而使得 MVC 开发拥有着良好的可配置型。

  Struts 框架提供了一个基于 MVC 模式的 web 应用程序框架,其目标是重用组件构建和维护 web 应用程序变得更加容易。其主要特点有:

  一是具有 MVC 模型的所有特性和优点;

  二是简化了基于 MVC 应用程序的研发过程;

  三是灵活地运用 Struts 的标记库 Taglib,可以大大的提高系统的开发水平;

  四是便于系统的开发人员通过使用 XML 语言对多种类型的系统默认框架进行配置;

  五是提供了一种国际化的处理信息的方法和手段;六是系统的页面导航功能可以让 Struts 通过一个配置类型的文件来联系整个电子支付系统中的各个分部分。

  Struts 框架也是一个 Web 框架,主要由视图(View)、控制器(Controller)和模型(Model)构成。

  (2)Spring 框架

  Spring 能够给企业提供一个良好的框架解决方案,尤其是在 J2EE 应用过程当中,因为 Spring 提供的不仅仅只是一种简单的框架,还提供了一种企业应用的系统开发规范。Spring 是实际开发过程的的抽象表示,它提供的“模板设计”大大地简化了应用系统的开发过程。Spring 的优点总结起来可以包括以下几个方面:

  一是设计过程中遵循低入侵原则,尽可能降低对已有代码的污染;

  二是不局限于某一特定的应用服务器,基于 Spring 的框架应用可以兑现“一次开发,到处运行”的诺言;

  三是 Spring 的 DI 容器简化了业务对象替换的过程,降低了复杂性,提高了组件之间的解耦;

  四是 Spring 的 AOP 容器允许将一些通用任务如安全、事务、日志等进行集中式出来,从而提供了更好的复用;

  五是 Spring 的 ORM 和 DAO 提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问;

  六是 Spring 的高度开放性,并不强制要求用户的应用开发必须选择 Spring,开发人员可以根据实际需要自行选用 Spring 框架的部分或者全部。

  (3)Hibernate 框架

  Hibernate 是 JDBC 的轻量级的对象封装,它是一个独立的对象持久层框架,是一个面向 Java 环境的对象/关系数据库映射工具。Hiberate 可以借助值对象和数据库表共同邹城一个映射关系,使得用户仅通过操作值对象以及 Hibernate 提供的部分基础类就能够实现数据库管理。

  比如在应用 Hibernate 进行数据查询的时候,在查询之后能够直接返回到某个值对象列表当中,而不需要将结构集全部转载到值对象里面,这样就可以极大的缩短编码工作时间。由 Hibernate 提供的 HQL 属于 SQL 语言的一种,能够和 EJBQL 保持一致,而且在使用方法上也和 SQL 语言基本相同。

  总体来看,Hiberate 应该是 Java 与 JDBC 当中的持久层。Hibernate 的开发流程主要是由以下几个步骤构成的:

  第一步,创建一个 Hibernate 配置文件。在所创建的文件当中,需要将 Hibernate配置做出初始化处理;

  第二步,创建一个 Hibernate 映射文件。在每个数据表当中,都有一个相对应的映射文件,通过这个映射文件,能够描述出数据库表的具体信息情况;

  第三步,创建一个持久化类。在每一个持久化类当中,都会包括一个相对应的数据库表,然后借助映射文件实现持久化关联;

  第四步,进行编码。主要是针对 Web 应用层进行编码,一般会划分成为两个层次,分别是 DAO 层、Service 层。

关闭

1.点击下面按钮复制微信号

***********

2.打开微信→查找微信号

加为好友 开始支付接入