扩展软件应用的方法和装置的制作方法

文档序号:6604178阅读:96来源:国知局
专利名称:扩展软件应用的方法和装置的制作方法
技术领域
本发明涉及软件应用的公开与扩展,具体而言,涉及一种扩展软件应用的方法和装置.
背景技术
当今全球化时代,企业面临着新的挑战社会化大生产的分工越来越细,企业的生 产方式由大而全的自主式生产转变为专业化协作生产。企业面临越来越激烈的外部竞争环 境带来的挑战,以及内部管理和运营成本上升带来的压力。企业迫切需要与供应商、合作伙伴、客户建立更紧密的协作关系,以共同应对风险 和挑战,实现互惠共赢。同时也需要能整合优化内部资源和业务流程,降低运营成本,提高 运营效率和客户服务水平。为应对全球化带来的挑战,企业需要有效整合内外资源,这要求企业的IT系统要 具备足够的开放性和扩展能力,这种开放性和扩展能力首先体现在IT系统要具备能与外 部系统进行信息交流的丰富的对外服务接口。然而,在以往的独立应用软件中,往往受当时应用领域、用户需求或交付时间的限 制,系统设计的一般较为封闭,没有考虑对外提供开放的服务接口和扩展的余地。这样造成 的后果是企业里运行的IT系统成为一个个的“信息孤岛”,各系统之间以及企业内部系统 与外部系统之间很难进行交流和协作,更难以在原有的系统功能上进行个性化的扩展。即 便具备一定开放性的软件系统,也可能难以支持在原有的功能上进行定制开发,从而满足 不断变化的企业业务需求。因此,迫切需要打通当前企业IT系统之间的“信息壁垒”,使现有的企业应用系统 自动具备SOA (面向服务的体系结构)化集成和扩展的能力。

发明内容
本发明所要解决的技术问题在于,提供一种方式,能够开放应用软件的功能,同时 能够对软件功能做进一步的扩展。有鉴于此,本发明公开了一种扩展软件应用的方法,包括步骤102,注册软件的 功能函数的服务接口 ;步骤104,为所述服务接口注册插件;步骤106,发布所述服务接口, 使外界通过所述插件调用所述功能函数。在注册完服务接口之后的任何时间,都可以发布 服务接口,注册插件也可以在发布服务接口之后进行。本技术方案中,实现了软件内部功能 函数的功能的公开,并提供插件以对其扩展。在上述技术方案中,优选地,所述步骤102包括解析出所述功能函数的接口信 息,在数据库中存储所述接口信息,以注册所述服务接口。在上述技术方案中,优选地,所述在数据库中存储所述接口信息包括根据所述软 件的功能层次结构,在所述数据库中以对应的目录结构存储所述接口信息,其中,所述接口 信息以可扩展标记语言文档存储,并分配有唯一的注册标识。
在上述技术方案中,优选地,所述步骤104包括根据所述服务接口,将所述插件 的相关信息存储在所述数据库中。在上述技术方案中,优选地,所述相关信息包括所述插件的类型、实时性、执行顺 序、执行事务类型和物理绑定信息。在上述技术方案中,优选地,所述步骤106包括注册所述功能函数的调用方式, 根据所述接口信息生成访问接口,再根据所述访问接口和所述功能函数的访问绑定信息生 成调用代理,最后根据所述调用方式发布所述服务接口,其中,所述调用代理拦截对所述功 能函数的访问,并使用所述访问接口触发所述插件来连接所述服务接口,以调用所述功能 函数,所述访问绑定信息位于所述接口信息中。外界通过调用代理来间接调用功能函数的 功能,而无需关心调用功能的细节,并且外界对内部软件的依赖。 本发明还公开了一种扩展软件应用的装置,包括服务接口注册模块,用于注册软 件的功能函数的服务接口 ;插件注册模块,用于为所述服务接口注册插件;发布模块,用于 发布所述服务接口,使外界通过所述插件调用所述功能函数。在服务接口注册模块注册完 服务接口之后的任何时间,发布模块都可以发布服务接口,插件注册模块注册插件也可以 在发布服务接口之后进行。本技术方案中,实现了软件内部功能函数的功能的公开,并提供 插件以对其扩展。在上述技术方案中,优选地,所述服务接口注册模块通过解析出所述功能函数的 接口信息,在数据库中存储所述接口信息,以注册所述服务接口。在上述技术方案中,优选地,所述服务接口注册软件模块根据所述软件的功能层 次结构,在所述数据库中以对应的目录结构存储所述接口信息,其中,所述接口信息以可扩 展标记语言文档存储,并分配有唯一的注册标识。在上述技术方案中,优选地,所述插件注册模块根据所述服务接口,将所述插件的 相关信息存储在所述数据库中。在上述技术方案中,优选地,所述相关信息包括所述插件的类型、实时性、执行顺 序、执行事务类型和物理绑定信息。在上述技术方案中,优选地,所述发布模块注册所述功能函数的调用方式,根据所 述接口信息生成访问接口,再根据所述访问接口和所述功能函数的访问绑定信息生成调用 代理,最后根据所述调用方式发布所述服务接口,其中,所述调用代理拦截对所述功能函数 的访问,并使用所述访问接口触发所述插件来连接所述服务接口,以调用所述功能函数,所 述访问绑定信息位于所述接口信息中。外界通过调用代理来间接调用功能函数的功能,而 无需关心调用功能的细节,并且外界对内部软件的依赖。在上述技术方案中,优选地,还包括自动生成模块,用于自动生成代码以完成使 用所述代理对所述功能函数的调用。在上述技术方案中,优选地,所述自动生成模块根据所述接口信息生成创建所述 代理的代码,并根据所述接口信息中的参数信息生成所述功能函数的参数赋值代码,以及 生成使用所述代理调用所述功能函数的代码,生成调用所述代理获得调用所述功能函数的 结果的代码。通过上述技术方案,可以使软件如何在不修改源代码的情况下,能够自动提取软 件自身的功能作为对外开放的服务接口,以便与第三方软件系统进行协作与集成;也可以使原有的软件功能具备可扩展的能力,以便对原有的软件进行个性化的插件扩展。


图1是根据本发明的扩展软件应用的方法的流程图;图2是根据本发明的扩展软件应用的装置的框图;图3是根据本发明的一个实施例的扩展软件应用的装置的服务接口注册模块进 行注册服务接口的示意图;图4是根据本发明的一个实施例的扩展软件应用的装置的插件注册模块进行注 册插件的示意图;图5是根据本发明的一个实施例的扩展软件应用的装置的发布模块进行发布服 务接口的示意图;图6是根据本发明的一个实施例的扩展软件应用的装置的发布模块生成的调用 代理的功能示意图;图7是根据本发明的一个实施例的扩展软件应用的装置的自动生成模块进行生 成代码的示意图;图8至图27是根据本发明的一个实施例的扩展软件应用的装置的截屏示意图。
具体实施例方式下面将结合附图详细描述根据本发明的实施例。图1是根据本发明的扩展软件应用的方法的流程图。如图1所示,本发明提供了一种扩展软件应用的方法,包括步骤102,注册软件的 功能函数的服务接口 ;步骤104,为所述服务接口注册插件;步骤106,发布所述服务接口, 使外界通过所述插件调用所述功能函数。在注册完服务接口之后的任何时间,都可以发布 服务接口,注册插件也可以在发布服务接口之后进行。本技术方案中,实现了软件内部功能 函数的功能的公开,并提供插件以对其扩展。在上述技术方案中,所述步骤102包括解析出所述功能函数的接口信息,在数据 库中存储所述接口信息,以注册所述服务接口。在上述技术方案中,所述在数据库中存储所述接口信息包括根据所述软件的功 能层次结构,在所述数据库中以对应的目录结构存储所述接口信息,其中,所述接口信息以 可扩展标记语言文档存储,并分配有唯一的注册标识。在上述技术方案中,所述步骤104包括根据所述服务接口,将所述插件的相关信 息存储在所述数据库中。在上述技术方案中,所述相关信息包括所述插件的类型、实时性、执行顺序、执行 事务类型和物理绑定信息。在上述技术方案中,所述步骤106包括注册所述功能函数的调用方式,根据所述 接口信息生成访问接口,再根据所述访问接口和所述功能函数的访问绑定信息生成调用代 理,最后根据所述调用方式发布所述服务接口,其中,所述调用代理拦截对所述功能函数的 访问,并使用所述访问接口触发所述插件来连接所述服务接口,以调用所述功能函数,所述 访问绑定信息位于所述接口信息中。
图2是根据本发明的扩展软件应用的装置的框图。如图2所示,本发明提供了一种扩展软件应用的装置200,包括服务接口注册模 块202,用于注册软件的功能函数的服务接口 ;插件注册模块204,用于为所述服务接口注 册插件;发布模块206,用于发布所述服务接口,使外界通过所述插件调用所述功能函数。 在服务接口注册模块注册完服务接口之后的任何时间,发布模块都可以发布服务接口,插 件注册模块注册插件也可以在发布服务接口之后进行。本技术方案中,实现了软件内部功 能函数的功能的公开,并提供插件以对其扩展。 在上述技术方案中,所述服务接口注册模块202通过解析出所述功能函数的接口 信息,在数据库中存储所述接口信息,以注册所述服务接口。在上述技术方案中,所述服务接口注册软件模块根据所述软件的功能层次结构, 在所述数据库中以对应的目录结构存储所述接口信息,其中,所述接口信息以可扩展标记 语言文档存储,并分配有唯一的注册标识。在上述技术方案中,所述插件注册模块204根据所述服务接口,将所述插件的相 关信息存储在所述数据库中。在上述技术方案中,所述相关信息包括所述插件的类型、实时性、执行顺序、执行 事务类型和物理绑定信息。在上述技术方案中,所述发布模块206注册所述功能函数的调用方式,根据所述 接口信息生成访问接口,再根据所述访问接口和所述功能函数的访问绑定信息生成调用代 理,最后根据所述调用方式发布所述服务接口,其中,所述调用代理拦截对所述功能函数的 访问,并使用所述访问接口触发所述插件来连接所述服务接口,以调用所述功能函数,所述 访问绑定信息位于所述接口信息中。外界通过调用代理来间接调用功能函数的功能,而无 需关心调用功能的细节,并且外界对内部软件的依赖。在上述技术方案中,还包括自动生成模块,用于自动生成代码以完成使用所述代 理对所述功能函数的调用。在上述技术方案中,所述自动生成模块根据所述接口信息生成创建所述代理的代 码,并根据所述接口信息中的参数信息生成所述功能函数的参数赋值代码,以及生成使用 所述代理调用所述功能函数的代码,生成调用所述代理获得调用所述功能函数的结果的代码。图3是根据本发明的一个实施例的扩展软件应用的装置的服务接口注册模块进 行注册服务接口的示意图。如图3所示,服务接口注册模块202进行注册服务接口的步骤包括解析想要发布 服务接口的功能函数的接口信息,将其作为服务元数据(Metadata),然后按照一定的标准 规范(转换为XML文档格式)和功能组织结构存储到数据库中,从而实现服务接口的注册。其中,服务接口注册模块202解析功能函数的接口信息的步骤具体为首先加载 软件中功能函数所在DLL (Dynamic Link Library,动态链接库)文件,随后读取该DLL文 件的类型库信息。通过检索类型库信息,便可以获取DLL文件中的类成员(Class)以及类 成员的具体信息,在类成员中可以进一步取得功能函数的详细的接口信息,包括参数名 (Parameter Name)、参数类型(Type)、参数传递方向(Direction),以及返回类型(Return Type)等信息。通过将这些信息读取出来,并进行存储以注册服务接口,然后发布服务接口后,外界或第三方软件系统在调用此服务接口时便知道如何进行调用。
存储服务元数据的标准规范包括采用可读性好并且与平台无关的结构化 XML (Extensible Markup Language,可扩展标记语言),描述服务元数据的信息,并给每个 服务元数据分配一个唯一的注册标识(Registration ID);而功能组织结构包括按照软 件的功能层次关系对服务元数据进行规范的目录分类,比如ERP\供应链子系统\采购模 块\采购订单\新增功能,代表ERP供应链子系统采购模块中采购订单的新增功能。服务接口注册模块202注册服务接口的目的是为了以标准和一致的方式对外发 布软件功能函数的服务接口,便于外部或第三方软件系统快速检索和使用该服务接口以调 用功能函数。同时,将服务接口进行集中注册便于软件开发商对服务接口进行统一管理和 维护。图4是根据本发明的一个实施例的扩展软件应用的装置的插件注册模块进行注 册插件的示意图。根据本发明的技术方案,采用插件(Plug-in)的形式为软件原有的功能服务提供 可扩展的机制。依据已存储的服务元数据注册的服务接口,形成统一规范的插件接口规范, 可以开发能扩展原有功能服务的自定义插件。如图4所示,注册扩展插件(Plug-in)的步骤包括插件注册模块204首先选择需 要扩展的服务接口,根据服务接口选择将要扩展的插件类型,即前置插件或后置插件,然后 根据实际需求注册同步或异步插件,同时指定插件执行的先后顺序以及插件执行的事务类 型,以及插件的物理绑定信息,最后将注册的插件的信息存储到本装置的数据库中。为了使得在不同的应用场景和模式下都能自由灵活的进行功能扩展,需要提供 不同的插件注册类型,并支持多种事务类型。注册的自定义插件分可为两类前置插件 (Pre-Plugin)和后置插件(Post-Plugin)。前置插件是在调用原有的功能服务之前触发的 插件事件,而后置插件是在调用原有功能服务之后所触发的插件事件。在前置插件或后置插件中按照实时性又分为同步插件(Sync-Plugin)和异步插 件(Async-Plugin)。同步插件,即实时插件,在插件调用后必须等待操作的结果返回;而异 步插件,在操作发起后不用等待操作结果的返回,可以继续做后续的其它事情,等操作结果 出来后会接受到通知并作相应的处理。扩展插件支持前台UI插件和后台无界面的服务插 件。插件事务类型总体上可简单分为两类内部事务(Internal Transaction)和外部事务 (External Transaction)。内部事务只保证单个注册插件内部处于一个事务范围内,而不 参与到其他前置插件或后置插件的整体事务中,插件执行失败与否不会影响其他插件的执 行。而同一个扩展接口的所有注册为外部事务的前置插件或后置插件则会保证处于同一个 整体事务当中,一旦一个插件执行失败则所有后续插件将不会执行,并且前续已执行的插 件将会回滚。图5是根据本发明的一个实施例的扩展软件应用的装置的发布模块进行发布服 务接口的示意图。在注册完服务接口以后,就可以对外发布服务接口。注册插件信息的步骤可在注 册服务接口之后的任意时刻进行。将功能函数以服务接口的形式发布的目的是使功能函数升级为统一的、标准化 的、可跨平台访问的服务接口,支持与第三方软件系统进行SOA化集成。
如图5所示,对外发布服务接口的步骤包括发布模块206首先注册功能函数 的调用方式,根据注册服务接口的接口信息,发布模块206可生成访问接口 ;根据功能函 数的访问绑定信息,并继承已生成的访问接口,发布模块206可生成功能函数的调用代理 (Proxy),即服务实现并,最终发布软件功能函数的服务接口为本地或网络(Web)服务。在调用功能函数时,需要知道外界将采用何种方式进行调用,因此需要对功能函 数的调用方式进行注册。调用方式可分为两种本地或远程。对于本地方式,功能函数的服 务接口将只会发布为本机服务,功能函数仅限于本机调用,该种方式主要用于对 封闭软件 已有功能进行满足个性化需求的二次开发;对于远程方式,功能函数的服务接口可以按照 不同的分布式通信技术发布为不同的网络(Web)服务,如通过.NET Remoting访问的局域 网内的Web服务、通过ASP. NET Web Service访问的Internet内Web服务,以及通过WCF 统一访问的Web服务等。服务接口发布为网络服务后,即可以与第三方软件系统进行通信 与协作,实现SOA集成。注册功能函数调用方式的目的是为了对调用方(外部)屏蔽调用的技术细节,即 注册的调用方式的信息仅由本装置内部使用,外部不用关心此信息。当外部系统通过本装 置访问发布的服务时,不用知道服务的功能所在程序集的物理部署位置,也不用知道此服 务是基于COM还是基于.NET平台的,也不用关心实现此服务的类对象(Class)等细节信 息;同时,更为重要的是外部也能自由选择适合自身的访问方式与软件系统进行通信,调用 需要的功能,相互传递数据和信息,达到高度集成和一体化的目的。这种处理方式不仅降低 了系统之间的耦合性,减少了外部系统对内部接口的技术依赖程度,同时也使得软件内部 功能变化不会影响到外部使用者的调用。其中,调用代理所起的主要作用就是如图6所示,拦截对功能函数的调用,触发前 置插件和后置插件事件,并接受返回结果。依据调用方式,可决定发布的服务类型本地或网络(Web)服务。对具体发布的服 务信息而言,如前所述可指定发布时所采用的分布式通信技术,如.NET Remoting.ASP. NET Web Service或WCF等。同时也可指定发布服务的事务类型.NET TransactionScope.COM+ 或WCF分布式事务。根据具体的服务信息,就可以将服务接口发布为服务,以发布.NET Remoting方式 通信的Web服务为例,其流程为首先通过功能函数的接口信息,生成访问接口,接着生成 服务端接口(ServerInterface)代理和客户端接口(Client Interface)代理,最后生成客 户端和服务端配置文件。在服务端代理中服务代理类继承访问接口并引用功能函数的类对 象,通过访问接口按照预定义的事务逻辑先触发前置插件,然后调用功能函数,接着按照预 定义的事务逻辑触发后置插件。在客户端代理中,实现对远程服务端代理的.NET Remoting 方式调用。通过将服务接口发布为服务,不仅屏蔽了客户端与服务端进行通信的技术细节, 降低了外部调用服务的难度,同时也提高了与第三方系统集成的效率。发布服务接口完成以后,在本装置中就能查看到已对外发布的服务接口,外部或 调用方还可以通过IE浏览器查询到应用软件对外发布的网络(Web)服务。图7是根据本发明的一个实施例的扩展软件应用的装置的自动生成模块进行生 成代码的示意图。由于服务元数据信息描述了服务接口的模型,而调用方式则描述了功能函数的访问方式,基于这两类信息,本软件装置提供一个能自动生成调用代码(Code)的工具。自动 代码免除了手工编码的枯燥繁杂,同时也减少了人工编写的出错率,提高了易用性。如图7所示,自动代码的生成步骤包括首先,自动生成模块208根据要调用的服务名在服务元数据库中查找服务接口的 定义。随后,自动生成模块208根据服务接口的定义中的参数信息自动生成参数赋值代码。 然后生成通过调用代理间接调用功能函数的代码,代码中包含调用代理的对象的创 建以及 调用代理调用功能函数的Invoke方法和参数传递代码,最后自动生成模块生成通过代理 对象获取返回结果的代码。图8至图27是根据本发明的一个实施例的扩展软件应用的装置的截屏示意图。本软件装置不仅可以将功能函数的服务接口发布为可跨平台访问的SOA服务,还 可以对功能函数以插件的形式进行自定义扩展。使用本发明装置的应用过程如下首先要将软件系统中的UAP. Services. BF. dll中的BillServerBF类成员中的 BillService的接口信息抽取出来对外发布成为标准的服务接口。如图8所示,首先在本装置的管理界面中根据实际的分类需要按照层次结构添加 服务接口的类别目录。;如图9所示,其次,在管理界面注册BillService服务接口 ;如图10所示,选择“服务接口定义/描述”页签,选择 DotNetAssemblyForRPC (Windows 平台的.NET 程序集);如图11所示,选择UAP. Services. BF. dll文件路径,选择需要对外公布的类成员 BillServerBF,并选择功能 BillService ;如图12,点击“自动生成”,将功能BillService的接口信息按照统一的规范生成 服务元数据信息,如图13所示,是生成后的服务接口信息,包括接口的参数(Parameter)、参数名、 参数类型、参数顺序、参数传递方向等;如图14,生成服务元数据后,为服务接口选择事务发起类型和部署方式,然后点击 “确定”,自此BillService服务接口注册完毕;接下来为BillService服务接口进行功能扩展,注册扩展插件(Plug-in)如图15所示,在插件事件下为BillService服务注册同步插件;如图16所示,为同步插件录入基本信息,包括编码、名称,以及执行顺序等;如图17所示,通过同步插件的物理绑定信息与已公布的插件事件接口定义进行 “自动匹配”;如图18所示,为BillService服务接口注册异步插件;如图19所示,为异步插件录入基本信息,包括编码、名称,并选择执行的事务类 型;如图20所示,通过异步插件的物理绑定信息与已公布的插件事件接口定义进行 “自动匹配”;如图21所示,注册完BillService服务接口的扩展同步和异步插件后,在集成管 理工具中,“启用插件服务”后,就可以自动对原有功能服务进行个性化扩展;如图22所示,将BillService服务接口发布为本地(Local)或网络(Web)服务;
如图23所示,发布完毕后即标志着软件系统的内部功能BillService已经对外 公布,外界可以通过统一的集成浏览器中查看这些已经发布的服务接口以及其接口定义信 息;而无需关心这些功能的实现和物理部署;如图24所示,本装置提供一个能自动生成调用代码(Code)的工具,可以通过“代 码示例”功能自动生成调用BillService功能的代码;如图25至图27所示,本装置提供了统一访问和调用服务接口的调用代理 ServiceBroker,外部调用方要访问BillService功能,只需要通过ServiceBroker进行统 一访问,而不需要直接与软件UAP. Services. BF. dll组件中的BillServerB F类成员中的 BillService功能方法打交道。综上所述,根据本发明的技术方案,可以实现一种可以实现抽取、发布和扩展功能 服务的方法和装置,以帮助现有软件系统建立标准的服务接口体系,也可以用于支持对原 有的软件系统进行个性化的插件扩展。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种扩展软件应用的方法,其特征在于,包括步骤102,注册软件的功能函数的服务接口;步骤104,为所述服务接口注册插件;步骤106,发布所述服务接口,使外界通过所述插件调用所述功能函数。
2.根据权利要求1所述的方法,其特征在于,所述步骤102包括解析出所述功能函数的接口信息,在数据库中存储所述接口信息,以注册所述服务接
3.根据权利要求2所述的方法,其特征在于,所述在数据库中存储所述接口信息包括 根据所述软件的功能层次结构,在所述数据库中以对应的目录结构存储所述接口信息? 其中,所述接口信息以可扩展标记语言文档存储,并分配有唯一的注册标识。
4.根据权利要求2所述的方法,其特征在于,所述步骤104包括 根据所述服务接口,将所述插件的相关信息存储在所述数据库中。
5.根据权利要求4所述的方法,其特征在于,所述相关信息包括所述插件的类型、实时 性、执行顺序、执行事务类型和物理绑定信息。
6.根据权利要求2所述的方法,其特征在于,所述步骤106包括注册所述功能函数的调用方式,根据所述接口信息生成访问接口,再根据所述访问接 口和所述功能函数的访问绑定信息生成调用代理,最后根据所述调用方式发布所述服务接 Π,其中,所述调用代理拦截对所述功能函数的访问,并使用所述访问接口触发所述插件 来连接所述服务接口,以调用所述功能函数,所述访问绑定信息位于所述接口信息中。
7.一种扩展软件应用的装置,其特征在于,包括 服务接口注册模块,用于注册软件的功能函数的服务接口 ; 插件注册模块,用于为所述服务接口注册插件;发布模块,用于发布所述服务接口,使外界通过所述插件调用所述功能函数。
8.根据权利要求7所述的装置,其特征在于,所述服务接口注册模块通过解析出所述 功能函数的接口信息,在数据库中存储所述接口信息,以注册所述服务接口。
9.根据权利要求8所述的装置,其特征在于,所述服务接口注册软件模块根据所述软 件的功能层次结构,在所述数据库中以对应的目录结构存储所述接口信息,其中,所述接口信息以可扩展标记语言文档存储,并分配有唯一的注册标识。
10.根据权利要求8所述的装置,其特征在于,所述插件注册模块根据所述服务接口, 将所述插件的相关信息存储在所述数据库中。
11.根据权利要求10所述的装置,其特征在于,所述相关信息包括所述插件的类型、实 时性、执行顺序、执行事务类型和物理绑定信息。
12.根据权利要求8所述的装置,其特征在于,所述发布模块注册所述功能函数的调用 方式,根据所述接口信息生成访问接口,再根据所述访问接口和所述功能函数的访问绑定 信息生成调用代理,最后根据所述调用方式发布所述服务接口,其中,所述调用代理拦截对所述功能函数的访问,并使用所述访问接口触发所述插件 来连接所述服务接口,以调用所述功能函数,所述访问绑定信息位于所述接口信息中。
13.根据权利要求12所述的装置,其特征在于,还包括自动生成模块,用于自动生成代码以完成使用所述代理对所述功能函数的调用。
14.根据权利要求13所述的装置,其特征在于,所述自动生成模块根据所述接口信息 生成创建所述代理的代码,并根据所述接口信息中的参数信息生成所述功能函数的参数赋 值代码,以及生成使用所述代理调用所述功能函数的代码,生成调用所述代理获得调用所 述功能函数的结果的代码。
全文摘要
本发明公开了一种扩展软件应用的方法,包括步骤102,注册软件的功能函数的服务接口;步骤104,为服务接口注册插件;步骤106,发布服务接口,使外界通过插件调用功能函数。本发明还公开了一种扩展软件应用的装置,包括服务接口注册模块,用于注册软件的功能函数的服务接口;插件注册模块,用于为服务接口注册插件;发布模块,用于发布服务接口,使外界通过插件调用功能函数。因此,可以实现一种可以实现抽取、发布和扩展功能服务的方法和装置,以帮助现有软件系统建立标准的服务接口体系,也可以用于支持对原有的软件系统进行个性化的插件扩展。
文档编号G06F9/44GK101847100SQ20101019986
公开日2010年9月29日 申请日期2010年6月8日 优先权日2010年6月8日
发明者袁昌龙 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1