CN101315604B - 软件定制模块的实现方法及系统 - Google Patents

软件定制模块的实现方法及系统 Download PDF

Info

Publication number
CN101315604B
CN101315604B CN2008101252748A CN200810125274A CN101315604B CN 101315604 B CN101315604 B CN 101315604B CN 2008101252748 A CN2008101252748 A CN 2008101252748A CN 200810125274 A CN200810125274 A CN 200810125274A CN 101315604 B CN101315604 B CN 101315604B
Authority
CN
China
Prior art keywords
interface
class
subsystem
configuration file
functional
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.)
Active
Application number
CN2008101252748A
Other languages
English (en)
Other versions
CN101315604A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2008101252748A priority Critical patent/CN101315604B/zh
Publication of CN101315604A publication Critical patent/CN101315604A/zh
Priority to US12/489,623 priority patent/US20090327926A1/en
Application granted granted Critical
Publication of CN101315604B publication Critical patent/CN101315604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

本发明实施例提供一种软件定制模块的实现方法,包括:根据用户的功能模块定制请求,在界面子系统中,增加用户所定制功能的事件处理类;并确定所增加的功能模块的界面视图;根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件;根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的其实现类。本发明实施例还提供一种用于实现软件定制模块的系统。根据该发明,可在不修改代码的前提下,对软件系统的功能模块进行增减。

Description

软件定制模块的实现方法及系统
技术领域
本发明涉及信息及计算机技术领域,尤其涉及软件定制模块的实现方法及系统。
背景技术
随着信息化的不断发展深入,存储及管理软件的规模越来越大,软件功能越来越多,不同的客户有不同的需求,迫切需要随客户的需求而方便地增减软件中的功能模块。
存储管理解决方案通常需要根据应用需求来管理存储设备,以满足用户在不同应用下的环境、不同重要性数据之间均衡存储的需求。已有的许多存储管理解决方案,只实现了最基本的集成,企业不得不在管理不同的环境时应用不同的解决方案,企业需要一种统一的存储管理解决方案,从而提升可用性、缩短排除故障的时间,减轻总体管理负担。因此,提供基于行业标准的统一管理架构,采用模块化的方式开发,并对用户应用开放,从而实现协调管理的存储管理系统,这样能够实现用户最佳的IT投资回报。
现有的软件插件技术本质在于不修改程序主体(平台)的情况下,对软件功能进行扩展,平台+插件软件结构是将一个待开发的目标软件分为两部分,一部分为程序的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,可定义为插件。
一.平台+插件结构可分为两部分:
1.平台的基本功能,平台所完成的基本功能应为一个软件系统的核心和基础,这些基本功能即可为用户使用,也可为插件使用,这样就可以继续把平台基本功能分为两个部分:
1)内核功能,平台的内核功能是整个软件的重要功能,一个软件的大部分功能应由内核功能完成。
2)插件处理功能,平台的插件处理功能包括插件注册、管理和调用,以及平台扩展接口的功能实现。
2.扩展的插件功能。插件所完成的功能是对平台功能的扩展与补充。
二.采取了平台+插件结构的软件设计,就需要定义两个标准接口:
1.平台所实现的平台扩展接口,实现了插件向平台方向的单向通信,插件通过平台扩展接口可获取主框架的各种资源和数据,可包括各种系统句柄,程序内部数据以及内存分配等。
2.为插件所实现的插件接口,插件接口为平台向插件方向的单向通信,平台通过插件接口调用插件所实现的功能,读取插件处理数据等。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
目前插件都是小的功能扩展,大部分功能应由内核功能完成,所以在确保需求发生重大变化时,必须修改内核代码,不能灵活地实现平台本身增减,所以现有的技术并不是真正意义上的“即插即用”的软件结构,基于平台+插件结构的软件都是单个应用程序,而不能相互独立集成应用。基于平台+插件结构的软件,所有的插件管理都是由平台的插件处理功能来统一管理,包括插件注册、管理和调用,以及平台扩展接口的功能实现等几个部分,导致对系统的开销过大。
现有的软件集成使用简单的软件结构,在使用现有软件产品上进行模块增减上有过多的限制,通常需要修改平台代码,造成与原先版本不兼容的现象出现。
发明内容
有鉴于此,本发明的目的在于提供一种软件定制模块的实现方法及系统,可在不修改代码的前提下,对软件系统的功能模块进行增减。
本发明实施例提供的一种软件定制模块的实现方法,包括:
根据用户的功能模块定制请求,在界面子系统中,增加用户所定制功能的事件处理类;并确定所增加的功能模块的界面视图;所述事件处理类为具体菜单事件的处理类;
根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件,所述配置文件用于管理事件处理类的增加或删除操作;
根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的其实现类。本发明实施例还提供一种用于实现软件定制模块的系统,包括:
接收单元,用于接收用户的功能模块定制请求;
第一配置单元,用于根据用户的功能模块定制请求,在界面子系统中增加用户所定制功能的事件处理类并确定所增加的功能模块的界面视图;
根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件;其中,所述事件处理类为具体菜单事件的处理类,所述配置文件用于管理事件处理类的增加或删除操作;
第二配置单元,用于根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的实现类。
本发明实施例提供的技术方案中,根据用户的功能模块定制请求,在界面子系统中配置用户所定制功能的事件处理类文件及参数;增加用户所定制功能的事件处理类并修改界面子系统与功能子系统的接口配置文件;
在界面子系统或功能子系统配置接口及其实现类,可在不修改代码的前提下,对软件系统的功能模块进行增减。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的软件界面子系统的类图;
图2为本发明实施例中的界面子系统的主页面加载流程图;
图3为本发明实施例中的点击事件处理时序图;
图4为本发明实施例中的软件功能子系统的类图;
图5为本发明具体实施例中的软件定制模块的实现方法流程图;
图6为本发明具体实施例中的实现软件定制模块的系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
通常,软件系统包含界面部分和功能部分,本发明实施例提供的实现软件模块定制的方案,涉及两个子系统:界面子系统和功能子系统,界面子系统的功能是显示界面,而功能子系统是用于实现数据的保存以及各业务功能模块的逻辑处理部分。
为便于理解本发明的思想和实现方案,首先对界面子系统和功能子系统以及相关概念进行简要描述。
图1为界面子系统的类图,如图1所示,构造器Builder模块根据用户提供的配置文件购置主页面MainView所需各种界面所需的菜单、树、面板;监听器ChangeListener接口用于监听监听功能模块的各种变化提供给MainView改变界面的显示信息,ActionManager负责加载所有的Action并且保存这些Action即事件处理类ConcreteAction,AbstractView是所有的视图(如Module1View)的父类,图1中示出了模界面子系统的静态结构,特别是界面子系统中存在的类、接口以及它们之间的静态结构和关系,界面子系统用于实现界面的显示功能。
抽象类Action:所有菜单,工具栏按钮以及右键菜单的事件处理类的基类。该类继承于swing(Java中的一种GUI工具包)中的Abstract Action(Swing包中的Action)。
事件处理类ConcreteAction:Action的子类,是具体的菜单的事件处理类。如一个保存菜单,那么保存这个功能可能会在菜单,工具栏和右键菜单中都会用到,则需要构建一个具体的Action,如ConcreteAction,该ConcreteAction实现保存的功能。
基类管理器ActionManager:提供对所有Action的加载和管理。所有的Action的放在配置文件中管理,增加删除Action都在配置文件中操作。
ActionManager提供的功能包括从配置文件中加载所有的Action,并且保存。当某一个菜单项需要使用到某一个Action时则从ActionManager中获取。ActionManager使用单体模式实现。
服务请求者ServiceRequester,通过此类获取功能子系统的入口。如果界面需要使用某项功能,则通过ServiceRequester获取功能的操作对象(如具体的任务:TaskTaker对象)。比如对于处理告警的模块,如果告警界面需要使用告警任务模块(AlarmTaskTaker)的查询告警的功能,则需要通过SerivceRequester获取AlarmTaskTaker。
信息改变的监听器ChangeListerner,由于本实现是分为了功能子系统和界面子系统,所以功能子系统的数据变化需要即时的通知界面子系统,界面子系统需要监听功能子系统的变化。该ChangeListerner是监听功能子系统的接口。
抽象视图AbstractView,每一个具体的模块的视图都需要实现该类,主要是指弹出窗口。
具体模操作功能视图:Module1View、Module2View、Module3View,用于继承所述抽象视图AbstractView,比如创建、查询RaidGroup的页面是RaidGroup模块的View。查询告警,删除告警就属于告警模块的View。
Builder为构造器模式的基类。
树构造器TreeBuilder,菜单构造器MenuBuilder,pane构造器PaneBuilder(这三个Builder都继承于Builder)提供对Tree、menu、pane的创建。界面包含菜单、工具栏、左树、右边镶板和状态栏5部分。TreeBuilder用于构造左树,MenuBuilder用于构造Menu,PaneBuilder用于构造右边的面板(Pane)。Tree、menu、pane的配置都放在配置文件中。这些builder都根据配置文件来构造。
参照图2,对MainView的加载流程进行描述:
MainView是界面子系统的主页面,它负责Builder模式的调度director(调用创建者角色以创建具体的对象),用于构建菜单,树以及Pane(镶板)页面。MainView的加载流程步骤如下:
S01,MainView向ActionManager发送加载(LoadAction)请求;
S02,ActionManager根据所述加载请求读取现有的加载action的配置文件;
S03,将所读取的配置文件返回给MainView;
S04,MainView调用构造器Builder,包括菜单构造器MenuBuilder、树构造器TreeBuilder、pane构造器PaneBuilder。
特定的构造器根据配置文件中的配置信息构造组件,并将所构建的组件返回给MainView。
参照图3,以鼠标点击操作事件处理流程为例进行描述,具体包括界面子系统的模块与功能子系统的交互流程。
S201,用户点击菜单(或者是工具栏按钮,或者右键),触发Action;
S202,Action显示操作的界面(ModuleView);
S203,用户操作该界面;
S204,界面子系统通过ServiceRequester获取用户所需的TaskTakerInterface
S205,ModuleView调用该TaskTakerInterface进入功能子系统。
S206,功能子系统将执行结果返回给ModuleView,显示操作结果
由上面的描述可以知道,该实施例的方案涉及到的内容有:ActionManager,MainView,Builder三部分。而涉及到具体模块的内容包括ModuleView,Action。当然还涉及到菜单,工具栏,右键和Pane的内容。下面重点描述增加一个模块的流程,增加模块的流程,包括如下步骤:
A、根据用户定制的功能确定增加的菜单项,每个菜单项实现对应一个具体事件处理类ConcreteAction。并在Action的配置文件中添加配置,该Action的配置文件是用于配置所有右键菜单或者下拉菜单的点击的Action类。
B、配置菜单,工具栏文件。该文件是供菜单构造器MenuBuilder生成菜单时加载,并根据其中的配置生成菜单。
C、确定增加模块的功能视图,即ModuleView,这些ModuleView主要是指Action处理时需要显示的弹出窗体。
D、确定左树,当增加一个模块时,可能需要新增加一些树结点,那么需要重新设置树的配置文件,这些树的配置文件是TreeBuilder在生成树的时候加载。
E、确定Pane,左树增加结点,那么右边pane需要相应的增加。增加pane后,需要配置pane的文件,该配置文件是PaneBuilder在生产相应的pane的时候加载。
删除一个模块的过程,具体如下:
A1、根据用户的定制,删除指定的功能时,修改配置文件,在Action.xml中去掉该分裂镜像的Action类,以及删除Tree.xml文件中对应的结点及子结点。
B1、修改接口配置文件:在ViewFunctionInterface.properties中去掉HypperCloneWorkTakerInterface=Interface.HypperCloneWorkTakerImpl这一行语句。
图4为功能子系统的类图,ServiceRequester:服务请求者收到界面子系统的任务后,调用任务分发者TaskDistributer,查找需要调用的AbstractTaskTaker即以此找到TaskTakerInterface1,最终找到该任务的具体实现类即ConcreteTaskTaker,同时该实现类调用相关的功能处理模块即FunctionalModule1,进行相关的操作,比如更新等。同时该功能处理模块调用数据库进行数据的保存等处理。协议处理类根据该功能任务处理模块,获取具体的通信协议适配器即CommunicationProtocolAdapter1。图5中示出了功能子系统的静态结构,特别是功能子系统中存在的类、接口以及它们之间的静态结构和关系,功能子系统主要负责生成具体的任务的实例,转化为具体的适配对象,同时保存在数据库中。
参照图4,功能子系统中各模块如下:
ServiceRequester:用于界面子系统与功能子系统的交互,接受来自界面子系统的服务请求,向功能子系统请求进行操作的服务。
TaskDistributor:供ServiceRequester调用,获取具体的任务(taskTaker)如ConcreteTaskTaker1等。
AbstraceTaskTaker抽象任务:所有任务接口的父类,类似于JIAVARJDK中SERIALIZABLE类的作用。
TaskTakerInterface:继承AbstraceTaskTaker。
ConcreteTaskTaker:继承TaskTakerInterface实现TaskTakerInterface中功能模块的功能。
FunctionModule:功能模块处理类,供ConcrereTaskTaker调用,提供每个任务的逻辑处理等功能。
数据库Database:用于存放功能模块所使用的数据,其中包含ConcreteTaskTaker通过功能模块FuncionalModule下发到通信协议适配器CommunicationProtocolAdapter的数据,也包括从通信协议适配器CommunicationProtocolAdapter上报的数据。
ProxyFactory:获取具体的协议适配器。
通信协议适配器CommunicationProtocolAdapter收到ConcreteTaskTaker的调用,把其中的处理对象转化为被管理设备可以识别的通用对象,同时也把从设备侧获得的对象转化为具体的TaskTaker可以识别的通用的对象。
如图4所示,新增一个模块时需增加的相关的代码部分,其中TaskDistributor中会自动生成ConcreteTaskTaker的实例。
比如,当界面子系统增加一个模块,功能子系统需要增加该模块的接口TaskTakerInterface2,还要实现此接口即增加ConcreteTaskTaker2,并且根据情况需要增加该任务的逻辑处理部分即增加SererModule2,增加该任务转化后的协议适配对象CommunicationProtocolAdapter2。
每一个界面子系统的模块都对应一个功能子系统的ConcreteTaskTaker,这样使得不同模块间的接口互不干扰,同时界面子系统只需一步就可以获得相应的接口;而且在扩展新的模块时,新的接口模块可以自动生成,无须更改现有的程序。
当软件系统/平台需要增加模块时,子系统之间的接口处理机制不用更改,即可处理新增加的功能接口。
由上述描述可知,在功能子系统配置接口及其实现类,可在不修改代码的前提下,对软件系统的功能模块进行增减。这样通过配置文件生成用户需要的界面模块,可实现用户对软件功进行定制,使得软件功能扩展的能力大大增强,而开发周期大大缩短。
下面以分裂镜像功能为例对本发明进行详细描述。
参照图5,根据用户的定制分裂镜像请求,在左树某个结点(LUN)增加一个新的功能,同时在其右键菜单中增加一项新的功能,以定制具体(创建分裂镜像)的界面子系统部分,本发明实施例提供的实现软件模块定制的方法包括:
A.配置界面子系统
A01、修改配置文件
a1)、配置Action.xml(ActionManager读取的配置文件):假设此功能的弹出窗口的action为HyperCloneAction,在Action.xml配置文件按照如下结构方式进行定义,依次配置参数:用于唯一标识类action的标号actionID、类名className(必选项)以及mnemonic加速键、快捷键(可选项)。
<action>
      <actionID>hyperClone</actionID>
      <className>HyperCloneAction</className>
      <mnemonic>o</mnemonic>
      <accelerator></accelerator>
      </action>
a2)、修改menu.xml,用于添加指定用户(如:管理员和普通用户)可操作的Action,通过与Action.xm1中的actionID进行关联,并可定义菜单为一级或二级菜单,结构如下:
<menu name=″System″>
      <mnemonic>s</mnemonic>
      <items>
        <item>
           <type>menuItem</type>
           <actionID>hyperClone</actionID>
           <users>
              <user>common</user>
<user>admin</user>
             </users>
     </item>
     </items>
</menu>
A02、增加该功能的Action类
这里需要增加实现分裂镜像的Action类:HyperCloneAction。主要是实现创建分裂镜像的功能。由前图1所示,该Action继承AbstractAction。
具体实现不再描述。
A03、增加模块的界面视图,即ModuleView。这些ModuleView主要是指Action处理时需要显示的界面。假设分裂镜像弹出的界面为HyperCloneView,那么需要用户自己在此类里实现镜像分裂的界面及其逻辑功能处理。
A04、增加左树的结点和对应的镶板pane界面(LunPropertyPane:此界面包含对应Lun结点的相关信息,如分裂镜像信息),具体地,根据左树结点的层次关系,配置相应的子结点。
假设左树结点层次关系如下:
一级结点:Root结点
Root结点的子结点:Raid结点
Raid结点的子结点:Lun
则其配置文件的结构如下:
<tree name=″Root″>//树结点别名
       <treeNode name=″RAID″>//treeNode名
           <class>//树结点对应的TreeNode
             RaidTreeNode
        </class>
        <propertyPane>//配置右边镶板面板的类
              RaidPropertyPane
            </propertyPane>
      <children>
         ...//下级的子结点
    <treeNode name=″Lun″>
    <class>//树结点对应的TreeNode
           LunTreeNode
        </class>
    <propertyPane>∥配置右边镶板面板的类
        LunPropertyPane-------这里是新增加的pane界面
        </propertyPane>
    </treeNode>
      </children>
      </treeNode>
      </tree>
B.增加界面子系统与功能子系统的接口
如:图4中所示,需要在功能子系统中的ServiceRequester模块增加HypperCloneWorkTaker,以确保界面子系统在调用的时候能够获取正确获取具体的workTaker,及其实现的接口。
B01、修改接口配置文件
界面子系统与功能子系统的接口是通过配置文件(ViewFunctionInterface.properties)来进行解析获取的,这样很方便的让用户进行任意增加接口和删除接口。也就是说,只需在ViewFunctionInterface.properties里增加一行信息如下:
HypperCloneWorkTakerInterface=Interface.HypperCloneWorkTakerImpl,其中左边是需要实现的接口,右边是具体的接口的实现类的路径。
C.配置功能子系统
C01、增加分裂镜像接口:HypperCloneWorKTaker
C02、增加界面子系统与功能子系统的分裂镜像接口的实现类:HypperCloneWorKTakerImpl。
调用实现分裂镜像所需要的接口,由功能子系统中实现类HypperCloneWorKTakerImpl进行处理,具体实现功能不再描述。
在界面子系统和功能子系统中删除前述用户定制模块,具体处理过程如下:
界面子系统中,修改配置文件:Action.xml中去掉该分裂镜像的Action类,以及删除Tree.xml文件中对应的结点及子结点即可。这样,可以很方便的删除一个模块的功能。
功能子系统中,在ViewFunctionInterface.properties中删除HypperCloneWorkTakerInterface=Interface.HypperCloneWorkTakerImpl这一行语句即可。
具体执行所配置的分裂镜像功能模块时,界面子系统与功能子系统进行交互处理,包括:
S31、界面子系统显示分裂镜像的界面;
显示该分裂镜像的相关内容。
S32、在该界面上进行相关参数的配置;
创建分裂镜像时,需要如下参数信息:创建分裂镜像的名称,缓冲时间,选择具体的LUN。
S33、界面子系统调用功能子系统处理分裂镜像的任务对象(HypperCloneWorKTaker)
S34、界面子系统获取该任务对象后,再次调用该任务对象的具体接口;
S35、界面子系统等待该任务具体接口完成后,界面子系统再显示相关的提示信息给用户。
本发明实施例还提供一种用于实现软件定制模块的系统,如图6所示,该系统600包括:
接收单元601,用于接收用户的功能模块定制请求;
第一配置单元602,用于根据所述接收单元接收的功能模块定制请求,在界面子系统中配置用户所定制功能的事件处理类文件及参数;增加用户所定制功能的事件处理类;确定所增加功能模块的界面视图;根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件;
其中所配置的参数包括:actionID,className;
第二配置单元603,用于根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的实现类。
所述第一配置单元601还用于:
根据用户的功能模块定制请求修改界面子系统的配置文件,所述修改界面子系统的配置文件包括配置用于唯一标识类的标号、类名参数。
该系统进一步包括:
第三配置单元604,用于添加指定用户可操作的Action,并通过参数actionID与事件处理类文件进行关联。
综上所述,本发明实施例提供的技术方案中,根据用户的功能模块定制请求,在界面子系统中配置用户所定制功能的事件处理类文件及参数;
增加左树结点,增加用户所定制功能的事件处理类增加界面子系统与功能子系统的接口配置文件;在功能子系统配置接口及其实现类,可在不修改代码的前提下,对软件系统的功能模块进行增减。这样通过配置文件生成用户需要的界面模块,可实现用户对软件功进行定制,更好满足了客户需求。由于各个模块之间是相互独立的,添加新功能不需要修改原有功能代码,缩短了添加新功能的研发周期。功能模块的自由组合减少了模块之间的耦合,使得软件系统更易于维护,适应的管理范围扩大。而且适应性的功能模块增减功能可以实现多不同设备管理,以满足不同用户在不同环境下的需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种软件定制模块的实现方法,其特征在于,包括:
根据用户的功能模块定制请求,在界面子系统中增加用户所定制功能的事件处理类并确定所增加的功能模块的界面视图;所述事件处理类为具体菜单事件的处理类;
根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件,所述配置文件用于管理事件处理类的增加或删除操作;
根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的实现类。
2.如权利要求1所述的方法,其特征在于,还包括:根据用户的功能模块定制请求修改界面子系统的配置文件,所述修改界面子系统的配置文件包括配置用于唯一标识类的标号、类名参数。
3.如权利要求2所述的方法,其特征在于,进一步包括:
添加指定用户可操作的类,并通过所述唯一标识类的标号和/或类名与事件处理类文件进行关联。
4.如权利要求1所述的方法,其特征在于,还包括增加左树结点和对应的镶板界面的步骤:
根据左树结点的层次关系,配置相应的子结点。
5.如权利要求1所述的方法,其特征在于,所述修改界面子系统与功能子系统的接口配置文件,包括:
在接口配置文件中增加实现接口和该接口实现类的路径。
6.如权利要求1所述的方法,其特征在于,进一步包括删除所配置用户定制功能模块的步骤:
在界面子系统的配置文件中删除所配置的用户所定制功能的事件处理类文件及参数;
在界面子系统的配置文件中删除所定制功能模块对应的子结点;
在界面子系统的配置文件中删除所述用户定制功能的实现接口和该接口实现类的路径。
7.如权利要求2所述的方法,其特征在于,所述修改界面予系统的配置文件还包括配置参数:
加速键、快捷键。
8.一种用于实现软件定制模块的系统,其特征在于,包括:
接收单元,用于接收用户的功能模块定制请求;
第一配置单元,用于根据用户的功能模块定制请求,在界面子系统中增加用户所定制功能的事件处理类并确定所增加的功能模块的界面视图;根据所述功能模块修改所述界面子系统与功能子系统的接口配置文件;其中,所述事件处理类为具体菜单事件的处理类,所述配置文件用于管理事件处理类的增加或删除操作;
第二配置单元,用于根据修改的接口配置文件在所述界面子系统或所述功能子系统配置接口及所定制功能的事件处理类的实现类。
9.如权利要求8所述的系统,其特征在于,所述第一配置单元还用于:
根据用户的功能模块定制请求修改界面子系统的配置文件,所述修改界面子系统的配置文件包括配置用于唯一标识类的标号、类名参数。
10.如权利要求9所述的系统,其特征在于,还包括:
第三配置单元,用于添加指定用户可操作的类,并通过所述唯一标识类的标号和/或类名与事件处理类文件进行关联。
CN2008101252748A 2008-06-30 2008-06-30 软件定制模块的实现方法及系统 Active CN101315604B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008101252748A CN101315604B (zh) 2008-06-30 2008-06-30 软件定制模块的实现方法及系统
US12/489,623 US20090327926A1 (en) 2008-06-30 2009-06-23 Method and system for implementing software customization module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101252748A CN101315604B (zh) 2008-06-30 2008-06-30 软件定制模块的实现方法及系统

Publications (2)

Publication Number Publication Date
CN101315604A CN101315604A (zh) 2008-12-03
CN101315604B true CN101315604B (zh) 2011-06-01

Family

ID=40106624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101252748A Active CN101315604B (zh) 2008-06-30 2008-06-30 软件定制模块的实现方法及系统

Country Status (2)

Country Link
US (1) US20090327926A1 (zh)
CN (1) CN101315604B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063294B (zh) * 2009-11-16 2014-06-11 中兴通讯股份有限公司 支持松耦合的软件构建方法、系统及该系统的实现方法
PL2385656T3 (pl) * 2010-05-06 2013-05-31 Deutsche Telekom Ag Sposób i system sterowania komunikacją danych w sieci
CN102508670A (zh) * 2011-11-18 2012-06-20 康佳集团股份有限公司 一种定制电视软件方法及系统
CN102929650A (zh) * 2012-07-11 2013-02-13 北京金山安全软件有限公司 一种应用程序运行环境独立配置的方法、装置及移动设备
CN104283919B (zh) * 2013-07-05 2019-11-05 中兴通讯股份有限公司 一种接口调用系统及方法
CN103593195A (zh) * 2013-11-22 2014-02-19 安一恒通(北京)科技有限公司 一种个性化软件的定制方法和装置
US9996230B2 (en) * 2014-11-13 2018-06-12 Microsoft Technology Licensing, Llc Using sections for customization of applications across platforms
CN106502634A (zh) * 2015-09-07 2017-03-15 佛山市顺德区美的电热电器制造有限公司 智能家用电器的人机交互系统和方法
CN105630553B (zh) * 2015-12-24 2019-05-21 税友软件集团股份有限公司 一种产品加载方法及系统
CN105893063B (zh) * 2016-06-13 2019-02-15 积成电子股份有限公司 一种基于xml格式配置文件的应用程序界面的构建方法
US10176080B2 (en) * 2016-09-19 2019-01-08 Grand Rounds, Inc. Methods and systems for content management and testing
CN107179990B (zh) * 2017-05-17 2020-09-08 浪潮云信息技术股份公司 一种实现测试校验的方法及装置
CN107301041B (zh) * 2017-05-27 2021-03-05 福州汇思博信息技术有限公司 一种定制系统功能的方法及系统
CN110019403B (zh) * 2017-12-27 2021-06-22 航天信息股份有限公司 一种查询方法及相关装置
CN109710246A (zh) * 2018-12-07 2019-05-03 北京奇虎科技有限公司 数据管理系统及其控制方法、设备及存储介质
CN111538481B (zh) * 2019-01-21 2021-09-14 北京邮电大学 应用程序定制化方法及系统
CN112394937A (zh) * 2019-08-19 2021-02-23 北京新能源汽车股份有限公司 一种嵌入式代码生成方法及装置
CN111078326A (zh) * 2019-12-28 2020-04-28 深圳市元征科技股份有限公司 一种功能模块的调用方法、装置及设备
CN111381741A (zh) * 2020-03-05 2020-07-07 山东浪潮通软信息科技有限公司 工具栏插件化方法、装置及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230318B1 (en) * 1998-02-24 2001-05-08 Microsoft Corporation Application programs constructed entirely from autonomous component objects
US6880126B1 (en) * 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US7366991B1 (en) * 2002-12-12 2008-04-29 Microsoft Corporation Method and system for providing an extensible user interface
US7434203B2 (en) * 2004-05-11 2008-10-07 Sap Ag Software logistics for pattern-based applications
US8984423B2 (en) * 2005-06-07 2015-03-17 Rockwell Automation Technologies, Inc. Dynamic representation of component configuration method and system
US8046696B2 (en) * 2005-11-17 2011-10-25 Oracle International Corporation System and method for providing active menus in a communities framework
US20070288890A1 (en) * 2006-05-17 2007-12-13 Ipreo Holdings, Inc. System, method and apparatus to allow for a design, administration, and presentation of computer software applications
US20080141148A1 (en) * 2006-12-08 2008-06-12 Ogita Seiya Image forming device and display control method

Also Published As

Publication number Publication date
CN101315604A (zh) 2008-12-03
US20090327926A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
CN101315604B (zh) 软件定制模块的实现方法及系统
US7774463B2 (en) Unified meta-model for a service oriented architecture
US8972934B2 (en) Support for temporally asynchronous interface extensions
CA2651922C (en) Provisioning and activation using a service catalog
US8473896B2 (en) Computer software development incorporating core and compound services
US6366657B1 (en) System and method for supporting and managing telecommunications services
CN100545851C (zh) 使用命令行环境的远程系统管理
US9268534B1 (en) Managing the release of electronic content using a template without version logic
JPH10501394A (ja) カスタマイズされた電気通信サービス
EP1175753B1 (en) Telecommunications network resource handling arrangement and method
US20170041203A1 (en) Provisioning and activation using a service catalog
CA2660032C (en) Global information architecture
US7490077B2 (en) Extensible dependency management framework and method
CN108345691B (zh) 数据源通用处理框架构建方法、数据源处理方法及装置
US9477821B2 (en) Generic feature-licensing framework
US11803428B2 (en) Feature based application programming interface federation
CN113268288A (zh) 一种共用文件配置方法及装置
WO2003102766A1 (en) Method and system for generating user interface views
CN115712417A (zh) 一种无代码方式构建微服务的方法及系统
CN116776612A (zh) 基于消息中间件的SysML功能集成与分析方法
EP1850227A1 (en) Data processing system and metod for providing a status management service
Wagner et al. Uniform and efficient data provisioning for soa-based information systems
CN117390101A (zh) 一种数据可持久化方法以及可持久化系统
KR20030056153A (ko) Ejb 영속 상태 객체로 표현된 데이터베이스 엔터티들의자동화된 상호관계 관리 방법
Kulkarni et al. Use of Design Patterns in E-commerce Application: Survey.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CHENGDU CITY HUAWEI SAIMENTEKE SCIENCE CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20090424

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090424

Address after: Qingshui River District, Chengdu high tech Zone, Sichuan Province, China: 611731

Applicant after: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

Address before: Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Province, China: 518129

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.