CN105893045A - 一种业务组件加载方法、装置及业务组件运行系统 - Google Patents

一种业务组件加载方法、装置及业务组件运行系统 Download PDF

Info

Publication number
CN105893045A
CN105893045A CN201610197297.4A CN201610197297A CN105893045A CN 105893045 A CN105893045 A CN 105893045A CN 201610197297 A CN201610197297 A CN 201610197297A CN 105893045 A CN105893045 A CN 105893045A
Authority
CN
China
Prior art keywords
assembly
information
service
component
layer
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.)
Pending
Application number
CN201610197297.4A
Other languages
English (en)
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.)
Technology Development Center Of China Financial Computerization Corp
Original Assignee
Technology Development Center Of China Financial Computerization Corp
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 Technology Development Center Of China Financial Computerization Corp filed Critical Technology Development Center Of China Financial Computerization Corp
Priority to CN201610197297.4A priority Critical patent/CN105893045A/zh
Publication of CN105893045A publication Critical patent/CN105893045A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种业务组件加载方法、装置及业务组件运行系统。其中,该方法包括:解压发布到组件容器的业务组件的信息包,读取所述信息包中的组件信息;基于所述组件信息在所述组件容器中注册配置文件;其中,所述组件容器设置于业务基础平台上,业务基础平台与所述业务组件松耦合;在业务基础平台需要升级时,根据所述配置文件升级对应的业务组件。通过本发明的业务组件加载方法及业务组件运行系统,实现了业务组件和业务基础平台松耦合,业务基础平台的升级不再对业务系统造成影响,降低了业务系统升级成本。业务组件通过组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于业务组件的管理,降低了维护成本。

Description

一种业务组件加载方法、装置及业务组件运行系统
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种业务组件加载方法、装置及业务组件运行系统。
背景技术
软件复用是一种计算机软件工程理论,60年代的“软件危机”使程序设计人员明白软件维护成本是极其高昂的,当软件的规模不断扩大时,软件的综合成本非常高,并且即使投入了高昂的资金也难以得到可靠的产品,而软件重用是解决这一问题的根本方法。
软件复用就是基于已有的软件成分构造新的软件系统,可以被复用的软件成分一般称作可复用组件,无论是原封不动地使用可复用组件还是对可复用组件作适当修改后再使用,只要是用来构造新的软件系统,则都可称作“软件复用”。
在企业级应用开发领域,如何将一些通用的业务组件(可复用软件)进行复用,是软件厂商思考的核心问题之一。目前,国内厂商提出了业务基础平台的概念用以解决业务组件复用的问题。
国内软件厂商通过采用“Spring Framework”(Spring框架,Spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器)等开源软件为基础技术框架,业务基础平台基于技术框架将可复用组件进行简单的累加,业务系统基于解决方案平台进行二次开发,这样用以实现软件复用。目前常用的平台主要包括:浪潮Loushang平台、SAP(System Applicationsand Products,企业管理系列软件)的Net Weaver(集成化应用平台)、金蝶Apusic(Apus Promote Internet Computing,企业基础架构软件平台)、普元EOS等。
图1是根据相关技术的传统业务基础平台结构图,如图1所示,业务基础平台和业务组件没有清晰的物理界限,业务组件只是一堆软件代码资源,没有清晰的定义。业务基础平台不具备组件加载能力,业务组件和业务基础平台的代码混合在一起,一起加载到应用服务器(J2EE Server)上,并在硬件基础平台上运行。
传统业务基础平台的结构具有如下缺点:
1、业务组件和业务基础平台紧耦合,一旦解决方案平台升级,业务组件也不得不升级,很多业务系统需要重写;
2、随着业务的发展,系统共性部分不断增加,业务基础平台越来越庞大,特别是随着业务基础平台代码的不断增加,性能越来越差;
3、业务基础平台功能是一体化的,导致很小的功能改动都会升级整个业务基础平台,各功能无法独自升级。
针对传统业务基础平台的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种业务组件加载方法、装置及业务组件运行系统,以至少解决业务组件和业务基础平台紧耦合的问题。
根据本发明的一个方面,提供了一种业务组件加载方法,其中,该方法包括:解压发布到组件容器的业务组件的信息包,读取所述信息包中的组件信息;基于所述组件信息在所述组件容器中注册配置文件;其中,所述组件容器设置于业务基础平台上,所述业务基础平台与所述业务组件松耦合;在所述业务基础平台需要升级时,根据所述配置文件升级对应的业务组件。
优选地,所述业务组件包括四个层次:菜单层、UI(User Interface,用户界面)层、服务层、持久层;所述组件信息包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
优选地,基于所述组件信息在所述组件容器中注册配置文件,包括:读取所述信息包中的所述组件菜单信息,根据所述组件菜单信息在所述组件容器中注册组件菜单权限配置文件;读取所述信息包中的所述组件UI层信息,根据所述组件UI层信息在所述组件容器中注册组件UI层配置文件;读取所述信息包中的所述组件服务层信息,根据所述组件服务层信息在所述组件容器中注册组件服务层配置文件;读取所述信息包中的所述组件持久层信息,根据所述组件持久层信息在所述组件容器中注册组件持久层配置文件。
优选地,所述组件UI层配置文件至少包括:faces-config.xml文件、validate-config.xml文件、web.xml文件;所述组件服务层配置文件至少包括:service.xml文件;所述组件持久层配置文件至少包括:sql-map-config.xml文件。
优选地,基于所述组件信息在所述组件容器中注册配置文件,采用以下技术实现:dom4j解析技术。
优选地,读取所述信息包中的组件信息之后,所述方法还包括:将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于与所述业务基础平台相连接的应用服务器中,用于对所述业务组件的组件信息进行分类管理。
优选地,所述信息包是在所述业务组件的开发阶段将业务组件的信息压缩形成的压缩包。
优选地,所述组件信息至少包括以下之一:组件中文名称、组件英文名称、组件版本号、组件的包路径、组件依赖的jar包文名、待注册的配置文件、菜单权限文件。
优选地,所述组件容器定义如下目录结构:
其中,lib用于存放业务组件依赖的第三方jar包,src用于存放业务组件包含的java源代码以及相关配置文件,WebContent用于存放业务组件包含的web资源文件。
根据本发明的另一个方面,提供了一种业务组件加载装置,其中,该装置包括:信息处理模块,用于解压发布到组件容器的业务组件的信息包,读取所述信息包中的组件信息;文件注册模块,用于基于所述组件信息在所述组件容器中注册配置文件;其中,所述组件容器设置于业务基础平台上,所述业务基础平台与所述业务组件松耦合;组件升级模块,用于在所述业务基础平台需要升级时,根据所述配置文件升级对应的业务组件。
优选地,所述业务组件包括四个层次:菜单层、用户界面UI层、服务层、持久层;所述组件信息包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
优选地,所述文件注册模块包括:组件菜单权限加载单元,用于读取所述信息包中的所述组件菜单信息,根据所述组件菜单信息在所述组件容器中注册组件菜单权限配置文件;组件UI层加载单元,用于读取所述信息包中的所述组件UI层信息,根据所述组件UI层信息在所述组件容器中注册组件UI层配置文件;组件服务层加载单元,用于读取所述信息包中的所述组件服务层信息,根据所述组件服务层信息在所述组件容器中注册组件服务层配置文件;组件持久层加载单元,用于读取所述信息包中的所述组件持久层信息,根据所述组件持久层信息在所述组件容器中注册组件持久层配置文件。
优选地,所述装置还包括:资源拷贝模块,用于将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于与所述业务基础平台相连接的应用服务器中,用于对所述业务组件的组件信息进行分类管理。
根据本发明的另一个方面,提供了一种业务组件运行系统,其中,该系统自下而上包括:应用服务器、业务基础平台、由多个业务组件构成的组件系统;其中,所述业务基础平台包括组件容器;所述组件容器,用于解压所述各个业务组件的信息包,读取所述信息包中的组件信息,基于所述组件信息注册配置文件;其中,所述配置文件用于对所述业务组件进行升级;所述业务基础平台,与所述组件系统松耦合,用于升级所述业务组件以实现软件复用。
优选地,所述组件容器,还用于将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于所述应用服务器中,用于对所述业务组件的组件信息进行分类管理。
通过本发明的业务组件加载方法、装置及业务组件运行系统,实现了业务组件和业务基础平台松耦合,业务基础平台的升级不再对业务系统造成影响,降低了业务系统升级成本。业务组件通过组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于业务组件的管理,降低了维护成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的限定。在附图中:
图1是根据相关技术的传统业务基础平台结构图;
图2是根据本发明实施例的业务组件加载方法的流程图;
图3是根据本发明实施例的业务组件加载装置的结构示意图;
图4是根据本发明实施例的业务组件加载装置的第一优选结构示意图;
图5是根据本发明实施例的业务组件加载装置的第二优选结构示意图;
图6是根据本发明实施例的业务组件运行系统的结构示意图;
图7是根据本发明实施例的业务组件运行系统的优选结构示意图;
图8是根据本发明实施例的组件加载流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供了一种业务组件加载方法,图2是根据本发明实施例的业务组件加载方法的流程图,如图2所示,该方法包括以下步骤(步骤S202-步骤S206):
步骤S202,解压发布到组件容器的业务组件的信息包,读取信息包中的组件信息;其中,该信息包是在业务组件的开发阶段将业务组件的信息压缩形成的压缩包。
步骤S204,基于组件信息在组件容器中注册配置文件;其中,组件容器设置于业务基础平台上,业务基础平台与业务组件松耦合。
步骤S206,在业务基础平台需要升级时,根据上述配置文件升级对应的业务组件。
通过上述方法,能够实现业务组件和业务基础平台的松耦合,业务基础平台的升级不再对业务系统造成影响,降低了业务系统升级成本。业务组件通过组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于业务组件的管理,降低了维护成本。
在读取信息包中的组件信息之后,还可以将组件信息对应拷贝到系统目录中,系统目录位于与业务基础平台相连接的应用服务器中,用于对业务组件的组件信息进行分类管理。基于此,在组件容器中注册配置文件时,可以方便查询调取对应的组件信息。
在本实施例中,业务组件主要包括以下四个层次:菜单层、UI层、服务层、持久层。相应地,业务组件的组件信息主要包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
结合上述四种组件信息,步骤S204中基于组件信息在组件容器中注册配置文件,主要通过以下方式实现:读取信息包中的组件菜单信息,根据组件菜单信息在组件容器中注册组件菜单权限配置文件;读取信息包中的组件UI层信息,根据组件UI层信息在组件容器中注册组件UI层配置文件;读取信息包中的组件服务层信息,根据组件服务层信息在组件容器中注册组件服务层配置文件;读取信息包中的组件持久层信息,根据组件持久层信息在组件容器中注册组件持久层配置文件。基于此,组件容器中加载了与各个业务组件相关的配置文件,这样,在业务基础平台需要升级时,可以根据配置文件升级对应的业务组件,不再对业务系统造成影响,实现了业务组件和业务基础平台的松耦合。
一实施例中,基于组件信息在组件容器中注册配置文件,一般可采用以下技术实现:dom4j解析技术。组件UI层配置文件至少包括:faces-config.xml文件、validate-config.xml文件、web.xml文件;组件服务层配置文件至少包括:service.xml文件;组件持久层配置文件至少包括:sql-map-config.xml文件。
一实施例中,组件容器可采用技术框架JSF+Spring+Mybatis实现,可定义如下目录结构:
其中,lib用于存放业务组件依赖的第三方jar包。src用于存放业务组件包含的java源代码以及相关配置文件,WebContent用于存放业务组件包含的web资源文件。
基于同一发明构思,本发明实施例中还提供了一种业务组件加载装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于业务组件加载装置解决问题的原理与业务组件加载方法相似,因此业务组件加载装置的实施可以参见业务组件加载方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的业务组件加载装置的结构示意图,如图3所示,该装置包括:信息处理模块10、文件注册模块20、组件升级模块30,下面对该结构进行具体说明。
信息处理模块10,用于解压发布到组件容器的业务组件的信息包,读取信息包中的组件信息;
文件注册模块20,连接至信息处理模块10,用于基于组件信息在组件容器中注册配置文件;其中,组件容器设置于业务基础平台上,业务基础平台与业务组件松耦合;
组件升级模块30,连接至文件注册模块20,用于在业务基础平台需要升级时,根据配置文件升级对应的业务组件。
通过上述装置,能够实现业务组件和业务基础平台的松耦合,业务基础平台的升级不再对业务系统造成影响,降低了业务系统升级成本。业务组件通过组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于业务组件的管理,降低了维护成本。
一实施例中,业务组件加载装置还可以包括:资源拷贝模块,用于将组件信息对应拷贝到系统目录中;其中,系统目录位于与业务基础平台相连接的应用服务器中,用于对业务组件的组件信息进行分类管理。基于此,在组件容器中注册配置文件时,可以方便查询调取对应的组件信息。
一本实施例中,业务组件主要包括以下四个层次:菜单层、UI层、服务层、持久层。相应地,业务组件的组件信息主要包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
图4是根据本发明实施例的业务组件加载装置的第一优选结构示意图,如图4所示,文件注册模块20可以包括:
组件菜单权限加载单元22,用于读取信息包中的组件菜单信息,根据组件菜单信息在组件容器中注册组件菜单权限配置文件;
组件UI层加载单元24,用于读取信息包中的组件UI层信息,根据组件UI层信息在组件容器中注册组件UI层配置文件;
组件服务层加载单元26,用于读取信息包中的组件服务层信息,根据组件服务层信息在组件容器中注册组件服务层配置文件;
组件持久层加载单元28,用于读取信息包中的组件持久层信息,根据组件持久层信息在组件容器中注册组件持久层配置文件。
基于此,组件容器中加载了与各个业务组件相关的配置文件,这样,在业务基础平台需要升级时,可以根据配置文件升级对应的业务组件,不再对业务系统造成影响,实现了业务组件和业务基础平台的松耦合。
当然,上述模块划分只是一种示意划分,本发明并不局限于此。上述信息处理模块10还可以包括:解压单元12和组件信息读取单元14,如图5所示的业务组件加载装置的第二优选结构示意图,解压单元12采用Java技术提供的zip解压技术实现,用于对业务组件的信息包(zip包)进行解压。组件信息读取单元14采用dom4j技术读取组件描述信息xml文件,用于读取信息包中的组件信息,解析组件信息,组件信息主要包括:组件的中文名、组件的英文名、组件版本号、组件的包路径、组件依赖的jar包文名、组件配置文件等。需要读取的详细信息如表1所示。
表1
组件菜单权限加载单元22用于加载组件的权限菜单xml文件,组件权限菜单xml文件记录组件的菜单和对应的功能权限。加载和解析技术采用dom4j。组件菜单权限加载单元22读取解压内容(即组件信息),将其中的组件菜单信息加载到组件容器的主配置文件中。
组件UI层加载单元24用于加载组件对应的UI配置文件,UI层采用JSF技术框架实现,需加载的配置文件包括faces-config.xml、validate-config.xml、web.xml文件。加载和解析技术采用dom4j。组件UI层加载单元24读取解压内容,将组件UI层信息加载到组件容器的主配置文件中。
组件服务层加载单元26用于加载组件对应的服务层配置文件,服务层采用Spring技术框架实现,需加载的配置文件service.xml文件。加载和解析技术采用dom4j。组件服务层加载单元26读取解压内容,将组件服务层信息加载到组件容器的主配置文件中。
组件持久层加载单元28用于加载组件对应的持久层配置文件,持久层采用Mybatis技术框架实现,需加载的配置文件sql-map-config.xml文件。加载和解析技术采用dom4j。组件持久层加载单元28读取解压内容,将组件持久层信息加载到组件容器的主配置文件中。
资源拷贝模块40用于将解压的组件信息拷贝到符合J2EE server服务器规范的操作系统目录上,需拷贝的资源至少包括UI层java文件、服务层java文件、持久层java文件、UI层jsp、css等web资源文件、组件需要的jar包等。
每个业务组件都有一个唯一的英文名,并以[英文名.zip]形式,将所有的组件资源压缩在信息包(zip包)中,例如:业务组件的英文名为component,对应的zip包为component.zip。
基于同一发明构思,本发明实施例中还提供了一种业务组件运行系统,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于业务组件运行系统解决问题的原理与业务组件加载方法相似,因此业务组件运行系统的实施可以参见业务组件加载方法的实施,重复之处不再赘述。
图6是根据本发明实施例的业务组件运行系统的结构示意图,如图6所示,业务组件运行系统自下而上包括:应用服务器、业务基础平台、由多个业务组件构成的组件系统,其中,组件容器设置于业务基础平台上,业务基础平台与业务组件松耦合。
组件容器,用于解压各个业务组件的信息包,读取信息包中的组件信息,基于组件信息注册配置文件;其中,配置文件用于对业务组件进行升级;还用于将组件信息对应拷贝到系统目录中;其中,系统目录位于应用服务器中,用于对业务组件的组件信息进行分类管理。
业务基础平台,与组件系统松耦合,用于升级业务组件以实现软件复用。
通过上述业务组件运行系统,能够实现业务组件和业务基础平台的松耦合,业务基础平台的升级不再对业务系统造成影响,降低了业务系统升级成本。业务组件通过组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于业务组件的管理,降低了维护成本。
图7是根据本发明实施例的业务组件运行系统的优选结构示意图,如图7所示,应用服务器可以包括:基础软件环境和基础硬件平台。其中,基础软件环境可以是J2EE Server,基础硬件平台可以实现网络交互功能、计算机功能、存储功能等。
为了对本发明的技术方案进行更为清楚的解释,下面结合具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
图8是根据本发明实施例的组件加载流程图,如图8所示,该流程包括以下步骤(步骤S801-步骤S807):
步骤S801,将业务组件发布到组件容器。业务组件主要是指基于J2EE规范的业务代码的集合,这些代码分为四个层次,包括:组件菜单信息、组件UI层代码资源、组件服务层代码资源、组件持久层代码资源。
步骤S802,解压业务组件的信息包,读取并记录信息包中的组件信息。
步骤S803,读取组件菜单信息,将组组件菜单信息注册到组件容器的主菜单权限配置文件中。
步骤S804,读取组件UI层代码资源,将代码资源拷贝到符合J2EE server服务器规范的操作系统目录上,将组件UI层配置文件注册到组件容器的主UI层配置文件中。
步骤S805,读取组件服务层代码资源,将代码资源拷贝到符合J2EE server服务器规范的操作系统目录上,将组件服务层配置文件注册到组件容器的主服务层配置文件中。
步骤S806,读取组件持久层代码资源,将代码资源拷贝到符合J2EE server服务器规范的操作系统目录上,将组件持久层配置文件注册到组件容器的主持久层配置文件中。
步骤S807,该流程结束。
本发明在原有的业务基础平台的基础上,增加了组件容器,通过组件容器加载技术,有效的解决了传统平台遇到的业务组件和业务基础平台紧耦合问题。主要达到了以下效果:
1、业务组件和业务基础平台松耦合,业务基础平台的升级不影响业务系统,降低了业务系统升级成本;
2、随着业务的发展,系统共性部分不断增加,虽然业务基础平台变的庞大,但业务系统可裁剪不必要的组件,有效的控制了代码量,提高了业务系统性能;
3、业务组件通过业务组件容器的加载,有各自清晰的物理界限。每个业务组件有各自的版本,便于管理,降低了维护成本。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种业务组件加载方法,其特征在于,包括:
解压发布到组件容器的业务组件的信息包,读取所述信息包中的组件信息;
基于所述组件信息在所述组件容器中注册配置文件;其中,所述组件容器设置于业务基础平台上,所述业务基础平台与所述业务组件松耦合;
在所述业务基础平台需要升级时,根据所述配置文件升级对应的业务组件。
2.根据权利要求1所述的方法,其特征在于,
所述业务组件包括四个层次:菜单层、用户界面UI层、服务层、持久层;
所述组件信息包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
3.根据权利要求2所述的方法,其特征在于,基于所述组件信息在所述组件容器中注册配置文件,包括:
读取所述信息包中的所述组件菜单信息,根据所述组件菜单信息在所述组件容器中注册组件菜单权限配置文件;
读取所述信息包中的所述组件UI层信息,根据所述组件UI层信息在所述组件容器中注册组件UI层配置文件;
读取所述信息包中的所述组件服务层信息,根据所述组件服务层信息在所述组件容器中注册组件服务层配置文件;
读取所述信息包中的所述组件持久层信息,根据所述组件持久层信息在所述组件容器中注册组件持久层配置文件。
4.根据权利要求3所述的方法,其特征在于,
所述组件UI层配置文件至少包括:faces-config.xml文件、validate-config.xml文件、web.xml文件;
所述组件服务层配置文件至少包括:service.xml文件;
所述组件持久层配置文件至少包括:sql-map-config.xml文件。
5.根据权利要求1所述的方法,其特征在于,
基于所述组件信息在所述组件容器中注册配置文件,采用以下技术实现:dom4j解析技术。
6.根据权利要求1所述的方法,其特征在于,读取所述信息包中的组件信息之后,所述方法还包括:
将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于与所述业务基础平台相连接的应用服务器中,用于对所述业务组件的组件信息进行分类管理。
7.根据权利要求1所述的方法,其特征在于,所述信息包是在所述业务组件的开发阶段将业务组件的信息压缩形成的压缩包。
8.根据权利要求1所述的方法,其特征在于,所述组件信息至少包括以下之一:组件中文名称、组件英文名称、组件版本号、组件的包路径、组件依赖的jar包文名、待注册的配置文件、菜单权限文件。
9.根据权利要求1所述的方法,其特征在于,所述组件容器定义如下目录结构:
|-[组件英文名.zip]
|-[组件英文名]
|-[lib]
|-[src]
|-[WebContent];
其中,lib用于存放业务组件依赖的第三方jar包,src用于存放业务组件包含的java源代码以及相关配置文件,WebContent用于存放业务组件包含的web资源文件。
10.一种业务组件加载装置,其特征在于,包括:
信息处理模块,用于解压发布到组件容器的业务组件的信息包,读取所述信息包中的组件信息;
文件注册模块,用于基于所述组件信息在所述组件容器中注册配置文件;其中,所述组件容器设置于业务基础平台上,所述业务基础平台与所述业务组件松耦合;
组件升级模块,用于在所述业务基础平台需要升级时,根据所述配置文件升级对应的业务组件。
11.根据权利要求10所述的装置,其特征在于,
所述业务组件包括四个层次:菜单层、用户界面UI层、服务层、持久层;
所述组件信息包括:组件菜单信息、组件UI层信息、组件服务层信息、组件持久层信息。
12.根据权利要求11所述的装置,其特征在于,所述文件注册模块包括:
组件菜单权限加载单元,用于读取所述信息包中的所述组件菜单信息,根据所述组件菜单信息在所述组件容器中注册组件菜单权限配置文件;
组件UI层加载单元,用于读取所述信息包中的所述组件UI层信息,根据所述组件UI层信息在所述组件容器中注册组件UI层配置文件;
组件服务层加载单元,用于读取所述信息包中的所述组件服务层信息,根据所述组件服务层信息在所述组件容器中注册组件服务层配置文件;
组件持久层加载单元,用于读取所述信息包中的所述组件持久层信息,根据所述组件持久层信息在所述组件容器中注册组件持久层配置文件。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
资源拷贝模块,用于将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于与所述业务基础平台相连接的应用服务器中,用于对所述业务组件的组件信息进行分类管理。
14.一种业务组件运行系统,其特征在于,所述系统自下而上包括:应用服务器、业务基础平台、由多个业务组件构成的组件系统;其中,所述业务基础平台包括组件容器;
所述组件容器,用于解压所述各个业务组件的信息包,读取所述信息包中的组件信息,基于所述组件信息注册配置文件;其中,所述配置文件用于对所述业务组件进行升级;
所述业务基础平台,与所述组件系统松耦合,用于升级所述业务组件以实现软件复用。
15.根据权利要求14所述的系统,其特征在于,
所述组件容器,还用于将所述组件信息对应拷贝到系统目录中;其中,所述系统目录位于所述应用服务器中,用于对所述业务组件的组件信息进行分类管理。
CN201610197297.4A 2016-03-31 2016-03-31 一种业务组件加载方法、装置及业务组件运行系统 Pending CN105893045A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610197297.4A CN105893045A (zh) 2016-03-31 2016-03-31 一种业务组件加载方法、装置及业务组件运行系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610197297.4A CN105893045A (zh) 2016-03-31 2016-03-31 一种业务组件加载方法、装置及业务组件运行系统

Publications (1)

Publication Number Publication Date
CN105893045A true CN105893045A (zh) 2016-08-24

Family

ID=57011810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610197297.4A Pending CN105893045A (zh) 2016-03-31 2016-03-31 一种业务组件加载方法、装置及业务组件运行系统

Country Status (1)

Country Link
CN (1) CN105893045A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273126A (zh) * 2017-06-15 2017-10-20 中国银行股份有限公司 应用开发方法和装置
CN107436790A (zh) * 2017-08-14 2017-12-05 郑州云海信息技术有限公司 一种组件升级管理方法及装置
CN110955474A (zh) * 2018-09-27 2020-04-03 杭州海康威视系统技术有限公司 一种应用系统中业务添加、业务调用方法、装置及设备
CN111124514A (zh) * 2019-12-19 2020-05-08 杭州迪普科技股份有限公司 框式设备业务板松耦合的实现方法、系统及框式设备
CN107315580B (zh) * 2017-04-17 2020-06-02 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质
CN111984369A (zh) * 2020-07-29 2020-11-24 苏州浪潮智能科技有限公司 一种容器调用方法和装置
CN112328302A (zh) * 2020-11-30 2021-02-05 中国航空工业集团公司西安航空计算技术研究所 一种可适配多种存储系统的配置服务组件
CN113656048A (zh) * 2021-08-25 2021-11-16 工银科技有限公司 业务组件代码安装方法、工具及组件代码共享系统
CN114510292A (zh) * 2022-02-17 2022-05-17 平安国际智慧城市科技股份有限公司 直播组件化方法、装置、电子设备及存储介质
US12056479B2 (en) 2019-12-27 2024-08-06 Huawei Technologies Co., Ltd. Mobile service upgrade method and apparatus, and terminal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866204A (zh) * 2006-01-17 2006-11-22 华为技术有限公司 一种软件组件架构
US20110154379A1 (en) * 2009-12-23 2011-06-23 Oracle International Corporation System and method for providing transaction monitor integration with service component architecture (sca) runtime
CN102402735A (zh) * 2011-11-21 2012-04-04 山东浪潮齐鲁软件产业股份有限公司 一种符合soa思想的企业应用集成解决方法
CN103761082A (zh) * 2013-12-31 2014-04-30 湖南大唐先一科技有限公司 一种组件化研发模式与领域驱动模型相结合的应用开发系统及平台
CN104239037A (zh) * 2014-08-25 2014-12-24 中国电子科技集团公司第二十九研究所 一种业务功能可重构的软件框架

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866204A (zh) * 2006-01-17 2006-11-22 华为技术有限公司 一种软件组件架构
US20110154379A1 (en) * 2009-12-23 2011-06-23 Oracle International Corporation System and method for providing transaction monitor integration with service component architecture (sca) runtime
CN102402735A (zh) * 2011-11-21 2012-04-04 山东浪潮齐鲁软件产业股份有限公司 一种符合soa思想的企业应用集成解决方法
CN103761082A (zh) * 2013-12-31 2014-04-30 湖南大唐先一科技有限公司 一种组件化研发模式与领域驱动模型相结合的应用开发系统及平台
CN104239037A (zh) * 2014-08-25 2014-12-24 中国电子科技集团公司第二十九研究所 一种业务功能可重构的软件框架

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315580B (zh) * 2017-04-17 2020-06-02 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质
CN107273126A (zh) * 2017-06-15 2017-10-20 中国银行股份有限公司 应用开发方法和装置
CN107273126B (zh) * 2017-06-15 2021-02-09 中国银行股份有限公司 应用开发方法和装置
CN107436790A (zh) * 2017-08-14 2017-12-05 郑州云海信息技术有限公司 一种组件升级管理方法及装置
CN110955474A (zh) * 2018-09-27 2020-04-03 杭州海康威视系统技术有限公司 一种应用系统中业务添加、业务调用方法、装置及设备
CN110955474B (zh) * 2018-09-27 2023-09-05 杭州海康威视系统技术有限公司 一种应用系统中业务添加、业务调用方法、装置及设备
CN111124514B (zh) * 2019-12-19 2023-03-28 杭州迪普科技股份有限公司 框式设备业务板松耦合的实现方法、系统及框式设备
CN111124514A (zh) * 2019-12-19 2020-05-08 杭州迪普科技股份有限公司 框式设备业务板松耦合的实现方法、系统及框式设备
US12056479B2 (en) 2019-12-27 2024-08-06 Huawei Technologies Co., Ltd. Mobile service upgrade method and apparatus, and terminal
CN111984369A (zh) * 2020-07-29 2020-11-24 苏州浪潮智能科技有限公司 一种容器调用方法和装置
CN111984369B (zh) * 2020-07-29 2022-11-22 苏州浪潮智能科技有限公司 一种容器调用方法和装置
CN112328302A (zh) * 2020-11-30 2021-02-05 中国航空工业集团公司西安航空计算技术研究所 一种可适配多种存储系统的配置服务组件
CN112328302B (zh) * 2020-11-30 2023-05-23 中国航空工业集团公司西安航空计算技术研究所 一种可适配多种存储系统的配置服务组件
CN113656048A (zh) * 2021-08-25 2021-11-16 工银科技有限公司 业务组件代码安装方法、工具及组件代码共享系统
CN114510292A (zh) * 2022-02-17 2022-05-17 平安国际智慧城市科技股份有限公司 直播组件化方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN105893045A (zh) 一种业务组件加载方法、装置及业务组件运行系统
CN109889375A (zh) 业务报文校验方法、装置及计算机存储介质
CN105893008A (zh) 一种定制多渠道安装包的方法及装置
US20200379752A1 (en) Equivalency of revisions on modern version control systems
CN106933570A (zh) 一种基于插件技术的航天测发控软件平台
CN103019684A (zh) 一种基于动态模板的配置业务页面的方法
CN104331366A (zh) 一种测试用例设计效率提升方法及系统
CN106681718A (zh) 一种基于工具集的桌面端插件框架及实现方法
US20200379880A1 (en) Embedded quality indication data for version control systems
CN104007984B (zh) 一种转换数据的方法及装置
CN102279750A (zh) 一种基于领域知识共享的迭代式代码生成方法
CN107239313A (zh) Spring应用服务的升级方法和存储介质
CN103914287A (zh) 基于插件机制的软件系统及其实现方法
CN110321669A (zh) 应用程序重签名的方法、装置、设备及存储介质
CN105224422A (zh) 一种数据备份方法及设备
CN102760096A (zh) 测试用数据的生成方法、单元测试方法以及单元测试系统
Silva et al. Integrating big data into the computing curricula
CN101673374A (zh) 一种单据处理方法和装置
CN102486749A (zh) 数据驱动测试方法及系统
CN102156650B (zh) 一种实现补丁自动分析的方法及装置
CN109522089A (zh) 基于虚拟化环境的分布式视图像识别方法
CN112580079A (zh) 权限配置方法、装置、电子设备及可读存储介质
CN111966760A (zh) 基于Hive数据仓库的测试数据生成方法及装置
CN102955739A (zh) 一种提高性能测试脚本重用率的方法
CN101963911A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160824