一种业务扩展系统及方法
【专利摘要】本发明公开了一种业务扩展系统,其中,所述系统包括:扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;扩展接口模块,用于对所述业务扩展的接口进行统一定义;扩展调用模块,用于对所述业务扩展进行统一调用和处理;扩展管理模块,用于对所有业务扩展进行统一管理。采用本发明,通过采用个性化的扩展范式,可提高系统的可维护性和灵活度。
【专利说明】
-种业务扩展系统及方法
技术领域
[0001] 本发明设及数据处理领域,更为具体而言,设及一种业务扩展系统及方法。
【背景技术】
[0002] 随着电子化业务处理的发展,面对不断变化的个性化要求,各类扩展和管理的需 求越来越多。当前,在嵌入式工作流引擎的实际应用中,一般实现方式为业务主逻辑实现控 制流程执行,即W业务逻辑为主线,并在实现中相应的根据业务逻辑需求控制流程的偏转。
[0003] 对于简单业务流程配合简单业务逻辑的小规模项目,该实现方式开发高效,且易 于维护。但是对于大型项目结合大规模跨开发组的简单业务流程,如果仍然使用该实现方 式,必然出现大量的重复代码,重复的工作量。运样造成开发效率底下,重复代码大量出现, 代码的可维护性降低。如果采用独立工作流引擎服务器和流程驱动业务的模式实现,则会 造成系统的结构失衡,头重脚轻,简单流程喧宾夺主,控制复杂的业务逻辑。
[0004] 在运种场景中,适合基于嵌入式的轻量级工作流引擎,使用模板模式的框架结构 实现。在运种结构中,工作流控制逻辑进行业务处理逻辑的模板结构的开发,业务逻辑则根 据模板进行对应节点的实现。但是,业务逻辑必然是多种多样的,模板在适用大多数的通用 业务场景的同时,还需要有个性化的业务扩展功能。
[0005] 因此,为了解决当前各类业务逻辑的个性化扩展需求,提高系统的可维护性和灵 活度,亟需一种个性化业务处理方法和系统。
【发明内容】
[0006] 鉴于现有技术的上述缺陷,本发明实施方式提供了一种业务扩展系统及方法,能 够解决当前各类业务逻辑的个性化扩展需求。
[0007] 具体地,本发明实施方式提供了一种业务扩展系统,所述系统包括:
[000引扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述 业务场景下的业务扩展;
[0009] 扩展接口模块,用于对所述业务扩展的接口进行统一定义;
[0010] 扩展调用模块,用于对所述业务扩展进行统一调用和处理;
[0011] 扩展管理模块,用于对所有业务扩展进行统一管理。
[0012] 相应地,本发明实施方式还提供了一种业务扩展方法,其包括:
[0013] 根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业 务扩展;
[0014] 对所述业务扩展的接口进行统一定义;
[0015] 对所述业务扩展进行统一调用和处理;
[0016] 对所有业务扩展进行统一管理。
[0017] 采用本发明实施方式具有下述有益效果:
[0018] 通过采用个性化的扩展范式,可提高系统的可维护性和灵活度。
【附图说明】
[0019] 图1是根据本发明实施方式的一种业务扩展系统的架构图。
【具体实施方式】
[0020] 为了便于理解本发明技术方案的各个方面、特征W及优点,下面结合附图对本发 明进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的 保护化围。
[0021] 首先对根据本发明可能设及到的名称或术语进行解释。
[0022] 扩展点字符串命名的,在业务逻辑中的某个触发扩展实现的调用的节点定义;
[0023] Group:扩展实现的组属性,该属性决定扩展实现的分组,W及在具体场景中执行 对应组的扩展实现;
[0024] Rank:扩展实现的优先级,决定扩展的执行顺序。
[0025] 图1是根据本发明实施方式的一种业务扩展系统的架构图。参照图1,所述系统包 括:
[0026] 扩展点模块100,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成 所述业务场景下的业务扩展;其中,所述插入扩展点并实现所述扩展点的定义,完成所述业 务场景下的业务扩展包括:插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完 成所述业务扩展。
[0027] 扩展接口模块200,用于对所述业务扩展的接口进行统一定义;其中,所述对所述 业务扩展的接口进行统一定义包括:根据所述扩展声明,确定所述扩展点的调用方式。
[0028] 扩展调用模块300,用于对所述业务扩展进行统一调用和处理;其中,所述对所述 业务扩展进行统一调用和处理包括:通过统一的所述业务扩展的接口,根据业务特性映射 到扩展服务组,实现对所述业务扩展的统一调用和处理。
[0029] 扩展管理模块400,用于对所有业务扩展进行统一管理;其中,所述对所有业务扩 展进行统一管理包括:根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实 现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记录。
[0030] 通过上述四部分模块,完整的组成了灵活的扩展模型,而通过该模型,则可W非常 方便的实现业务扩展。例如:在银行业务系统中,业务处理复杂,设及多个项目组之间的协 同工作。如果使用化va的基于接口的编程来实现扩展,则必然导致众多的接口定义,W及因 接口变更等原因引起的项目组之间的频繁沟通,降低了开发效率。
[0031] 采用本发明的实施方式,通过个性化的扩展范式,可提高系统的可维护性和灵活 度。如何简化扩展点的声明,并且集中管理扩展实现,根据业务的需要灵活组织调用扩展实 现是该实现的核屯、功能和主要目标。为此,该实现通过灵活的扩展点定义方式,集中的扩展 实现管理模式,加上扩展实现的分组定义和优先级定义,使扩展的定义和管理变得更简单 化和集中化,在不影响系统的性能等其它特性的前提下,提高了系统的可维护性。
[0032] 在本发明的另一实施方式中,实际应用过程可通过下述代码或配置信息实现各个 模块的功能:
[0033] 关于扩展点模块100:扩展点的定义包括扩展点名称的定义和扩展点的注解类的 声明。扩展点的定义:即根据业务场景,在系统运行的特定环节,插入扩展点,完成该场景下 的个性化业务扩展。使用该模型,其定义仅为常量字符串,方便简单。如果使用传统的基于 接口的扩展,则需要定义接口,W及接口中的方法,并将接口发布出去。扩展点的注解类定 义则为一个带类型(Type)属性、组(Group)属性和优先级(Rank)属性的注解声明,类型属性 即为扩展服务其所服务的扩展点名称,组属性为扩展服务的分组信息,优先级则表示在同 一个扩展点中的多个扩展服务的执行优先级,其代码如下:
[0034]
[0035]
「00361
[0037] 关于扩展接口模块200:扩展服务接口定义即为接口的声明,该接口声明确定在扩 展点的调用方式。该接口的实现即为扩展实现。各个扩展点的实现,通过Spring容器,在系 统初始化时加载。该接口为仅返回执行成功与否的统一接口,输入参数可使用化va的动态 参数,具体的输入参数,可W根据不同的扩展点做一定范围的灵活变动。因为接口一致,省 去了为不同扩展场景定义不同的接口的麻烦。
[0038] 关于扩展调用模块300:扩展服务的调用在应用服务执行到扩展点时触发。扩展服 务的调用管理服务根据当前服务的业务特性映射到某个(或者某些)扩展服务组,然后把扩 展组中的所有扩展服务去重排序后,依次调用。对于业务特性到扩展组的映射可进行扩展, 满足不同的映射逻辑。因为扩展接口是统一的,所W扩展的调用可W统一处理,而且因为使 用了扩展注解,一个扩展点可W有多个扩展实现,通过使用统一调用服务依序执行。通过使 用统一调用服务,在业务实现中,增加一个扩展点,仅需插入该统一调用代码,使用对应的 扩展点声明的名称即可。运样极大的降低了扩展实现的代价,同时增强了扩展功能。
[0039] 关于扩展管理模块400:扩展服务的统一管理管理所有的扩展实现,W及所有的扩 展加载记录。该扩展根据Group属性和Rank属性对所有的扩展进行归类和排序。W便在某个 扩展点的扩展调用触发时能迅速找到需要执行的扩展列表。对于一个银行系统来说,因为 系统庞大,代码量大,各个项目组分组合作,如果没有扩展的统一管理,将导致扩展的低可 维护性。通过使用Spring的Bean注入,W及Bean扫描,将整个系统的扩展实现统一管理,并 提供报告输出,实现扩展服务的统一管理,可W有效的管理业务的扩展功能,避免扩展的混 乱。
[0040]相应地,本发明实施方式还提供了一种业务扩展方法,具体实施例如下:
[0041 ] 实施例1:
[0042] 所述方法包括:
[0043] 根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业 务扩展;
[0044] 对所述业务扩展的接口进行统一定义;
[0045] 对所述业务扩展进行统一调用和处理;
[0046] 对所有业务扩展进行统一管理。
[0047] 采用本发明的实施方式,通过个性化的扩展范式,可提高系统的可维护性和灵活 度。
[004引 实施例2:
[0049] 在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述插入扩 展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展可进一步包括:
[0050] 插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。
[0051] 扩展点的定义包括扩展点名称的定义和扩展点的注解类的声明。扩展点的定义: 即根据业务场景,在系统运行的特定环节,插入扩展点,完成该场景下的个性化业务扩展。 使用该模型,其定义仅为常量字符串,方便简单。如果使用传统的基于接口的扩展,则需要 定义接口,W及接口中的方法,并将接口发布出去。扩展点的注解类定义则为一个带类型 (Type)属性、组(Group)属性和优先级(Rank)属性的注解声明,类型属性即为扩展服务其所 服务的扩展点名称,组属性为扩展服务的分组信息,优先级则表示在同一个扩展点中的多 个扩展服务的执行优先级。
[0化。实施例3:
[0053] 在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述 业务扩展的接口进行统一定义可进一步包括:根据所述扩展声明,确定所述扩展点的调用 方式。
[0054] 扩展服务接口定义即为接口的声明,该接口声明确定在扩展点的调用方式。该接 口的实现即为扩展实现。各个扩展点的实现,通过Spring容器,在系统初始化时加载。该接 口为仅返回执行成功与否的统一接口,输入参数可使用化va的动态参数,具体的输入参数, 可W根据不同的扩展点做一定范围的灵活变动。因为接口一致,省去了为不同扩展场景定 义不同的接口的麻烦。
[00巧]实施例4:
[0056]在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述 业务扩展进行统一调用和处理可进一步包括:通过统一的所述业务扩展的接口,根据业务 特性映射到扩展服务组,实现对所述业务扩展的统一调用和处理。
[0057]扩展服务的调用在应用服务执行到扩展点时触发。扩展服务的调用管理服务根据 当前服务的业务特性映射到某个(或者某些)扩展服务组,然后把扩展组中的所有扩展服务 去重排序后,依次调用。对于业务特性到扩展组的映射可进行扩展,满足不同的映射逻辑。 因为扩展接口是统一的,所W扩展的调用可W统一处理,而且因为使用了扩展注解,一个扩 展点可W有多个扩展实现,通过使用统一调用服务依序执行。通过使用统一调用服务,在业 务实现中,增加一个扩展点,仅需插入该统一调用代码,使用对应的扩展点声明的名称即 可。运样极大的降低了扩展实现的代价,同时增强了扩展功能。
[005引 实施例5:
[0059] 在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所有 业务扩展进行统一管理可进一步包括:根据Group属性和Rank属性对所述所有业务扩展进 行归类和排序,实现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记 5? 〇
[0060] 扩展服务的统一管理管理所有的扩展实现,W及所有的扩展加载记录。该扩展根 据Gro叫属性和Rank属性对所有的扩展进行归类和排序。W便在某个扩展点的扩展调用触 发时能迅速找到需要执行的扩展列表。对于一个银行系统来说,因为系统庞大,代码量大, 各个项目组分组合作,如果没有扩展的统一管理,将导致扩展的低可维护性。通过使用 Spring的Bean注入,W及Bean扫描,将整个系统的扩展实现统一管理,并提供报告输出,实 现扩展服务的统一管理,可W有效的管理业务的扩展功能,避免扩展的混乱。
[0061] 需要说明的是,所述业务扩展方法的【具体实施方式】,与上述业务扩展系统对应的 实施例的内容和效果完全一致,相关重复内容在此不再寶述。
[0062] 通过W上的实施方式的描述,本领域的技术人员可W清楚地了解到本发明可借助 软件结合硬件平台的方式来实现。基于运样的理解,本发明的技术方案对【背景技术】做出贡 献的全部或者部分可软件产品的形式体现出来,该计算机软件产品可W存储在存储介 质中,如R0M/RAM、磁碟、光盘等,包括若干指令用W使得一台计算机设备(可W是个人计算 机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0063] 本领技术人员应当理解,W上所公开的仅为本发明的实施方式而已,当然不能W 此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所 涵盖的范围。
【主权项】
1. 一种业务扩展系统,其特征在于,所述系统包括: 扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务 场景下的业务扩展; 扩展接口模块,用于对所述业务扩展的接口进行统一定义; 扩展调用模块,用于对所述业务扩展进行统一调用和处理; 扩展管理模块,用于对所有业务扩展进行统一管理。2. 如权利要求1所述的系统,其特征在于,所述插入扩展点并实现所述扩展点的定义, 完成所述业务场景下的业务扩展包括: 插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。3. 如权利要求2所述的系统,其特征在于,所述对所述业务扩展的接口进行统一定义包 括: 根据所述扩展声明,确定所述扩展点的调用方式。4. 如权利要求1所述的系统,其特征在于,所述对所述业务扩展进行统一调用和处理包 括: 通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务 扩展的统一调用和处理。5. 如权利要求1至4任一项所述的系统,其特征在于,所述对所有业务扩展进行统一管 理包括: 根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业 务扩展的统一管理,并提供所述所有业务扩展的加载记录。6. -种业务扩展方法,其特征在于,所述方法包括: 根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩 展; 对所述业务扩展的接口进行统一定义; 对所述业务扩展进行统一调用和处理; 对所有业务扩展进行统一管理。7. 如权利要求6所述的方法,其特征在于,所述插入扩展点并实现所述扩展点的定义, 完成所述业务场景下的业务扩展包括: 插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。8. 如权利要求7所述的方法,其特征在于,所述对所述业务扩展的接口进行统一定义包 括: 根据所述扩展声明,确定所述扩展点的调用方式。9. 如权利要求6所述的方法,其特征在于,所述对所述业务扩展进行统一调用和处理包 括: 通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务 扩展的统一调用和处理。10. 如权利要求6至9任一项所述的方法,其特征在于,所述对所有业务扩展进行统一管 理包括: 根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业 务扩展的统一管理,并提供所述所有业务扩展的加载记录。
【文档编号】H04L12/24GK106059796SQ201610326102
【公开日】2016年10月26日
【申请日】2016年5月17日
【发明人】谷林, 倪鸣, 倪一鸣, 王宁, 张欣
【申请人】中国建设银行股份有限公司