服务实例的创建方法和企业资源计划系统的制作方法

文档序号:6580790阅读:160来源:国知局
专利名称:服务实例的创建方法和企业资源计划系统的制作方法
技术领域
本发明涉及企业资源计划系统技术领域,具体涉及服务实例的创建方法和 企业资源计划系统。
背景技术
在企业资源计划(ERP, Enterprise Resource Planning)系统中,创建服务 实例(即企业服务实例)去执行服务方法是常见的服务使用场景之一。
创建服务实例,目前较常用的有三种方式(1)直接创建;(2 )使用各种 设计模式进行创建,例如工厂方法;(3)由系统或容器进行依赖注入来进行创 建,例如由系统或容器通过在构造方法中注入所需的服务,或者通过配置文件 来指定注入的服务,从而实现服务实例的创建。
在对现有技术的研究和实践过程中,本发明的发明人发现,以上所述的各 种创建方法的耦合性均较高,所谓耦合,指的是系统或模块或类之间的互相依 赖关系,依赖越大,耦合就越高,运行和维护的成本也就越高。例如,如果需 要增加新的创建服务类或者改变了配置文件或者增加新的创建方式,则需要对 服务创建代码进行改变,甚至重新编写服务创建代码。

发明内容
本发明实施例提供服务实例的创建方法和企业资源计划系统,以实现零耦合。
一种服务实例的创建方法,其特;f正在于,包括 通过读取创建标注确定解析创建处理类; 调用所述解析创建处理类;
通过预置的策略利用所述解析创建处理类获取待创建的服务实例的类型 和创建方式;
才艮据所述服务实例的类型和创建方式创建服务实例。 一种企业资源计划系统,其特征在于,包括 确定单元,用于通过读取创建标注确定解析创建处理类;调用单元,用于调用所述确定单元确定的解析创建处理类;
获^f又单元,用于通过预置的策略利用所述调用单元调用的解斗斤创建处理类
获取待创建的服务实例的类型和创建方式;
创建单元,用于根据所述获取单元获取到的服务实例的类型和创建方式创 建服务实例。
本发明实施例利用创建标注来标识和调用解析创建处理类,并通过预置的 策略利用该解析创建处理类来确定创建方式,^v而在保证各种创建方式自身的 独立性的同时,将这多种创建方式整合起来,即可以兼容多种创建方式,使得 在发生需要增加新的创建方式或需要对配置文件进行修改等情况时,可以不需 要对服务创建代码进行修改或重新编写,即实现零耦合。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例 一提供的方法的方法流程图2是本发明实施例二提供的方法的方法流程图3是本发明实施例提供的ERP系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供服务实例的创建方法和企业资源计划系统。以下分别进 4亍详细il明。
实施例一、
本实施例将从ERP系统的角度进行描述。
一种服务实例的创建方法,在接收到用户输入的创建标注后,通过读取创建标注确定解析创建处理类,并调用该解析创建处理类,然后通过预置的策略 利用所调用的解析创建处理类获取待创建的服务实例的类型和创建方式,最后 根据该获取到的服务实例的类型和创建方式创建服务实例。如图l所示,具体
流程可以如下
101、 通过读^L创建标注确定解析创建处理类;
102、 调用步骤101中所确定的解析创建处理类;
103、 通过预置的策略利用步骤102中调用的解析创建处理类获取待创建的 服务实例的类型和创建方式;其中,策略可以根据由设备提供方或用户进行预置。
例如,可以调用预置的配置文件;根据配置文件利用所述解一斤创建处理类 获取待创建的服务实例的类型和创建方式。
又例如,可以通过查询数据库或注册表等可以保存配置和信息的模块,然 后根据数据库或注册表等模块的记录利用步骤102中调用的解析创建处理类获 取待创建的服务实例的类型和创建方式。
其中,创建方式可以是直接创建的方式、使用设计模式进^t创建的方式和 由系统/容器进行依赖注入以进行创建的方式中的任一种,也可以是其他的比 如新配置的创建方式。
104、 根据获取到的服务实例的类型和创建方式创建服务实例;例如,可 以如下:
若步骤103中获取到的创建方式为直接创建的方式,则直接4艮据获取到的 服务实例的类型创建服务实例;
若步骤103中获取到的创建方式为使用设计模式进行创建的方式,则调用 该服务实例类型所对应的设计模式的类,以进行服务实例的创建;
若步骤103中获取到的创建方式为由系统/容器进行依赖注入以进行创建 的方式,则使用配置文件中指定的类来创建服务实例,或根据类标注调用标注 处理类,由标注处理类来创建服务实例;
若步骤103中获取到的创建方式为 一种新的创建方式,则调用该新的创建 方式来创建服务实例,等等。
需说明的是,为了描述方便以及便于区别,在本发明实施例中将创建服务实例的标注命名为创建标注,而将于创建方式相对应的标注称为类标注,应当 理解的是,两者均为标注,只是应用的场景略有不同。
由上可知,本发明实施例利用创建标注来标识和调用解析创建处理类,并 通过预置的策略利用该解析创建处理类来确定创建方式,从而在保证各种创建 方式自身的独立性的同时,将这多种创建方式整合起来,即可以兼容多种创建 方式,使得在发生需要增加新的创建方式或需要对配置文件进行修改等情况 时,可以不需要对服务创建代码进行修改或重新编写,即实现零耦合。
实施例二、
根据实施例一所描述的方法,下面将举例作进一步详细说明。
假设某个服务类的名称为ERPService ,需要创建的服务实例的名称为 ServiceA,则,参见图2,创建过程可以如下
201、 ERP系统读取到创建标注@ERPService,确定解析创建处理类为 ERPService服务类的解析创建处理类;
202、 ERP系统调用ERPService服务类的解析创建处理类;
203 、 ERP系统通过预置的策略利用ERPService服务类的解析创建处理获 取待创建的服务实例的类型和创建方式,即交由ERPService服务类的解析创建 处理类来处理创建;
例如,可以调用预置的配置文件;根据配置文件利用所述解^f创建处理类 获取待创建的服务实例的类型和创建方式;
又例如,可以通过查询数据库或注册表等可以保存配置和信息的模块,然 后根据数据库或注册表等模块的记录利用调用的解析创建处理类获取待创建 的服务实例的类型和创建方式。
其中,创建方式可以是直接创建的方式、使用设计模式进行创建的方式和 由系统/容器进行依赖注入以进行创建的方式中的任一种,也可以是其他的比 如新配置的创建方式。
假设在此解析创建处理类通过发射知道了需要创建出来的是 一 个 ServiceA实例,则在确定创建方式为直接创建的方式时,执4亍步骤204;在确 定创建方式为使用设计模式进行创建的方式时,执行步骤205;在确定创建方 式为由系统/容器进行依赖注入以进行创建的方式时,执行步骤206;在确定创建方式为一种新的创建方式时,则执行步骤207;
204、 缺省的创建一个ServiceA实例,即直接根据获取到的服务实例的类 型创建个ServiceA实例;比如可以采用如下i吾法
ERPService serviceA = new ServiceA(),即表明创建一 个新的名称为 "ServiceA"的服务实例;
205、 调用该服务实例类型所对应的设计模式的类,以进行ServiceA实例 的创建,比如,调用ServiceA的类工厂(即调用工厂类),来创建ServiceA实例, i吾法可以如下
ERPService serviceA= ServiceAFactory.getlnstance (),即表明通过类工厂创 建一个新的名称为"ServiceA"的服务实例;
206、 使用配置文件中指定的类来创建ServiceA实例,或#^据类标注调用 标注处理类,由标注处理类来创建ServiceA实例,比如存在 一 个 ⑨SUPERERPService标注处理类,则根据类标注"SUPERERPService"调用对 应的标注处理类,然后交由这个标注处理类来创建ServiceA实例,等等。
(1) 以Spring (当今流行的优秀开源框架之一)支持的方式为例,在此 假设使用bean.xml作为配置文件,则使用配置文件中指定的类来创建ServiceA 实例的i吾法可以如下
ApplicationContext ctx = new〃表示需要建立一个新的H务实例 FileSystemXmlApplicationContext( "bean.xml");〃表示使用bean.xml作 为配置文件
正RPService serviceA = (ERPService)ctx.getBean(" ID001 "); 〃表示 ID001为唯一服务标识,配置文件中指向ServiceA服务
(2) 以EJB3.0中的方式为例,假设用⑥EJB用于注入EJB业务对象,则由 标注处理类来创建ServiceA实例的语法可以如下
@EJB(beanName="ServiceA") 〃标注这是 一 个EJB服务,并且是 "ServiceA"月良务实例
private ERPService serviceA; 〃表示创建"ServiceA"月l务实例
207、 调用该新的创建方式来创建ServiceA实例。当然,除了上面所列举的创建方式之外,还可以采用其他的创建方式,在 此不再赘述。
当服务实例创建完毕后,可以返回创建好的ServiceA实例,以进行后续的 其他操作。
由上可知,本发明实施例利用创建标注来标识和调用解析创建处理类,并 通过预置的策略利用该解析创建处理类来确定创建方式,从而在^f呆证各种创建 方式自身的独立性的同时,将这多种创建方式整合起来,即可以兼容多种创建 方式,使得在发生需要增加新的创建方式或需要对配置文件进行修改等情况 时,可以不需要对服务创建代码进行修改或重新编写,即实现零耦合。而且, 该方案的实施简便,具有较强的可读性和可维护性,便于用户理解(用户通过 标注即可知道创建的是什么服务)。
实施例三、
为了更好地实施以上方法,本发明实施例还相应地提供一种企业资源计划 系统,即ERP系统,如图3所示,该ERP系统包括确定单元301、调用单元302、 获取单元303和创建单元304。
确定单元301,用于通过读取创建标注确定解析创建处理类; 调用单元302,用于调用确定单元301确定的解析创建处理类; 获取单元303,用于通过预置的策略利用调用单元302调用的解析创建处理 类获取待创建的服务实例的类型和创建方式;其中,创建方式可以包括直接 创建的方式,或使用设计模式进行创建的方式,或由系统/容器进行依赖注入 以进行创建的方式。
创建单元304,用于根据获取单元303获取到的服务实例的类型和创建方式 创建服务实例。
其中,所述获取单元303,具体用于调用预置的配置文件,才艮据配置文件 利用调用单元302调用的解析创建处理类获取待创建的服务实例的类型和创建 方式;或者,
所述获取单元303,具体用于查询数据库或注册表,根据数据库或注册表 的记录利用调用单元302调用的解析创建处理类获取待创建的服务实例的类型 和创建方式。其中,所述创建单元304包括直接创建子单元、设计模式创建子单元和依 赖注入创建子单元;
直接创建子单元,用于当获取单元303获取到的创建方式为直接创建的方 式时,直接根据所述服务实例的类型创建服务实例;
设计模式创建子单元,用于当获取单元303获取到的创建方式为使用设计 模式进行创建的方式时,调用所述服务实例类型所对应的设计模式的类,以进 行服务实例的创建;
依赖注入创建子单元,用于当获取单元303获取到的创建方式为由系统或 容器进行依赖注入以进行创建的方式时,使用配置文件中指定的类来创建服务 实例,或根据类标注调用标注处理类,由标注处理类来创建服务实例。
以上各个单元的具体实施,可参见前面实施例,在此不再赘述。
由上可知,本发明实施例的ERP系统利用创建标注来标识和调用解析创建 处理类,并通过预置的策略利用该解析创建处理类来确定创建方式,从而在保 证各种创建方式自身的独立性的同时,将这多种创建方式整合起来,即可以兼 容多种创建方式,使得在发生需要增加新的创建方式或需要对配置文件进行修 改等情况时,可以不需要对服务创建代码进行修改或重新编写,即实现零耦合。 而且,该方案的实施简便,具有较强的可读性和可维护性,便于用户理解(用 户通过标注即可知道创建的是什么服务)。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中,存储介质可以包括只读存4诸器(ROM, Read Only Memory )、 随机存取记忆体(RAM, Random Access Memory )、磁盘或光盘等。
以上对本发明实施例所提供的服务实例的创建方法和企业资源计划系统 进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐
对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围 上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种服务实例的创建方法,其特征在于,包括通过读取创建标注确定解析创建处理类;调用所述解析创建处理类;通过预置的策略利用所述解析创建处理类获取待创建的服务实例的类型和创建方式;根据所述服务实例的类型和创建方式创建服务实例。
2、 根据实施例l所述的方法,其特征在于,所述通过预置的策略利用所述 解析创建处理类获取待创建的服务实例的类型和创建方式包括调用预置的配置文件;根据配置文件利用所述解析创建处理类获取待创建的服务实例的类型和 创建方式。
3、 根据实施例l所述的方法,其特征在于,所述通过预置的策略利用所述 解析创建处理类获取待创建的服务实例的类型和创建方式包括查询数据库或注册表,根据数据库或注册表的记录利用所述解析创建处理类获取待创建的服务实例的类型和创建方式。
4、 根据实施例1至3中任一项所述的方法,其特4正在于, 所述创建方式包括直接创建的方式,或使用设计模式进行创建的方式,或由系统/容器进行依赖注入以进行创建的方式。
5、 根据实施例4所述的方法,其特征在于,所述根据所述服务实例的类型 和创建方式创建服务实例包括若获取到的创建方式为直接创建的方式,则直接根据所述服务实例的类型 创建服务实例;若获取到的创建方式为使用设计模式进行创建的方式,则调用所述服务实 例类型所对应的设计模式的类,以进行服务实例的创建;若获取到的创建方式为由系统/容器进行依赖注入以进行创建的方式,则 使用配置文件中指定的类来创建服务实例,或才艮据类标注调用标注处理类,由 标注处理类来创建服务实例。
6、 一种企业资源计划系统,其特征在于,包括 确定单元,用于通过读取创建标注确定解析创建处理类;调用单元,用于调用所述确定单元确定的解析创建处理类;获取单元,用于通过预置的策略利用所述调用单元调用的解析创建处理类获取待创建的服务实例的类型和创建方式;创建单元,用于根据所述获取单元获取到的服务实例的类型和创建方式创 建服务实例。
7、 根据权利要求6所述的企业资源计划系统,其特征在于,包括 所述获取单元,用于调用预置的配置文件,才艮据配置文件利用所述调用单元调用的解析创建处理类获取待创建的服务实例的类型和创建方式。
8、 根据权利要求6所述的企业资源计划系统,其特征在于,包括 所述获取单元,用于查询数据库或注册表,根据数据库或注册表的记录利用所述调用单元调用的解析创建处理类获取待创建的服务实例的类型和创建 方式。
9、 根据权利要求6至8任一项中所述的企业资源计划系统,其特征在于, 所述创建方式包括直接创建的方式,或使用设计模式进行创建的方式,或由系统/容器进行依赖注入以进行创建的方式。
10、 根据权利要求6所述的企业资源计划系统,其特征在于,所述创建单 元包括直接创建子单元、设计模式创建子单元和依赖注入创建子单元;直接创建子单元,用于当所述获取单元荻取到的创建方式为直接创建的方 式时,直接根据所述服务实例的类型创建服务实例;设计模式创建子单元,用于当所述获取单元获取到的创建方式为使用设计 模式进行创建的方式时,调用所述服务实例类型所对应的设计才莫式的类,以进 行服务实例的创建;'依赖注入创建子单元,用于当所述获取单元获取到的创建方式为由系统/ 容器进行依赖注入以进行创建的方式时,使用配置文件中指定的类来创建服务 实例,或根据类标注调用标注处理类,由标注处理类来创建月l务实例。
全文摘要
本发明公开了一种服务实例的创建方法和企业资源计划系统,方法包括通过读取创建标注确定解析创建处理类,调用该解析创建处理类,通过预置的策略利用该解析创建处理类获取待创建的服务实例的类型和创建方式,根据所述服务实例的类型和创建方式创建服务实例。由于本发明实施例利用创建标注来标识和调用解析创建处理类,并通过预置的策略利用该解析创建处理类来确定创建方式,因此可以在保证各种创建方式自身的独立性的同时,将这多种创建方式整合起来,即可以兼容多种创建方式,使得在发生需要增加新的创建方式或需要对配置文件进行修改等情况时,可以不需要对服务创建代码进行修改或重新编写,即实现零耦合。
文档编号G06F9/44GK101655795SQ200910177828
公开日2010年2月24日 申请日期2009年9月25日 优先权日2009年9月25日
发明者钟发然 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1