一种适于联机交易的应用组件系统技术方案

技术编号:13972232 阅读:75 留言:0更新日期:2016-11-10 22:17
本发明专利技术公开了一种适于联机交易的应用组件系统,其中,所述应用组件系统包括:产品元件、产品部件和联机交易服务;其中,所述产品元件包括可以相互调用的用于实现具体业务处理的元件方法;所述产品部件包括用于描述业务处理逻辑的产品部件方法;所述联机交易服务包括预配置的一系列所述产品部件方法的组合。采用本发明专利技术,能够降低开发者在应用组件系统开发方面的学习成本,有利于避免代码重复开发和提高代码复用程度。

【技术实现步骤摘要】

本专利技术涉及应用项目开发领域,更为具体而言,涉及一种适于联机交易的应用组件。
技术介绍
现有技术中,一般银行产品服务系统的开发,都是基于各银行自身的一些基础技术组件,由各个应用组件开发组编写而成。一般只对技术组件的使用方法做说明和限制;然而在系统的具体涉及方面(例如,代码设计和规范方面),仅通过做“不允许”的约束来限制开发的银行服务系统的相关应用组件的设计规则。采用现有技术,可能导致不同应用组件编写出来的风格大不相同,如果开发者从一个应用组件开发组调配到另一个开发组,可能对代码结构需要重新了解,增加了学习成本;对于没有严格做代码结构分析的项目,可能会有代码重复,或者代码复用程度不高。
技术实现思路
鉴于现有技术的上述缺陷,本专利技术实施方式提供了一种适于联机交易的应用组件,能够降低开发者在应用组件开发方面的学习成本,有利于避免代码重复开发和提高代码复用程度。具体地,本专利技术实施方式提供了一种适于联机交易的应用组件,其包括:产品元件、产品部件和联机交易服务;其中所述产品元件包括可以相互调用的用于实现具体业务处理的元件方法;所述产品部件包括用于描述业务处理逻辑的产品部件方法;所述联机交易服务包括预配置的一系列所述产品部件方法的组合。采用本专利技术具有以下有益效果:一方面,在约束应用组件的构成的同时,使得开发者从一个应用组件调配到另一个开发组后,无需对代码结构重新了解,降低学习成本。另一方面,采用本专利技术所提供的具有特定结构的应用组件,有利于避免代码重复开发和提高代码复用程度。附图说明图1是根据本专利技术实施例的一种适于联机交易的应用组件的框图的一例;图2是根据本专利技术实施例的一种适于联机交易的应用组件的框图的另一例。具体实施方式为了便于理解本专利技术技术方案的各个方面、特征以及优点,下面结合附图对本专利技术进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。图1是根据本专利技术实施例的一种适于联机交易的应用组件的框图的一例。参照图1,所述应用组件包括产品元件10、产品部件20和联机交易服务30。下面分别进行说明。在本实施例中,所述产品元件10包括可以相互调用的用于实现具体业务处理的元件方法。所述具体业务处理包括例如调用数据库访问逻辑或外呼接口等。所述产品部件包括20用于描述业务处理逻辑的产品部件方法。所述联机交易服务30包括预配置的一系列所述产品部件方法的组合。需要说明的是,在本专利技术中提及的“应用组件”是指的业务功能、业务流程、实现模式相近,针对同一类别业务产品或服务的具体实现的集合。“产品服务系统”是指的由基础技术组件和应用组件组成的,可以接收/发送联机交易、处理业务逻辑的系统。“产品参数”是构成产品装配模型的最基本的业务元素,表示产品的某种限制、限额、约束和规则。“产品元件类”由一组不可分割的产品参数组成,表达一个完整的业务概念。“产品部件类”是关系密切的一组元件类和参数的集合,具有内聚性和可重用性,并且可以体现产品的某项功能或某种特征。采用本实施例提供的方法,一方面,在约束应用组件的构成的同时,使得开发者从一个应用组件调配到另一个开发组后,无需对代码结构重新了解,降低学习成本。另一方面,采用本专利技术所提供的具有特定结构的应用组件,有利于避免代码重复开发和提高代码复用程度。可选地,在本实施例的一种实现方式中,所述联机交易服务的主流程步骤没有分支,不接收所述产品部件方法的返回值。可选地,在本实施例的一种实现方式中,所述产品部件方法之间不相互调用。换言之,所述产品部件不允许产品部件方法之间的相互调用。可选地,在本实施例的一种实现方式中,所述产品部件方法和所述元件方法均通过数据总线进行数据交互。其中,所述数据总线为通过JAVA的ThreadLocal机制在内存中开辟一块区域,用于实现所述产品部件方法以及产品元件方法之间的线程内数据共享。进一步可选地,所述数据总线提供用于实现按键值的存、取与移除方法的应用程序编程接口;所述数据总线对于每一种数据分别约定固定的键值。可选地,在本实施例的一种实现方式中,所述联机交易服务用于在交易处理之前将输入报文转换为数据对象,并在交易处理完成之后将数据对象转换为输出报文。可选地,在本实施例的一种实现方式中,所述联机交易服务和所述产品部件具有采用接口和实现类形式的类;所述产品元件具有提供一系列静态方法的类,或者,所述产品元件具有采用接口和实现类形式的类。图2是根据本专利技术实施例的一种适于联机交易的应用组件的框图的另一例,参照图2,所述应用组件包括产品参数、产品元件(例如,产品原件10)、产品部件(例如,产品部件20)和联机交易服务(例如,联机交易服务30)。如图2所示,产品参数组成产品元件。产品元件可以由其它产品元件组成并且产品元件可以和产品参数一起组成产品部件。产品部件则组成联机交易服务。图2展示了应用组件的结构化设计方式,下面对所涉及到的设计方式进行详细说明。在本实施例中,联机交易服务通过一系列产品部件方法的配置组合来实现,主流程步骤没有分支,不接收产品部件方法返回值。产品部件方法描述业务处理逻辑,产品元件则负责底层细节的实现。产品部件间不允许产品部件方法的相互调用,产品部件方法没有显示输入参数,数据对象(Entity)交互通过数据总线完成。在本实施例中,产品元件和产品部件关心的数据不是报文对象XXXXInVo和XXXXOutVo(其中,XXXX表示交易码,InVo表示输入报文,OutVo表示输出报文),而是与具体交易无关的数据对象Entity。在联机交易服务的最前和最后,分别通过产品工厂方法将交易的InVo和OutVo与Entity之间做转换,避免应用逻辑与具体交易相绑定。在本实施例中,联机交易服务、产品部件类是接口+实现类的形式,必须注册在spring(现有的一种开源框架)容器中,产品元件类可以提供一系列静态方法,也可以采用接口+实现类的形式。在本实施例中,产品元件类作为工具类,不允许有成员变量的存在,通过入参出参实现数据传递。产品元件方法负责调用数据库访问逻辑或外呼接口等,实现业务处理细节。产品元件方法可相互调用。在本实施例中,外呼方法的开发同样遵循将逻辑与具体交易隔离的原则,产品元件命名为XXXAdapter(xxx表示元件编号),外呼方法的输入参数和输出参数应当是业务数据对象(Entity),在外呼方法内做报文对象与业务数据对象的转换。在本实施例中,在具体编码前,首先根据待开发联机交易的需求,梳理出一共有哪些产品部件类和产品元件类,哪只交易需要先调用哪些产品部件方法,产品部件方法又包括需要调用哪些产品元件类的元件方法等调用关系。在本实施例中,提供数据总线的目的是各部件方法及元件通过数据共享区域交互数据,减少代码编写中对参数变量的依赖,便于在联机交易时装配这些部件方法。关于所述数据总线,可以满足以下条件:使用JAVA的ThreadLocal机制在内存中开辟一块区域实现各部件方法、元件之间的线程内数据共享;提供统一的应用程序编程接口API,实现按键值的存、取与移除方法;对于每一种数据,分别约定固定的键值以达到数据交互的目的。在本实施例中,在联机交易类、部件类或元件类上,如果其中有设计数据库表数据的增、改、删动作,需要在至少一层上做事务控制。一种示例性地约定本文档来自技高网...

【技术保护点】
一种适于联机交易的应用组件,其特征在于,所述应用组件包括:产品元件、产品部件和联机交易服务;其中,所述产品元件包括可以相互调用的用于实现具体业务处理的元件方法;所述产品部件包括用于描述业务处理逻辑的产品部件方法;所述联机交易服务包括预配置的一系列所述产品部件方法的组合。

【技术特征摘要】
1.一种适于联机交易的应用组件,其特征在于,所述应用组件包括:产品元件、产品部件和联机交易服务;其中,所述产品元件包括可以相互调用的用于实现具体业务处理的元件方法;所述产品部件包括用于描述业务处理逻辑的产品部件方法;所述联机交易服务包括预配置的一系列所述产品部件方法的组合。2.如权利要求1所述的应用组件,其特征在于,所述联机交易服务的主流程不接收所述产品部件方法的返回值。3.如权利要求1所述的应用组件,其特征在于,所述产品部件方法之间不相互调用。4.如权利要求1所述的应用组件,其特征在于,所述产品部件方法和所述元件方法均通过数据总线进行数据交互。5.如权利要求4所述的应用组件,其特征在于,所述数据总线为通过JAVA的ThreadLocal机制在内存中开辟一...

【专利技术属性】
技术研发人员:白彧斐聂砂贾国琛
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1