CN106059796B - 一种业务扩展系统及方法 - Google Patents
一种业务扩展系统及方法 Download PDFInfo
- Publication number
- CN106059796B CN106059796B CN201610326102.1A CN201610326102A CN106059796B CN 106059796 B CN106059796 B CN 106059796B CN 201610326102 A CN201610326102 A CN 201610326102A CN 106059796 B CN106059796 B CN 106059796B
- Authority
- CN
- China
- Prior art keywords
- extension
- unified
- business
- definition
- expanding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种业务扩展系统,其中,所述系统包括:扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;扩展接口模块,用于对所述业务扩展的接口进行统一定义;扩展调用模块,用于对所述业务扩展进行统一调用和处理;扩展管理模块,用于对所有业务扩展进行统一管理。采用本发明,通过采用个性化的扩展范式,可提高系统的可维护性和灵活度。
Description
技术领域
本发明涉及数据处理领域,更为具体而言,涉及一种业务扩展系统及方法。
背景技术
随着电子化业务处理的发展,面对不断变化的个性化要求,各类扩展和管理的需求越来越多。当前,在嵌入式工作流引擎的实际应用中,一般实现方式为业务主逻辑实现控制流程执行,即以业务逻辑为主线,并在实现中相应的根据业务逻辑需求控制流程的偏转。
对于简单业务流程配合简单业务逻辑的小规模项目,该实现方式开发高效,且易于维护。但是对于大型项目结合大规模跨开发组的简单业务流程,如果仍然使用该实现方式,必然出现大量的重复代码,重复的工作量。这样造成开发效率底下,重复代码大量出现,代码的可维护性降低。如果采用独立工作流引擎服务器和流程驱动业务的模式实现,则会造成系统的结构失衡,头重脚轻,简单流程喧宾夺主,控制复杂的业务逻辑。
在这种场景中,适合基于嵌入式的轻量级工作流引擎,使用模板模式的框架结构实现。在这种结构中,工作流控制逻辑进行业务处理逻辑的模板结构的开发,业务逻辑则根据模板进行对应节点的实现。但是,业务逻辑必然是多种多样的,模板在适用大多数的通用业务场景的同时,还需要有个性化的业务扩展功能。
因此,为了解决当前各类业务逻辑的个性化扩展需求,提高系统的可维护性和灵活度,亟需一种个性化业务处理方法和系统。
发明内容
鉴于现有技术的上述缺陷,本发明实施方式提供了一种业务扩展系统及方法,能够解决当前各类业务逻辑的个性化扩展需求。
具体地,本发明实施方式提供了一种业务扩展系统,所述系统包括:
扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;
扩展接口模块,用于对所述业务扩展的接口进行统一定义;
扩展调用模块,用于对所述业务扩展进行统一调用和处理;
扩展管理模块,用于对所有业务扩展进行统一管理。
相应地,本发明实施方式还提供了一种业务扩展方法,其包括:
根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;
对所述业务扩展的接口进行统一定义;
对所述业务扩展进行统一调用和处理;
对所有业务扩展进行统一管理。
采用本发明实施方式具有下述有益效果:
通过采用个性化的扩展范式,可提高系统的可维护性和灵活度。
附图说明
图1是根据本发明实施方式的一种业务扩展系统的架构图。
具体实施方式
为了便于理解本发明技术方案的各个方面、特征以及优点,下面结合附图对本发明进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。
首先对根据本发明可能涉及到的名称或术语进行解释。
扩展点:以字符串命名的,在业务逻辑中的某个触发扩展实现的调用的节点定义;
Group:扩展实现的组属性,该属性决定扩展实现的分组,以及在具体场景中执行对应组的扩展实现;
Rank:扩展实现的优先级,决定扩展的执行顺序。
图1是根据本发明实施方式的一种业务扩展系统的架构图。参照图1,所述系统包括:
扩展点模块100,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;其中,所述插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展包括:插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。
扩展接口模块200,用于对所述业务扩展的接口进行统一定义;其中,所述对所述业务扩展的接口进行统一定义包括:根据所述扩展声明,确定所述扩展点的调用方式。
扩展调用模块300,用于对所述业务扩展进行统一调用和处理;其中,所述对所述业务扩展进行统一调用和处理包括:通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务扩展的统一调用和处理。
扩展管理模块400,用于对所有业务扩展进行统一管理;其中,所述对所有业务扩展进行统一管理包括:根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记录。
通过上述四部分模块,完整的组成了灵活的扩展模型,而通过该模型,则可以非常方便的实现业务扩展。例如:在银行业务系统中,业务处理复杂,涉及多个项目组之间的协同工作。如果使用Java的基于接口的编程来实现扩展,则必然导致众多的接口定义,以及因接口变更等原因引起的项目组之间的频繁沟通,降低了开发效率。
采用本发明的实施方式,通过个性化的扩展范式,可提高系统的可维护性和灵活度。如何简化扩展点的声明,并且集中管理扩展实现,根据业务的需要灵活组织调用扩展实现是该实现的核心功能和主要目标。为此,该实现通过灵活的扩展点定义方式,集中的扩展实现管理模式,加上扩展实现的分组定义和优先级定义,使扩展的定义和管理变得更简单化和集中化,在不影响系统的性能等其它特性的前提下,提高了系统的可维护性。
在本发明的另一实施方式中,实际应用过程可通过下述代码或配置信息实现各个模块的功能:
关于扩展点模块100:扩展点的定义包括扩展点名称的定义和扩展点的注解类的声明。扩展点的定义:即根据业务场景,在系统运行的特定环节,插入扩展点,完成该场景下的个性化业务扩展。使用该模型,其定义仅为常量字符串,方便简单。如果使用传统的基于接口的扩展,则需要定义接口,以及接口中的方法,并将接口发布出去。扩展点的注解类定义则为一个带类型(Type)属性、组(Group)属性和优先级(Rank)属性的注解声明,类型属性即为扩展服务其所服务的扩展点名称,组属性为扩展服务的分组信息,优先级则表示在同一个扩展点中的多个扩展服务的执行优先级,其代码如下:
关于扩展接口模块200:扩展服务接口定义即为接口的声明,该接口声明确定在扩展点的调用方式。该接口的实现即为扩展实现。各个扩展点的实现,通过Spring容器,在系统初始化时加载。该接口为仅返回执行成功与否的统一接口,输入参数可使用Java的动态参数,具体的输入参数,可以根据不同的扩展点做一定范围的灵活变动。因为接口一致,省去了为不同扩展场景定义不同的接口的麻烦。
关于扩展调用模块300:扩展服务的调用在应用服务执行到扩展点时触发。扩展服务的调用管理服务根据当前服务的业务特性映射到某个(或者某些)扩展服务组,然后把扩展组中的所有扩展服务去重排序后,依次调用。对于业务特性到扩展组的映射可进行扩展,满足不同的映射逻辑。因为扩展接口是统一的,所以扩展的调用可以统一处理,而且因为使用了扩展注解,一个扩展点可以有多个扩展实现,通过使用统一调用服务依序执行。通过使用统一调用服务,在业务实现中,增加一个扩展点,仅需插入该统一调用代码,使用对应的扩展点声明的名称即可。这样极大的降低了扩展实现的代价,同时增强了扩展功能。
关于扩展管理模块400:扩展服务的统一管理管理所有的扩展实现,以及所有的扩展加载记录。该扩展根据Group属性和Rank属性对所有的扩展进行归类和排序。以便在某个扩展点的扩展调用触发时能迅速找到需要执行的扩展列表。对于一个银行系统来说,因为系统庞大,代码量大,各个项目组分组合作,如果没有扩展的统一管理,将导致扩展的低可维护性。通过使用Spring的Bean注入,以及Bean扫描,将整个系统的扩展实现统一管理,并提供报告输出,实现扩展服务的统一管理,可以有效的管理业务的扩展功能,避免扩展的混乱。
相应地,本发明实施方式还提供了一种业务扩展方法,具体实施例如下:
实施例1:
所述方法包括:
根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;
对所述业务扩展的接口进行统一定义;
对所述业务扩展进行统一调用和处理;
对所有业务扩展进行统一管理。
采用本发明的实施方式,通过个性化的扩展范式,可提高系统的可维护性和灵活度。
实施例2:
在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展可进一步包括:
插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。
扩展点的定义包括扩展点名称的定义和扩展点的注解类的声明。扩展点的定义:即根据业务场景,在系统运行的特定环节,插入扩展点,完成该场景下的个性化业务扩展。使用该模型,其定义仅为常量字符串,方便简单。如果使用传统的基于接口的扩展,则需要定义接口,以及接口中的方法,并将接口发布出去。扩展点的注解类定义则为一个带类型(Type)属性、组(Group)属性和优先级(Rank)属性的注解声明,类型属性即为扩展服务其所服务的扩展点名称,组属性为扩展服务的分组信息,优先级则表示在同一个扩展点中的多个扩展服务的执行优先级。
实施例3:
在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述业务扩展的接口进行统一定义可进一步包括:根据所述扩展声明,确定所述扩展点的调用方式。
扩展服务接口定义即为接口的声明,该接口声明确定在扩展点的调用方式。该接口的实现即为扩展实现。各个扩展点的实现,通过Spring容器,在系统初始化时加载。该接口为仅返回执行成功与否的统一接口,输入参数可使用Java的动态参数,具体的输入参数,可以根据不同的扩展点做一定范围的灵活变动。因为接口一致,省去了为不同扩展场景定义不同的接口的麻烦。
实施例4:
在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述业务扩展进行统一调用和处理可进一步包括:通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务扩展的统一调用和处理。
扩展服务的调用在应用服务执行到扩展点时触发。扩展服务的调用管理服务根据当前服务的业务特性映射到某个(或者某些)扩展服务组,然后把扩展组中的所有扩展服务去重排序后,依次调用。对于业务特性到扩展组的映射可进行扩展,满足不同的映射逻辑。因为扩展接口是统一的,所以扩展的调用可以统一处理,而且因为使用了扩展注解,一个扩展点可以有多个扩展实现,通过使用统一调用服务依序执行。通过使用统一调用服务,在业务实现中,增加一个扩展点,仅需插入该统一调用代码,使用对应的扩展点声明的名称即可。这样极大的降低了扩展实现的代价,同时增强了扩展功能。
实施例5:
在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所有业务扩展进行统一管理可进一步包括:根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记录。
扩展服务的统一管理管理所有的扩展实现,以及所有的扩展加载记录。该扩展根据Group属性和Rank属性对所有的扩展进行归类和排序。以便在某个扩展点的扩展调用触发时能迅速找到需要执行的扩展列表。对于一个银行系统来说,因为系统庞大,代码量大,各个项目组分组合作,如果没有扩展的统一管理,将导致扩展的低可维护性。通过使用Spring的Bean注入,以及Bean扫描,将整个系统的扩展实现统一管理,并提供报告输出,实现扩展服务的统一管理,可以有效的管理业务的扩展功能,避免扩展的混乱。
需要说明的是,所述业务扩展方法的具体实施方式,与上述业务扩展系统对应的实施例的内容和效果完全一致,相关重复内容在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本领技术人员应当理解,以上所公开的仅为本发明的实施方式而已,当然不能以此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所涵盖的范围。
Claims (8)
1.一种业务扩展系统,其特征在于,所述系统包括:
扩展点模块,用于根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;
扩展接口模块,用于对所述业务扩展的接口进行统一定义;
扩展调用模块,用于对所述业务扩展进行统一调用和处理;
扩展管理模块,用于对所有业务扩展进行统一管理;
其中,所述对所述业务扩展进行统一调用和处理包括:
通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务扩展的统一调用和处理。
2.如权利要求1所述的系统,其特征在于,所述插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展包括:
插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。
3.如权利要求2所述的系统,其特征在于,所述对所述业务扩展的接口进行统一定义包括:
根据所述扩展声明,确定所述扩展点的调用方式。
4.如权利要求1至3任一项所述的系统,其特征在于,所述对所有业务扩展进行统一管理包括:
根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记录。
5.一种业务扩展方法,其特征在于,所述方法包括:
根据业务场景,插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展;
对所述业务扩展的接口进行统一定义;
对所述业务扩展进行统一调用和处理;
对所有业务扩展进行统一管理;
其中,所述对所述业务扩展进行统一调用和处理包括:
通过统一的所述业务扩展的接口,根据业务特性映射到扩展服务组,实现对所述业务扩展的统一调用和处理。
6.如权利要求5所述的方法,其特征在于,所述插入扩展点并实现所述扩展点的定义,完成所述业务场景下的业务扩展包括:
插入扩展声明和定义所述扩展点名称,并根据所述扩展声明完成所述业务扩展。
7.如权利要求6所述的方法,其特征在于,所述对所述业务扩展的接口进行统一定义包括:
根据所述扩展声明,确定所述扩展点的调用方式。
8.如权利要求5至7任一项所述的方法,其特征在于,所述对所有业务扩展进行统一管理包括:
根据Group属性和Rank属性对所述所有业务扩展进行归类和排序,实现对所述所有业务扩展的统一管理,并提供所述所有业务扩展的加载记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610326102.1A CN106059796B (zh) | 2016-05-17 | 2016-05-17 | 一种业务扩展系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610326102.1A CN106059796B (zh) | 2016-05-17 | 2016-05-17 | 一种业务扩展系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106059796A CN106059796A (zh) | 2016-10-26 |
CN106059796B true CN106059796B (zh) | 2019-05-24 |
Family
ID=57177028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610326102.1A Active CN106059796B (zh) | 2016-05-17 | 2016-05-17 | 一种业务扩展系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106059796B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257444B (zh) * | 2017-05-08 | 2018-10-09 | 广州美凯信息技术股份有限公司 | 一种主机接口自适应方法及装置 |
CN109634569B (zh) * | 2018-12-13 | 2022-01-25 | 深圳前海微众银行股份有限公司 | 基于注解的流程实现方法、装置、设备及可读存储介质 |
CN110300025A (zh) * | 2019-06-28 | 2019-10-01 | 湖南御家科技有限公司 | 一种业务中台服务扩展方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1207847A (zh) * | 1995-12-08 | 1999-02-10 | 艾利森电话股份有限公司 | 用于通信系统的系统平台 |
CN102087594A (zh) * | 2010-12-27 | 2011-06-08 | 用友软件股份有限公司 | 扩展点和插件的管理方法和装置 |
CN103500099A (zh) * | 2013-09-27 | 2014-01-08 | 摩卡软件(天津)有限公司 | 一种通过扩展点和扩展实现软件快速二次开发的方法 |
CN104346144A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | Eclipse RCP扩展点配置方法及装置 |
US9224010B2 (en) * | 2011-09-01 | 2015-12-29 | International Business Machines Corporation | Secure document creation from potentially unsecure source templates |
-
2016
- 2016-05-17 CN CN201610326102.1A patent/CN106059796B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1207847A (zh) * | 1995-12-08 | 1999-02-10 | 艾利森电话股份有限公司 | 用于通信系统的系统平台 |
CN102087594A (zh) * | 2010-12-27 | 2011-06-08 | 用友软件股份有限公司 | 扩展点和插件的管理方法和装置 |
US9224010B2 (en) * | 2011-09-01 | 2015-12-29 | International Business Machines Corporation | Secure document creation from potentially unsecure source templates |
CN104346144A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | Eclipse RCP扩展点配置方法及装置 |
CN103500099A (zh) * | 2013-09-27 | 2014-01-08 | 摩卡软件(天津)有限公司 | 一种通过扩展点和扩展实现软件快速二次开发的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106059796A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106059796B (zh) | 一种业务扩展系统及方法 | |
CN106789339A (zh) | 一种基于轻量级虚拟化架构的分布式云仿真方法与系统 | |
CN102508919B (zh) | 数据处理方法及系统 | |
CN102467411A (zh) | 一种工作流处理及工作流代理方法、装置和系统 | |
CN105677763B (zh) | 一种基于Hadoop的图像质量评估系统 | |
CN105045658A (zh) | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 | |
CN109670767A (zh) | 工作流的处理方法、装置、终端设备及存储介质 | |
CN113721892A (zh) | 领域建模方法、装置、计算机设备和存储介质 | |
CN103310460A (zh) | 图像特征提取的方法及系统 | |
CN107103035B (zh) | 本地表数据更新方法及装置 | |
CN101504688A (zh) | 一种基于hla的仿真软件交互方法 | |
CN109656898B (zh) | 基于节点度的分布式大规模复杂社团探测方法及装置 | |
CN110069248A (zh) | 接口数据的调用方法、装置、设备及计算机可读存储介质 | |
CN103176892A (zh) | 一种页面监控方法及系统 | |
CN103503412A (zh) | 用于调度资源的方法及装置 | |
CN110046636A (zh) | 分类预测方法及装置、预测模型训练方法及装置 | |
CN106453112A (zh) | Rpc通信中同向流信息的处理方法和服务器 | |
CN114862449A (zh) | 唯一自然人标识计算的方法、装置、电子设备和存储介质 | |
CN110297959A (zh) | 数据存储方法、装置、存储介质及边缘服务器 | |
CN107025134A (zh) | 数据库服务系统及兼容多种数据库的方法 | |
CN112463141B (zh) | 一种基于bpmn的微服务工作流部署方法 | |
CN109857374A (zh) | 移动应用的开发方法及装置 | |
CN104834734A (zh) | 一种高效数据分析处理方法 | |
CN111539685A (zh) | 基于私有云的船舶设计制造协同管理平台及方法 | |
CN108268542A (zh) | 用于数据库集群数据迁移的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |