一种定制服务组件的调用方法和装置的制造方法

文档序号:8922382阅读:210来源:国知局
一种定制服务组件的调用方法和装置的制造方法
【技术领域】
[0001]本发明涉及企业应用软件开发领域,尤其涉及一种定制服务组件的调用方法和装置。
【背景技术】
[0002]目前,应用软件系统需要面对各种客户,比如ERP类软件系统常常遇到这样的问题,各个企业都有自己的文化和特征,现有的ERP软件系统和该企业的需求匹配度不高,不能完全满足企业的个性化需求,就会导致客户丢失。如果对软件系统进行定制开发,则可能面临极大的成本投入和风险,开发周期也会延长。
[0003]业界现有的定制开发方式,主流有Saas架构的两种思路:一是为每个企业用户独立部署一套应用,使用代码分流进行定制开发;二是使用文件配置方式和工作流,提前预留定制配置项,为每个新企业定制配置。
[0004]但是上述方法也有很多不理想的地方,对于Saas思路一来说,如果定制的企业用户过多,代码分流也多,软件系统的维护和升级面临不断的膨胀成本和不可预估的风险;对于Saas思路二来说,预设配置项会使软件系统的复杂度增加,严重增加了产品的开发成本和开发周期,而去配置项本身也会不断更新,可能会造成软件系统不断重构代码。

【发明内容】

[0005]为解决现有技术中存在的问题,本发明实施例主要提供一种定制服务组件的调用方法和装置,在软件系统中增加、删除定制服务组件时,灵活简单,节省开发成本,降低风险。
[0006]本发明的技术方案是这样实现的:
[0007]本发明提供一种定制服务组件的调用方法,该方法包括:
[0008]在服务切入点设置定制拦截器,软件系统在调用服务时,拦截调用;检索出与当前调用服务对应的定制拦截器;
[0009]所述定制拦截器确定与调用的服务匹配的定制服务组件,执行所述定制服务组件。
[0010]上述方案中,所述在服务切入点设置定制拦截器为:对软件系统中需要定制的服务切入点进行解析,根据解析结果对相应的逻辑部件和定制规则进行个性化定制设置,输出具有约定格式的定制拦截器。
[0011]上述方案中,所述在调用服务时,拦截调用为:拦截处理中心对所有的服务调用进行拦截。
[0012]上述方案中,所述定制拦截器确定与调用的服务匹配的定制服务组件,执行所述定制服务组件为:所述定制拦截器判断调用的服务是否与定制规则匹配,当匹配时,执行所述当前调用服务的定制服务组件,当不匹配时,由下一个与当前调用服务对应的定制拦截器判断调用的服务是否与定制规则匹配,当匹配时,执行所述当前调用服务的定制服务组件;
[0013]所述定制规则为:用户身份+服务名。
[0014]本发明还提供一种服务组件的调用装置,该装置包括:定制设置中心、拦截处理中心、定制拦截器;其中,
[0015]所述定制设置中心,用于在服务切入点设置定制拦截器;
[0016]所述拦截处理中心,用于在软件系统在调用服务时,拦截调用,检索出与当前调用服务对应的定制拦截器,并通知所述定制拦截器;
[0017]定制拦截器,用于确定与调用的服务匹配的定制服务组件,执行所述定制服务组件。
[0018]上述方案中,所述定制设置中心,具体用于对软件系统中需要定制的服务切入点进行解析,根据解析结果对相应的逻辑部件和定制规则进行个性化定制设置,输出具有约定格式的定制拦截器。
[0019]上述方案中,所述定制拦截器,具体用于当确定调用的服务与定制规则匹配时,执行所述当前调用服务的定制服务组件。
[0020]上述方案中,所述定制拦截器,具体还用于当确定调用的服务与定制规则不匹配时,通知拦截处理中心;
[0021]相应的,所述拦截处理中心,还用于在第一个与当前调用服务对应的定制拦截器确定调用的服务与定制规则不匹配时,检索下一个与当前调用服务对应的定制拦截器。
[0022]本发明提供了一种定制服务组件的调用方法和装置,通过在服务切入点设置定制拦截器,在软件系统调用服务时,拦截当前服务调用,检索出与当前调用服务对应的定制拦截器,定制拦截器确定与调用的服务匹配的定制服务组件,执行所述定制服务组件,实现软件系统的灵活定制,满足“开闭原则”和“定制可拔式管理”,达到了节省开发成本、降低风险的效果,并提高了软件系统的可持续维护。
【附图说明】
[0023]图1为本发明实施例提供的定制服务组件的调用方法流程示意图;
[0024]图2为本发明实施例提供的定制服务组件的调用装置的结构示意图;
[0025]图3为本发明实施例提供的定制服务组件的调用示意图;
[0026]图4为本发明实施例提供的定制拦截处理流程图。
【具体实施方式】
[0027]本发明实施例中,通过在服务切入点设置定制拦截器,软件系统在调用服务时,拦截调用;检索出与当前调用服务对应的定制拦截器,所述定制拦截器确定与调用的服务匹配的定制服务组件,执行所述定制服务组件,从而实现软件快速、灵活的定制开发。
[0028]下面通过附图及具体实施例对本发明做进一步的详细说明。
[0029]本发明实施例提供一种定制服务组件的调用方法,该方法的流程示意图如图1所示,包括以下步骤:
[0030]步骤101:在服务切入点设置定制拦截器;
[0031]具体的,对软件系统中需要定制的服务切入点进行解析,即解析具体需要定制的逻辑部件以及与这些逻辑部件相对应的定制规则,根据解析结果对相应的逻辑部件和定制规则进行个性化定制设置,输出具有约定格式的定制拦截器;例如,在查询服务的切入点设置定制拦截器时,需要对查询服务中输入的关键字这一部分的逻辑部件进行定制,而且该逻辑部件需要有对应的匹配规则,规则至少为两个特征,如,用户名+服务名,再根据上述需要对查询服务的逻辑部件和对应的定制规则进行具体设置,就可以输出有约定格式的查询服务的定制拦截器;
[0032]其中,所述约定格式,就是统一继承一个拦截处理中心提供的接口类;具有所述约定格式的定制拦截器才可以被拦截处理中心识别。
[0033]步骤102:软件系统在调用服务时,拦截调用;
[0034]具体的,当软件系统在任何一个服务切入点调用任意服务时,拦截处理中心对所有的服务调用进行拦截;其中,所述拦截具体为:软件系统中所有的服务都注册在容器中,当调用容器中的任意服务时,所有的服务调用都要经过拦截处理中心的动态代理入口,通过源代码在所述动态代理入口处对服务调用进行拦截。
[0035]步骤103:检索出与当前调用服务对应的定制拦截器,所述定制拦截器确定与调用的服务匹配的定制服务组件,执行所述定制服务组件;
[0036]具体的,拦截处理中心将服务调用拦截后,遍历所有具有约定格式的定制拦截器,判断是否存在与当前调用服务对应的定制拦截器,当不存在时,直接执行当前调用服务的标准版服务组件,当存在时,所述定制拦截器判断调用的服务是否与定制规则匹配,当匹配时,执行所述当前调用服务的定制服务组件,当不匹配时,由下一个与当前调用服务对应的定制拦截器判断调用的服务是否与定制规则匹配,当匹配时,执行所述当前调用服务的定制服务组件;在所有与当前调用服务对应的定制拦截器均确认调用的服务与定制规则不匹配时,执行所述当前调用服务的标准版服务组件;
[0037]其中,所述标准版服务组件为实现服务基本功能的逻辑部件;所述定制服务组件为实现服务个性定制开发后的功能的逻辑部件;
[0038]所述定制规则可以根据设计需求或产品特点来设置,例如,可以是用户身份+服务名,在实际应用中,不同的企业可能对相同的服务有不同的要求,因此,设置定制规则可以避免企业之间对相同服务都有定制时,在使用过程中发生混淆。
[0039]为了实现上述方法,本发明实施例还提供一种定制服务组件的调用装置,如图2所示,该装置包括:定制设置中心20、拦截处理中心21、一个以上定制拦截器22 ;其中,
[0040]所述定制设置中心20,用于在服务切入点设置定制拦截器22 ;
[0041]所述拦截处理中心21,用于在软件系统在调用服务时,拦截调用,检索出与当前调用服务对应的定制拦截器22,并通知所述定制拦截器22 ;
[0042]定制拦截器22,用于确定与调用的服务匹配的定制服务组件,执行所述定制服务组件;
[0043]所述定制设置中心20,具体用于对软件系统中需要定制的服务切入点进行解析,根据解析结果对相应的逻辑部件和定制规则进行个性化定制设置,输出具有约定格式的定制拦截器22 ;
[0044]所述约定格式就是统一继承一个拦截处理中心提供的接口类,具有所述约定格式的定制拦截器22才可以被拦截处理中心21识别;
[0045]所述定制拦截器22,具体用于当确定调用的服务与定制规则匹配时,执行所述当前调用服务的定制服
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1