一种基于AOP的构件调用和扩展框架实现方法技术

技术编号:10043287 阅读:244 留言:0更新日期:2014-05-14 14:16
本发明专利技术公开了一种基于AOP的构件调用和扩展框架实现方法,包括步骤:S10:定义构件的主实体,并配置其AOP扩展点;S11:对有效的扩展点注册构件扩展监听,进行构件扩展定义;S12:调用定义好的构件;S13:判断是否存在有效的、且注册了业务逻辑扩展的扩展点,若存在,则调用业务逻辑扩展处理器对注册的业务逻辑扩展监听进行处理;S14:重复步骤S12和S13,分别对构件参数解析后的扩展点、构件调用前扩展点、构件调用后扩展点进行处理。本发明专利技术可以对构件的调用过程进行灵活的扩展,按需配置整个调用过程中业务逻辑的调用过程,以更好的适应用户特定的业务场景,充分满足多变的客户需求。

【技术实现步骤摘要】

本专利技术属于计算机信息处理
,涉及一种基于AOP的构件调用和扩展框架实现方法
技术介绍
最近几十年,软件开发技术得到了迅猛发展,先后经历了从汇编语言、面向过程、到面向对象、再到现在流行的面向构件、面向服务开发的过程。面向构件开发是九十年代初提出的一种新的软件开发方式,它是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。软件构件相当于工业流水线生产上的“标准件”,其最大特点就是可以通过不断复用,有效的缩减开发周期、降低成本。随着以分布式对象为基础的构件实现技术日趋成熟,它已经成为现今软件复用技术的研究热点,被认为是最具潜力的软件工程发展方向之一。在基于构件的开发过程中,最重要的就是要进行细粒度的构件定义和复用、进行灵活的组装和扩展、以及已有构件的沉淀和积累。这就需要有一个灵活、可扩展的构件调用和扩展引擎、及其所依赖的企业构件库。但是,目前很多现有的构件调用和扩展引擎,都存在着诸多的严重不足,无法满足用户对易用性、灵活组装和强大的可扩展能力、以及在构件扩展时进行选择过滤的需求。故,针对上述目前现有技术存在的不足,实有必要进行开发研究,以提供一种方案,可以对构件的调用过程进行灵活的扩展,按需配置整个调用过程中业务逻辑的调用过程,以更好的适应用户特定的业务场景,充分满足多变的客户需求。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种基于AOP的构件调用和扩展框架实现方法,可以对构件的调用过程进行灵活的扩展,按需配置整个调用过程中业务逻辑的调用过程,以更好的适应用户特定的业务场景,充分满足多变的客户需求。为实现上述目的,本专利技术的技术方案为:一种基于AOP的构件调用和扩展框架实现方法,包括下步骤:S10:定义构件的主实体,并配置其AOP扩展点;S11:对有效的扩展点注册构件扩展监听,进行构件扩展定义;S12:调用定义好的构件;S13:判断是否存在有效的、且注册了业务逻辑扩展的扩展点,若存在,则调用业务逻辑扩展处理器对注册的业务逻辑扩展监听进行处理;S14:重复步骤S12和S13,分别对构件参数解析后的扩展点、构件调用前扩展点、构件调用后扩展点进行处理。进一步地,步骤S10中,所述的构件主实体的定义具体包括构件编号定义、程序集定义、待执行方法的形参定义;主实体定义完成后,设置预定义的AOP扩展点的Enable属性;所述扩展点包括构件参数解析前扩展、构件参数解析后扩展、构件调用前扩展、构件调用后扩展。进一步地,步骤S11中,构件扩展定义包括构件扩展处理器组ExtHandlerGroup定义、构件扩展处理器ExtHandler定义、以及构件扩展可执行过滤器ExtFilter定义。进一步地,件扩展定义时,首先定义构件扩展监听ExtHandlerGroups的基本信息,然后定义其下的构件扩展处理器组ExtHandlerGroup实体列表,每一个构件扩展处理器组都采用双重过滤机制,其实体包含构件扩展处理器ExtHandler列表和构件扩展可执行过滤器ExtFilter列表。进一步地,步骤S12中,构件调用引擎首先通过扩展点管理器查找该构件上有效的构件参数解析调用前扩展点,及注册在该扩展点之上的业务逻辑扩展组;其中,构件调用引擎对一个构件的调用具体包括:S120:构件参数解析,包括构件参数解析前AOP扩展、构件参数解析、构件参数解析后AOP扩展;S121:构件逻辑调用,包括构件调用前AOP扩展、构件业务逻辑调用、构件调用后AOP扩展。进一步地,步骤S13中,所述的构件扩展监听的执行包括如下步骤:S130:遍历构件扩展监听(ExtHandlerGroups)中的每一个构件扩展处理器组;S131:计算扩展处理器组上的扩展执行过滤器链:如果扩展执行过滤器链上的所有扩展执行过滤器都校验通过了,才可以进入下一步;否则,就退出该扩展处理器组的处理,继续遍历下一个扩展处理器组;S132:对于校验通过的扩展处理器组,会继续执行:遍历其下的每一个扩展处理器;S133:扩展处理器上也有一个扩展执行过滤器链,如果扩展执行过滤器链上的所有扩展执行过滤器都校验通过了,才可以进入下一步;否则,就退出该扩展处理器的处理,继续遍历下一个扩展处理器;S134:执行扩展执行程序:每一个扩展处理器都注册有一个扩展执行程序,包括构件及其参数转换原则。期执行过程就是根据参数转换原则进行生成构件调用实参,并对该构件进行调用。相较于现有技术,本专利技术一种基于AOP的构件调用和扩展框架实现方法可以对构件的调用过程进行灵活的扩展,按需配置整个调用过程中业务逻辑的调用过程,以更好的适应用户特定的业务场景,充分满足多变的客户需求。附图说明图1是本专利技术的流程图示;图2是构件调用过程示意图;图3是构件扩展注册类结构示意图;图4是构件扩展调用过程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术一种基于AOP的构件调用和扩展框架实现方法,包括如下步骤:S10:定义构件的主实体,并配置其AOP扩展点(AopExtPoint)步骤S10中,所述的构件主实体的定义具体包括构件编号定义、程序集定义、待执行方法的形参定义;主实体定义完成后,设置预定义的AOP扩展点的Enable属性,改属性为True时才可以被扩展,即该扩展点有效。所述扩展点包括构件参数解析前扩展、构件参数解析后扩展、构件调用前扩展、构件调用后扩展。S11:对有效的扩展点注册构件扩展监听,进行构件扩展定义步骤S11中,构件扩展定义包括构件扩展处理器组ExtHandlerGroup定义、构件扩展处理器ExtHandler定义、以及构件扩展可执行过滤器ExtFilter定义)。构件扩展定义时,首先定义构件扩展监听ExtHandlerGroups的基本信息,然后定义其下的构件扩展处理器组ExtHandlerGroup实体列表,每一个构件扩展处理器组都采用双重过滤机制,其实体包含构件扩展处理器ExtHandler列表和构件扩展可执行过滤器ExtFilter列表。其中,构件扩展处理器ExtHandler中定义ExtFilter列表及索要执行的扩展业务逻辑,该业务逻辑也是一个构件;构件扩展执行过滤器ExtFilter中定义一个返回bool值得过滤条件,改过滤条件也是一个构件。如果扩展执行过滤器的过滤条件返回值为true,则该扩展可以被执行;否则,该扩展不能被继续执行。S12:调用定义好的构件步骤S12中,构件调用引擎首先通过扩展点管理器查找该构件上有效的构件参数解析调用前扩展点,及注册在该扩展点之上的业务逻辑扩展组。构件调用引擎对一个本文档来自技高网...

【技术保护点】
一种基于AOP的构件调用和扩展框架实现方法,其特征在于,包括如下步骤:S10:定义构件的主实体,并配置其AOP扩展点;S11:对有效的扩展点注册构件扩展监听,进行构件扩展定义;S12:调用定义好的构件;S13:判断是否存在有效的、且注册了业务逻辑扩展的扩展点,若存在,则调用业务逻辑扩展处理器对注册的业务逻辑扩展监听进行处理;S14:重复步骤S12和S13,分别对构件参数解析后的扩展点、构件调用前扩展点、构件调用后扩展点进行处理。

【技术特征摘要】
1.一种基于AOP的构件调用和扩展框架实现方法,其特征在于,包括如下步骤:
S10:定义构件的主实体,并配置其AOP扩展点;
S11:对有效的扩展点注册构件扩展监听,进行构件扩展定义;
S12:调用定义好的构件;
S13:判断是否存在有效的、且注册了业务逻辑扩展的扩展点,若存在,则调用业务逻辑扩展处理器对注册的业务逻辑扩展监听进行处理;
S14:重复步骤S12和S13,分别对构件参数解析后的扩展点、构件调用前扩展点、构件调用后扩展点进行处理。
2.根据权利要求1所述基于AOP的构件调用和扩展框架实现方法,其特征在于:步骤S10中,所述的构件主实体的定义具体包括构件编号定义、程序集定义、待执行方法的形参定义;主实体定义完成后,设置预定义的AOP扩展点的Enable属性;所述扩展点包括构件参数解析前扩展、构件参数解析后扩展、构件调用前扩展、构件调用后扩展。
3.根据权利要求2所述基于AOP的构件调用和扩展框架实现方法,其特征在于:步骤S11中,构件扩展定义包括构件扩展处理器组ExtHandlerGroup定义、构件扩展处理器ExtHandler定义、以及构件扩展可执行过滤器ExtFilter定义。
4.根据权利要求3所述基于AOP的构件调用和扩展框架实现方法,其特征在于:构件扩展定义时,首先定义构件扩展监听ExtHandlerGroups的基本信息,然后定义其下的构件扩展处理器组ExtHandlerGroup实体列表,每一个构件扩展处理器组都采用双重过滤机制,其实体包含构件扩展处理器ExtHandler列表和构...

【专利技术属性】
技术研发人员:戴海宏
申请(专利权)人:浪潮集团山东通用软件有限公司
类型:发明
国别省市:山东;37

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

1