CN102087594A - 扩展点和插件的管理方法和装置 - Google Patents

扩展点和插件的管理方法和装置 Download PDF

Info

Publication number
CN102087594A
CN102087594A CN2010106084943A CN201010608494A CN102087594A CN 102087594 A CN102087594 A CN 102087594A CN 2010106084943 A CN2010106084943 A CN 2010106084943A CN 201010608494 A CN201010608494 A CN 201010608494A CN 102087594 A CN102087594 A CN 102087594A
Authority
CN
China
Prior art keywords
unit
plug
extension point
attribute
call
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.)
Granted
Application number
CN2010106084943A
Other languages
English (en)
Other versions
CN102087594B (zh
Inventor
史周军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN2010106084943A priority Critical patent/CN102087594B/zh
Publication of CN102087594A publication Critical patent/CN102087594A/zh
Application granted granted Critical
Publication of CN102087594B publication Critical patent/CN102087594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种扩展点和插件的管理方法,包括:建立扩展点,根据所述扩展点的属性来发布所述扩展点,所述扩展点与多个插件对应,根据所述插件的属性和注册规则来注册与所述扩展点对应的所述插件。本发明还提供了一种扩展点和插件的管理装置,包括:发布模块,用于建立扩展点,根据扩展点的属性来发布所述扩展点,所述扩展点与多个插件对应,根据所述插件的属性和注册规则来注册与所述扩展点对应的所述插件。根据本发明的技术方案,能够建立一个统一的扩展点管理平台,可以方便地实现基于该扩展点管理平台的插件扩展,较好地解决了基于扩展点的软件扩展与应用融合的问题。

Description

扩展点和插件的管理方法和装置
技术领域
本发明涉及软件管理及应用技术,尤其涉及扩展点和插件的管理方法和装置。
背景技术
随着软件的开发模式越来越多样化,软件开发商之间的合作也越来越广泛,通过软件的扩展开发能够大大增强产品的应用能力,增强产业链的竞争能力,为各级产业链的开发伙伴带来价值。但是如果不对软件的扩展点加以管理的话,各级研发伙伴不能很好地了解软件的扩展能力,而软件开发者本身也不知道如何处理插件,这样将会对各种扩展需求的开发带来很大的障碍。所谓扩展点,就是组件定义出来可以进行扩展的地方,可以认为是一些扩展的契约,而插件就是对这些扩展点的实现,图1示出了组件、扩展点与插件之间的关系。因此,作为一个软件产品,在软件中管理自己的扩展点及公布支持的扩展规则,对于支持软件生态链来说具有重要意义。
当前的软件管理扩展的方法主要有以下几种方式:1)没有扩展点这样的明确概念,需要修改软件的源代码。产品提供的软件产品功能在不能满足用户需求时,需要开发人员直接修改软件的源代码。这种方式的缺点是对于每次需求的调整都需要修改程序,增加了程序的不稳定性和出错的可能性,整个应用均需要进行测试,花费了大量的时间。令外,由于源代码是软件公司的核心资产,一般不对外开放,如果合作伙伴没有源程序的话,则不能提供软件的功能扩展,大大约束了软件产业链的发展。2)基于文档的扩展点。软件开发时提供了软件接口的说明,合作伙伴或客户可以基于接口进行扩展。但是,基于文档提供声明的方式存在一些问题:由于文档的提供者是各个开发或设计人员,每个人的描述方式和描述的规范都不一致。另外每个扩展点的能力支持方面通常都比较简单,没有考虑到事务、同步/异步等使用方式。这些将限制软件的扩展能力和融合能力。而在行业、合作伙伴或客户在进行软件扩展时,通常有不同的融合需求,如果不考虑这些需求的话,可能就很难达到应用的具体扩展需求。
因此,需要一种扩展点和插件的管理方法和装置,能够建立一个统一的扩展点管理平台,可以方便地实现基于该扩展点管理平台的插件扩展,较好地解决了基于扩展点的软件扩展与应用融合的问题。
发明内容
有鉴于此,本发明所要解决的技术问题在于,提供一种扩展点和插件的管理方法和装置,能够建立一个统一的扩展点管理平台,可以方便地实现基于该扩展点管理平台的插件扩展,较好地解决了基于扩展点的软件扩展与应用融合的问题。
本发明提供了一种扩展点和插件的管理方法,包括:建立扩展点,根据该扩展点的属性来发布扩展点,扩展点与多个插件对应,根据插件的属性和注册规则来注册与扩展点对应的插件。通过该技术方案,可以在一个统一的环境下管理扩展点和插件,便于后续的开发和应用融合。
在上述技术方案中,优选地,按照调用规则来调用插件。这样,使用插件时也必须按照注册时事先的声明规则来进行,便于统一管理。
在上述技术方案中,优选地,分别定义扩展点和插件的属性,并分别声明根据扩展点来注册插件的注册规则和调用插件的调用规则,其中,扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。这样,所有的扩展点和插件都必须根据这些定义和声明来来管理和使用。
在上述技术方案中,优选地,注册规则具体为:如果扩展点的是否有效属性为无效时,则不能为扩展点注册对应的插件;如果扩展点的是否支持设置调用时机属性为否时,则注册的插件不具有调用时机功能;如果扩展点的是否支持设置同步属性为不支持时,则注册的插件在被调用时不进行同步调用处理;如果扩展点的是否支持设置同一事务属性为不支持时,则注册的插件在被调用时与调用者不在同一事务里。因此,插件的注册必须与其所对应的扩展点统一起来,根据扩展点具体的属性设置来设置插件的属性。
在上述技术方案中,优选地,发布扩展点和注册插件还包括相关操作,相关操作包括:增加、修改、保存、删除和/或查询。这样,增加了扩展点和插件的后续开发功能,更加人性化。
在上述技术方案中,优选地,调用插件的调用规则具体为:查询扩展点对应的一个或多个插件,按照调用时机和调用顺序属性的设置来调用插件,如果插件的调用时机在默认插件之前,则先处理插件,如果插件的调用时机在默认插件之后,则先处理默认插件;按照是否支持设置同步属性的设置来处理插件,同步调用插件或异步调用插件;按照是否支持设置同一事务属性的设置来处理插件,调用插件时与调用者在同一事务里或不在同一事务里。因此,考虑到了同步调用/异步调用和是否同一事务中处理,调用插件时,按照该插件的属性设置来进行处理。
本发明还提供了一种扩展点和插件的管理装置,包括:发布模块,用于建立扩展点,根据扩展点的属性来发布扩展点,扩展点与多个插件对应,根据插件的属性和注册规则来注册与扩展点对应的插件。通过该技术方案,可以在一个统一的环境下管理扩展点和插件,便于后续的开发和应用融合。
在上述技术方案中,优选地,还可以包括:调用模块,用于按照调用规则来调用插件。这样,使用插件时也必须按照注册时事先的声明规则来进行,便于统一管理。
在上述技术方案中,优选地,还可以包括:属性定义模块,用于分别定义扩展点和插件的属性,并分别声明根据扩展点来注册插件的注册规则和调用插件的调用规则,其中,扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。这样,所有的扩展点和插件都必须根据这些定义和声明来来管理和使用。
在上述技术方案中,优选地,注册规则具体为:如果扩展点的是否有效属性为无效时,则不能为扩展点注册对应的插件;如果扩展点的是否支持设置调用时机属性为否时,则注册的插件不具有调用时机功能;如果扩展点的是否支持设置同步属性为不支持时,则注册的插件在被调用时不进行同步调用处理;如果扩展点的是否支持设置同一事务属性为不支持时,则注册的插件在被调用时与调用者不在同一事务里。因此,插件的注册必须与其所对应的扩展点统一起来,根据扩展点具体的属性设置来设置插件的属性。
在上述技术方案中,优选地,发布模块还可以包括相关操作,相关操作包括:增加、修改、保存、删除和/或查询。这样,增加了扩展点和插件的后续开发功能,更加人性化。
在上述技术方案中,优选地,调用模块调用插件的调用规则具体为:查询扩展点对应的一个或多个插件,按照调用时机和调用顺序属性的设置来调用插件,如果插件的调用时机在默认插件之前,则先处理插件,如果插件的调用时机在默认插件之后,则先处理默认插件;按照是否支持设置同步属性的设置来处理插件,同步调用插件或异步调用插件;按照是否支持设置同一事务属性的设置来处理插件,调用插件时与调用者在同一事务里或不在同一事务里。因此,考虑到了同步调用/异步调用和是否同一事务中处理,调用插件时,按照该插件的属性设置来进行处理。
通过上述技术方案,可以实现一种扩展点和插件的管理方法和装置,能够建立一个统一的扩展点管理平台,可以方便地实现基于该扩展点管理平台的插件扩展,较好地解决了基于扩展点的软件扩展与应用融合的问题。
附图说明
图1示出了组件、扩展点与插件的关系;
图2示出了根据本发明的实施例的扩展点和插件的管理方法的流程图;
图3示出了根据本发明的实施例的扩展点和插件的管理装置的框图;
图4示出了根据本发明的实施例的扩展点和插件的管理方法的示意图;
图5示出了根据本发明的实施例的扩展点和插件的属性模型设计的示意图;
图6示出了根据本发明的实施例的扩展点的发布和插件的注册管理的界面图;
图7示出了根据本发明的实施例的调用者访问扩展点时调用插件的过程图;
图8示出了根据本发明的实施例的处理插件的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图2示出了根据本发明的实施例的扩展点和插件的管理方法的流程图。
如图2所示,根据本发明的实施例的扩展点和插件的管理方法,包括:步骤202,建立扩展点,根据该扩展点的属性来发布扩展点,扩展点与多个插件对应,根据插件的属性和注册规则来注册与扩展点对应的插件。通过该技术方案,可以在一个统一的环境下管理扩展点和插件,便于后续的开发和应用融合。
在上述技术方案中,优选地,按照调用规则来调用插件。这样,使用插件时也必须按照注册时事先的声明规则来进行,便于统一管理。
在上述技术方案中,优选地,分别定义扩展点和插件的属性,并分别声明根据扩展点来注册插件的注册规则和调用插件的调用规则,其中,扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。这样,所有的扩展点和插件都必须根据这些定义和声明来来管理和使用。
在上述技术方案中,优选地,注册规则具体为:如果扩展点的是否有效属性为无效时,则不能为扩展点注册对应的插件;如果扩展点的是否支持设置调用时机属性为否时,则注册的插件不具有调用时机功能;如果扩展点的是否支持设置同步属性为不支持时,则注册的插件在被调用时不进行同步调用处理;如果扩展点的是否支持设置同一事务属性为不支持时,则注册的插件在被调用时与调用者不在同一事务里。因此,插件的注册必须与其所对应的扩展点统一起来,根据扩展点具体的属性设置来设置插件的属性。
在上述技术方案中,优选地,发布扩展点和注册插件还包括相关操作,相关操作包括:增加、修改、保存、删除和/或查询。这样,增加了扩展点和插件的后续开发功能,更加人性化。
在上述技术方案中,优选地,调用插件的调用规则具体为:查询扩展点对应的一个或多个插件,按照调用时机和调用顺序属性的设置来调用插件,如果插件的调用时机在默认插件之前,则先处理插件,如果插件的调用时机在默认插件之后,则先处理默认插件;按照是否支持设置同步属性的设置来处理插件,同步调用插件或异步调用插件;按照是否支持设置同一事务属性的设置来处理插件,调用插件时与调用者在同一事务里或不在同一事务里。因此,考虑到了同步调用/异步调用和是否同一事务中处理,调用插件时,按照该插件的属性设置来进行处理。
图3示出了根据本发明的实施例的扩展点和插件的管理装置的框图。
如图3所示,根据本发明的实施例的扩展点和插件的管理装置300包括:发布模块302,用于建立扩展点,根据扩展点的属性来发布扩展点,扩展点与多个插件对应,根据插件的属性和注册规则来注册与扩展点对应的插件。通过该技术方案,可以在一个统一的环境下管理扩展点和插件,便于后续的开发和应用融合。
在上述技术方案中,优选地,还可以包括:调用模块304,用于按照调用规则来调用插件。这样,使用插件时也必须按照注册时事先的声明规则来进行,便于统一管理。
在上述技术方案中,优选地,还可以包括:属性定义模块306,用于分别定义扩展点和插件的属性,并分别声明根据扩展点来注册插件的注册规则和调用插件的调用规则,其中,扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。这样,所有的扩展点和插件都必须根据这些定义和声明来来管理和使用。
在上述技术方案中,优选地,注册规则具体为:如果扩展点的是否有效属性为无效时,则不能为扩展点注册对应的插件;如果扩展点的是否支持设置调用时机属性为否时,则注册的插件不具有调用时机功能;如果扩展点的是否支持设置同步属性为不支持时,则注册的插件在被调用时不进行同步调用处理;如果扩展点的是否支持设置同一事务属性为不支持时,则注册的插件在被调用时与调用者不在同一事务里。因此,插件的注册必须与其所对应的扩展点统一起来,根据扩展点具体的属性设置来设置插件的属性。
在上述技术方案中,优选地,发布模块302还可以包括相关操作,相关操作包括:增加、修改、保存、删除和/或查询。这样,增加了扩展点和插件的后续开发功能,更加人性化。
在上述技术方案中,优选地,调用模块304调用插件的调用规则具体为:查询扩展点对应的一个或多个插件,按照调用时机和调用顺序属性的设置来调用插件,如果插件的调用时机在默认插件之前,则先处理插件,如果插件的调用时机在默认插件之后,则先处理默认插件;按照是否支持设置同步属性的设置来处理插件,同步调用插件或异步调用插件;按照是否支持设置同一事务属性的设置来处理插件,调用插件时与调用者在同一事务里或不在同一事务里。因此,考虑到了同步调用/异步调用和是否同一事务中处理,调用插件时,按照该插件的属性设置来进行处理。
通过上述技术方案,可以实现一种扩展点和插件的管理方法和装置,能够建立一个统一的扩展点管理平台,可以方便地实现基于该扩展点管理平台的插件扩展,较好地解决了基于扩展点的软件扩展与应用融合的问题。
接下来参考图4至图9来详细说明本发明的又一实施例。
如图4所示,本实施例的技术方案包括三个方面,第一个方面是设计扩展点和插件的属性模型402,第二个方面是按照该属性模型来发布扩展点和注册基于该扩展点的插件,还提供增加、修改、删除和查询等管理的操作404,第三个方面是在软件开发和应用时插件的处理过程406。
首先具体说明该实施例的第一个方面,软件的组件为了能够支持对其扩展业务能力,需要先声明其具有哪些扩展点,以及支持以何种方式进行使用。一个扩展点通常支持多个扩展插件,如图1所示。如果一个组件的一些行为需要在不同的应用场景下有不同的实现,通常在组件设计时,就需要根据这些行为的扩展需要分离接口,形成扩展点。
如图5所示,是该实施例中的扩展点和插件的属性模型设置的示意图。
该扩展点的实体模型的主要属性具体解释如下:
标识:扩展点的唯一标识;
编码:扩展点的编码,按照一定的规则生成编码,具体规则例如模块简称-组件简称-流水号;
名称:扩展点的名称,该名称能够反映其业务职责;
类全名:该扩展点对外公布的类的全名,包括名称空间;
描述信息:描述该组件的用途、注意事项等;
所属组件:该扩展点的所属组件的名称;
是否有效:表明该扩展点是否可以使用;
是否支持调用时机:调用时机用于标识其调用的位置,如before调用或者after调用,该属性用于表示该扩展点是否允许设置调用时机;
是否支持设置同步:表示该扩展点是否允许设置同步或异步调用;
是否支持设置事务:表示该扩展点是否允许设置事务行为;
创建者:该扩展点的创建者或发布者;
创建时间:该扩展点的发布时间。
该插件的实体模型的主要属性具体解释如下:
是否启用:该插件是否可用;
调用时机:具体设置是before调用还是after调用,缺省值为after调用;
是否同步:设置该插件的方法在调用时是同步方式还是异步方式;
是否同一事务:设置该插件是否与调用者在同一事务里;
调用顺序:如果一个扩展点有多个启用的插件时,该插件的调用顺序。
对于需要管理的每个扩展点和注册的插件,均要求按照上面的实体模型的属性来提供其声明信息。
接着说明该实施例的第二个方面,设计完了实体模型的属性之后,针对这些属性的声明信息来完成扩展点的发布以及插件的注册。
扩展点的发布管理提供扩展点的增加、修改、删除、保存、查询等操作。扩展点通常是以组件为单位进行管理和对外发布的。因此,为了方便对扩展点进行管理,应该按照产品-模块-组件的方式来展现扩展点。扩展点的编辑按照扩展点的实体模型来设计,提交的扩展点的信息将会影响其对应的插件的注册,例如,如果一个扩展点的“是否有效”属性为“否”,则将不能为其注册插件;如果“是否支持调用时机”属性为“否”,则在注册该扩展点的扩展插件时,将不能为该扩展插件编辑“调用时机”属性;如果“是否支持设置同步”属性为“否”,则注册的插件不能编辑设置同步;如果“是否支持设置同一事务”属性为“否”时,则注册的插件不能编辑设置同一事务。
插件的注册管理也主要提供了插件的增加、修改、删除、保存、查询等操作。插件必须对应一个具体的扩展点。在注册插件时,必须首先选择一个具体的扩展点,根据选择的扩展点不同,插件注册的属性可能会不同。插件编辑界面中的一些属性可否编辑,直接与选择的扩展点有关,如在扩展点的发布管理中说明的那样,这样保证了插件注册信息与扩展点声明信息的一致性。
扩展点的发布和插件的注册管理界面如图6所示。在图中的扩展点页签,将显示选中的左侧的树型控件中的产品、模块或组件下的所有扩展点列表,可在表格中直接编辑扩展点的数据,编辑完成后可点击上面的操作按钮即可。如果选中一个扩展点并双击的话,将进入如图5所示的插件页签,点击增加或修改按钮就可以在插件列表中直接编辑选中的插件信息,编辑完成后可点击上面的保存按钮。
最后参考图7和图8来说明该实施例的第三个方面,图7示出了调用者访问扩展点时调用插件的过程图。步骤702,调用者发送调用插件命令给插件工厂,步骤704,插件工厂接收到命令之后到插件配置表查找该调用者需要调用的插件,步骤706,找到所需的插件。插件工厂中的扩展点及与其对应的插件在一个单独的、代码之外的地方进行声明,以便插件的配置具有可管理性。另外,与插件的连接必须是在运行时动态进行,而不是在编译时进行,这样才能在重新配置后无需重新编译。与插件的连接可以描述在配置表中。插件工厂访问配置表来关联扩展点可以使用的插件。这种机制在具有反射机制的程序语言中可以充分发挥优势,因为插件工厂可以动态构造出插件实例,而无需在编译时与插件存在依赖关系。
找到所需的插件之后,根据插件的属性设置来处理该插件,其处理过程如图8所示。
在步骤802,选取扩展点。在步骤804,调用者按扩展点信息进行查询。在步骤806,可能会获得一组扩展插件,这些组件将按照调用时机和调用顺序准备好。
在步骤808,获取一个扩展插件。
在步骤810,按照该插件的调用时机属性的设置来处理,调用时机主要针对默认插件的调用位置而言的,before是指在调用默认插件之前调用本插件,而after是指在调用默认插件之后再调用本插件,如果扩展点有默认插件,并且该插件必须执行,则该插件可不再插件表中注册。
在步骤812,在处理完调用时机之后,将处理该插件的同步/异步调用问题,常见的情况是同步调用,而如果是异步调用的话,可以把对本插件的方法调用直接提交给消息中间件,以实现异步调用。这样可以提升应用性能。
在步骤814,如果插件的设置是“支持同一事务”,则需要在调用该插件时,需要与调用者在同一事务内,以保证数据的一致性。
在步骤816,判断是否处理结束,如果结束则完成扩展点的插件处理,如果没有结束,则回到步骤808,继续处理插件,直到扩展点的插件全处理完。
当按照上面的过程处理完所有的插件后,就完成了调用者对该扩展点的插件处理过程,也就实现了该调用者基于该扩展点和配置插件的应用扩展的融合。
图4至图8详细说明了本发明的又一实施例的技术方案,能够定义扩展点和插件,声明发布扩展点和注册对应的插件的规则,按照这些规则来处理扩展点和插件,使得所有的开发和调用都在一个统一的和有秩序的环境下,方便了后续的扩展和融合应用。
以上,参考附图对本发明的实施例进行了详细描述。根据本发明的实施例的技术方案,可以实现扩展点和插件的管理方法和装置,能够非常方便地实现不同研发层次、不同研发组织的各类应用组件的基于扩展点的插件扩展。具有良好的扩展能力,不同产业生态链的开发人员、实施人员可以根据应用的需要,灵活地定制出符合自己需求的扩展插件,而且遵循本发明的使用方法,能够在软件中稳定地实现应用与扩展插件的完美融合。因此,对于软件开发人员、实施人员以及具有开发能力的最终客户都有很好的应用价值。。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种扩展点和插件的管理方法,其特征在于,包括:
建立扩展点,根据所述扩展点的属性来发布所述扩展点,所述扩展点与一个或多个插件对应,根据所述插件的属性和注册规则来注册与所述扩展点对应的所述插件。
2.根据权利要求1所述的管理方法,其特征在于,按照调用规则来调用所述插件。
3.根据权利要求1所述的管理方法,其特征在于,分别定义所述扩展点和所述插件的所述属性,并分别声明根据所述扩展点来注册所述插件的所述注册规则和调用所述插件的所述调用规则,
其中,所述扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;
所述插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。
4.根据权利要求3所述的管理方法,其特征在于,所述注册规则具体为:如果所述扩展点的是否有效属性为无效时,则不能为所述扩展点注册对应的所述插件;
如果所述扩展点的是否支持设置调用时机属性为否时,则注册的所述插件不具有调用时机功能;
如果所述扩展点的是否支持设置同步属性为不支持时,则注册的所述插件在被调用时不进行同步调用处理;
如果所述扩展点的是否支持设置同一事务属性为不支持时,则注册的所述插件在被调用时与调用者不在同一事务里。
5.根据权利要求1至4中任一项所述的管理方法,其特征在于,调用所述插件的所述调用规则具体为:查询所述扩展点对应的一个或多个所述插件,按照所述调用时机和所述调用顺序属性的设置来调用所述插件,如果所述插件的所述调用时机在默认插件之前,则先处理所述插件,如果所述插件的所述调用时机在所述默认插件之后,则先处理所述默认插件;
按照所述是否支持设置同步属性的设置来处理所述插件,同步调用所述插件或异步调用所述插件;
按照所述是否支持设置同一事务属性的设置来处理所述插件,调用所述插件时与调用者在同一事务里或不在同一事务里。
6.一种扩展点和插件的管理装置,其特征在于,包括:
发布模块,用于建立扩展点,根据扩展点的属性来发布所述扩展点,所述扩展点与多个插件对应,根据所述插件的属性和注册规则来注册与所述扩展点对应的所述插件。
7.根据权利要求6所述的管理装置,还包括:调用模块,用于按照调用规则来调用所述插件。
8.根据权利要求6所述的管理装置,其特征在于,还包括:属性定义模块,用于分别定义所述扩展点和所述插件的所述属性,并分别声明根据所述扩展点来注册所述插件的所述注册规则和调用所述插件的所述调用规则,
其中,所述扩展点的属性包括:所属组件、是否有效、是否支持设置调用时机、是否支持设置同步和是否支持设置同一事务;
所述插件的属性包括:所属扩展点、是否启用、是否支持设置调用时机、是否支持设置同步、是否支持设置同一事务和调用顺序。
9.根据权利要求8所述的管理装置,其特征在于,所述注册规则具体为:如果所述扩展点的是否有效属性为无效时,则不能为所述扩展点注册对应的所述插件;
如果所述扩展点的是否支持设置调用时机属性为否时,则注册的所述插件不具有调用时机功能;
如果所述扩展点的是否支持设置同步属性为不支持时,则注册的所述插件在被调用时不进行同步调用处理;
如果所述扩展点的是否支持设置同一事务属性为不支持时,则注册的所述插件在被调用时与调用者不在同一事务里。
10.根据权利要求6至9中任一项所述的管理装置,其特征在于,所述调用模块调用所述插件的调用规则具体为:查询所述扩展点对应的一个或多个所述插件,按照所述调用时机和所述调用顺序属性的设置来调用所述插件,如果所述插件的所述调用时机在默认插件之前,则先处理所述插件,如果所述插件的所述调用时机在所述默认插件之后,则先处理所述默认插件;
按照所述是否支持设置同步属性的设置来处理所述插件,同步调用所述插件或异步调用所述插件;
按照所述是否支持设置同一事务属性的设置来处理所述插件,调用所述插件时与调用者在同一事务里或不在同一事务里。
CN2010106084943A 2010-12-27 2010-12-27 扩展点和插件的管理方法和装置 Active CN102087594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106084943A CN102087594B (zh) 2010-12-27 2010-12-27 扩展点和插件的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106084943A CN102087594B (zh) 2010-12-27 2010-12-27 扩展点和插件的管理方法和装置

Publications (2)

Publication Number Publication Date
CN102087594A true CN102087594A (zh) 2011-06-08
CN102087594B CN102087594B (zh) 2013-11-27

Family

ID=44099413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106084943A Active CN102087594B (zh) 2010-12-27 2010-12-27 扩展点和插件的管理方法和装置

Country Status (1)

Country Link
CN (1) CN102087594B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495730A (zh) * 2011-12-02 2012-06-13 曙光信息产业(北京)有限公司 一种动态可扩展的web界面的方法
CN102868747A (zh) * 2012-09-19 2013-01-09 深圳中兴网信科技有限公司 资源信息管理方法和资源信息管理装置
CN103019763A (zh) * 2012-11-06 2013-04-03 深圳中兴网信科技有限公司 插件扩展装置和插件扩展方法
CN103617508A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 可配置的业务规则插件扩展装置和业务规则插件扩展方法
CN103793232A (zh) * 2014-02-20 2014-05-14 浪潮集团山东通用软件有限公司 一种基于aop的构件调用和扩展框架实现方法
CN104346144A (zh) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 Eclipse RCP扩展点配置方法及装置
CN104598213A (zh) * 2013-10-31 2015-05-06 中国石油天然气集团公司 物探采集系统的架构方法、物探采集系统及数据处理方法
CN104899013A (zh) * 2014-03-05 2015-09-09 深圳中兴网信科技有限公司 一种定制服务组件的调用方法和装置
CN106059796A (zh) * 2016-05-17 2016-10-26 中国建设银行股份有限公司 一种业务扩展系统及方法
CN106462476A (zh) * 2014-05-29 2017-02-22 苹果公司 将应用的功能扩展到另一应用的允许扩展的相容扩展点
CN111427586A (zh) * 2020-03-20 2020-07-17 杭州有赞科技有限公司 扩展点和插件的管理及执行方法、系统、计算机设备、计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026591A1 (en) * 2004-08-02 2006-02-02 International Business Machines Corporation Method and apparatus for providing a pluggable and extendable J2EE architecture
US20070156913A1 (en) * 2005-12-30 2007-07-05 Hiroyuki Miyamoto Method for enabling extension points through plug-ins
US20090271518A1 (en) * 2008-04-28 2009-10-29 Microsoft Corporation Ethernet extensibility
CN101847100A (zh) * 2010-06-08 2010-09-29 用友软件股份有限公司 扩展软件应用的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026591A1 (en) * 2004-08-02 2006-02-02 International Business Machines Corporation Method and apparatus for providing a pluggable and extendable J2EE architecture
US20070156913A1 (en) * 2005-12-30 2007-07-05 Hiroyuki Miyamoto Method for enabling extension points through plug-ins
US20090271518A1 (en) * 2008-04-28 2009-10-29 Microsoft Corporation Ethernet extensibility
CN101847100A (zh) * 2010-06-08 2010-09-29 用友软件股份有限公司 扩展软件应用的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王阳赞 等: "Eclipse插件扩展点技术的研究及其在嵌入式调试工具开发中的应用", 《软件导刊》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495730A (zh) * 2011-12-02 2012-06-13 曙光信息产业(北京)有限公司 一种动态可扩展的web界面的方法
CN102495730B (zh) * 2011-12-02 2014-07-02 曙光信息产业(北京)有限公司 一种动态可扩展的web界面的方法
CN102868747A (zh) * 2012-09-19 2013-01-09 深圳中兴网信科技有限公司 资源信息管理方法和资源信息管理装置
CN102868747B (zh) * 2012-09-19 2016-07-06 深圳中兴网信科技有限公司 资源信息管理方法和资源信息管理装置
CN103019763A (zh) * 2012-11-06 2013-04-03 深圳中兴网信科技有限公司 插件扩展装置和插件扩展方法
CN104346144A (zh) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 Eclipse RCP扩展点配置方法及装置
CN104346144B (zh) * 2013-07-26 2019-04-12 南京中兴力维软件有限公司 Eclipse RCP扩展点配置方法及装置
CN104598213B (zh) * 2013-10-31 2017-10-17 中国石油天然气集团公司 物探采集系统的架构方法、物探采集系统及数据处理方法
CN104598213A (zh) * 2013-10-31 2015-05-06 中国石油天然气集团公司 物探采集系统的架构方法、物探采集系统及数据处理方法
CN103617508A (zh) * 2013-12-12 2014-03-05 用友软件股份有限公司 可配置的业务规则插件扩展装置和业务规则插件扩展方法
CN103793232A (zh) * 2014-02-20 2014-05-14 浪潮集团山东通用软件有限公司 一种基于aop的构件调用和扩展框架实现方法
CN104899013A (zh) * 2014-03-05 2015-09-09 深圳中兴网信科技有限公司 一种定制服务组件的调用方法和装置
CN106462476A (zh) * 2014-05-29 2017-02-22 苹果公司 将应用的功能扩展到另一应用的允许扩展的相容扩展点
CN106462476B (zh) * 2014-05-29 2019-09-17 苹果公司 将应用的功能扩展到另一应用的允许扩展的相容扩展点
CN106059796A (zh) * 2016-05-17 2016-10-26 中国建设银行股份有限公司 一种业务扩展系统及方法
CN106059796B (zh) * 2016-05-17 2019-05-24 中国建设银行股份有限公司 一种业务扩展系统及方法
CN111427586A (zh) * 2020-03-20 2020-07-17 杭州有赞科技有限公司 扩展点和插件的管理及执行方法、系统、计算机设备、计算机可读存储介质

Also Published As

Publication number Publication date
CN102087594B (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
CN102087594B (zh) 扩展点和插件的管理方法和装置
US9696972B2 (en) Method and apparatus for updating a web-based user interface
US6763346B1 (en) Document service integrated system
CN104133772A (zh) 一种自动生成测试数据的方法
CN105912330B (zh) 硬件设备控制方法及装置
CN104216912A (zh) 一种无侵入式的业务表单工作流化的实现方法与装置
US10320947B2 (en) Method of designing business logic, server performing the same and storage medium storing the same
CN111066039A (zh) 包括企业模型的微处理器
CN102542382A (zh) 业务规则的管理方法和装置
AU2019201100B2 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN103177329A (zh) 业务对象处理中基于规则的确定和验证
CN107273176A (zh) 一种适配硬件架构的编译方法及装置
US8756205B2 (en) System and method for rule-based data object matching
CN102097015A (zh) 一种作业指导书处理系统及方法
CN103984554A (zh) 软件设计文档的生成方法及装置
CN110647564B (zh) Hive建表方法、电子装置及计算机可读存储介质
US7739660B2 (en) Code management in a distributed software development environment
US20090024424A1 (en) System and method for dynamic linking of business processes
Ling et al. Advanced Petri Nets for modelling mobile agent enabled interorganizational workflows
CN102779036B (zh) 用于自动化技术的软件工具
CN109857380B (zh) 一种工作流文件编译方法及装置
JP2013105435A (ja) データ移行方法およびプログラム
US20090293064A1 (en) Synchronizing shared resources in an order processing environment using a synchronization component
CN108228708B (zh) 大数据etl系统及其调度方法
CN111400396A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD.

CP03 Change of name, title or address

Address after: 100094 Haidian District North Road, Beijing, No. 68

Patentee after: Yonyou Network Technology Co., Ltd.

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Patentee before: UFIDA Software Co., Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Shi Zhoujun

Inventor after: Qiu Dongqiang

Inventor before: Shi Zhoujun