[go: up one dir, main page]

CN103927163B - Plugin frame processing device and plugin system - Google Patents

Plugin frame processing device and plugin system Download PDF

Info

Publication number
CN103927163B
CN103927163B CN201410081113.9A CN201410081113A CN103927163B CN 103927163 B CN103927163 B CN 103927163B CN 201410081113 A CN201410081113 A CN 201410081113A CN 103927163 B CN103927163 B CN 103927163B
Authority
CN
China
Prior art keywords
plug
manager
ins
application combination
application
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.)
Expired - Fee Related
Application number
CN201410081113.9A
Other languages
Chinese (zh)
Other versions
CN103927163A (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.)
Academy of Armored Forces Engineering of PLA
Original Assignee
Academy of Armored Forces Engineering of PLA
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 Academy of Armored Forces Engineering of PLA filed Critical Academy of Armored Forces Engineering of PLA
Priority to CN201410081113.9A priority Critical patent/CN103927163B/en
Publication of CN103927163A publication Critical patent/CN103927163A/en
Application granted granted Critical
Publication of CN103927163B publication Critical patent/CN103927163B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种插件框架处理装置及插件系统,能够实现应用的跨平台使用。插件框架处理模块包括:插件核心器、扩展点管理器、应用组合管理器、插件管理器;所述插件核心器,用于控制所述插件框架处理模块工作状态,控制插件的安装与卸载,控制插件消息订阅与发送;所述扩展点管理器,用于提供插件扩展规范,使得多个插件相互通信;应用组合管理器,定义应用组合数据结构并进行应用组合的管理。插件管理器用于调用应用组合管理器,根据当前应用组合启动所有插件。

The invention provides a plug-in frame processing device and a plug-in system, which can realize cross-platform use of applications. The plug-in frame processing module includes: a plug-in core device, an extension point manager, an application combination manager, and a plug-in manager; the plug-in core device is used to control the working state of the plug-in frame processing module, control the installation and uninstallation of plug-ins, and control plug-in message subscription and sending; the extension point manager is used to provide plug-in extension specifications to enable multiple plug-ins to communicate with each other; the application combination manager defines the application combination data structure and manages the application combination. The plug-in manager is used to call the application combination manager to start all plug-ins according to the current application combination.

Description

插件框架处理装置及插件系统Plug-in frame processing device and plug-in system

技术领域technical field

本发明涉及计算机领域,尤其涉及一种插件框架处理装置及插件系统。The invention relates to the field of computers, in particular to a plug-in frame processing device and a plug-in system.

背景技术Background technique

伴随着软件工程与信息化技术的发展,跨平台技术的应用开发显得越来越重要。各种新平台、新技术不断涌现,使得计算机软件生产厂商及其设计人员面临着如何适应多种平台,多操作系统共存的问题。With the development of software engineering and information technology, the application development of cross-platform technology is becoming more and more important. Various new platforms and new technologies are constantly emerging, which makes computer software manufacturers and their designers face the problem of how to adapt to multiple platforms and coexistence of multiple operating systems.

计算机技术产生至今,人们己经成功的将其应用于各行各业,相应地开发出大量适用于不同环境、功能各异的软件。随着近年来计算机技术的迅速发展,当新硬件、新技术出现时,计算机的体系结构、指令系统和操作系统都可能发生相应的改变,这势必会导致一部分应用在新环境下无法正常运行,如何解决应用的跨平台使用是当前需要解决的问题。Since the emergence of computer technology, people have successfully applied it to all walks of life, and correspondingly developed a large number of software suitable for different environments and with different functions. With the rapid development of computer technology in recent years, when new hardware and new technologies appear, the computer architecture, instruction system and operating system may undergo corresponding changes, which will inevitably cause some applications to fail to run normally in the new environment. How to solve the cross-platform use of applications is a problem that needs to be solved at present.

发明内容Contents of the invention

(一)要解决的技术问题(1) Technical problems to be solved

本发明提供一种插件框架处理装置及插件系统,能够实现应用的跨平台使用。The invention provides a plug-in frame processing device and a plug-in system, which can realize cross-platform use of applications.

(二)技术方案(2) Technical solutions

一种插件框架处理模块,包括:插件核心器、扩展点管理器、应用组合管理器、插件管理器;A plug-in framework processing module, including: a plug-in core device, an extension point manager, an application combination manager, and a plug-in manager;

所述插件核心器,用于控制所述插件框架处理模块工作状态,控制插件的安装与卸载,控制插件消息订阅与发送;The plug-in core device is used to control the working status of the plug-in framework processing module, control the installation and uninstallation of plug-ins, and control the subscription and sending of plug-in messages;

所述扩展点管理器,用于提供插件扩展规范,使得多个插件相互通信;The extension point manager is used to provide a plug-in extension specification, so that multiple plug-ins can communicate with each other;

应用组合管理器,定义应用组合数据结构并进行应用组合的管理。The application combination manager defines the application combination data structure and manages the application combination.

插件管理器用于调用应用组合管理器,根据当前应用组合启动所有插件。The plug-in manager is used to call the application combination manager to start all plug-ins according to the current application combination.

可选的,所述插件管理器具体用于,调用应用组合管理器,得到当前应用组合所包含的插件列表,搜索指定的插件目录,对搜索到的插件与应用组合的插件列表进行匹配,匹配后调用插件核心动态库安装对应的插件到插件框架处理模块,搜索该插件的配置文件,调用扩展点管理器解析其中的扩展点,按照插件依赖关系依次启动所有插件。Optionally, the plug-in manager is specifically used to call the application combination manager to obtain a list of plug-ins contained in the current application combination, search for a specified plug-in directory, and match the searched plug-ins with the plug-in list of the application combination. Then call the plug-in core dynamic library to install the corresponding plug-in to the plug-in framework processing module, search the configuration file of the plug-in, call the extension point manager to analyze the extension points in it, and start all plug-ins in sequence according to the plug-in dependencies.

可选的,所述插件核心器通过应用程序编程接口API与插件进行通信。Optionally, the plug-in core communicates with the plug-in through an API.

可选的,所述API使用static函数。Optionally, the API uses static functions.

一种插件系统,包括上述的插件框架处理模块。A plug-in system includes the above-mentioned plug-in framework processing module.

可选的,还包括:应用组合开发模块,用于生成应用组合。Optionally, it also includes: an application combination development module, configured to generate an application combination.

可选的,还包括:插件开发模块,用于实现插件开发。Optionally, it also includes: a plug-in development module, used to implement plug-in development.

本发明实施例的插件框架处理装置及插件系统,通过插件之间进行通信,从而实现应用的跨平台使用。The plug-in framework processing device and the plug-in system in the embodiment of the present invention realize cross-platform use of applications through communication between plug-ins.

附图说明Description of drawings

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained based on these drawings without creative effort.

图1为本发明实施例提供的一种插件框架处理装置的结构示意图;FIG. 1 is a schematic structural diagram of a plug-in frame processing device provided by an embodiment of the present invention;

图2为本发明实施例提供的一种插件结构示意图;FIG. 2 is a schematic structural diagram of a plug-in provided by an embodiment of the present invention;

图3为本发明实施例提供的一种插件系统的结构示意图;FIG. 3 is a schematic structural diagram of a plug-in system provided by an embodiment of the present invention;

图4为本发明实施例提供的另一种插件系统的结构示意图。FIG. 4 is a schematic structural diagram of another plug-in system provided by an embodiment of the present invention.

具体实施方式detailed description

为使本发明的目的、内容和优点更加清楚,下面结合附图对本发明的具体实施方式作进一步详细描述。以下用于说明本发明,但不用来限制本发明的范围。In order to make the purpose, content and advantages of the present invention clearer, the specific implementation manners of the present invention will be further described in detail below in conjunction with the accompanying drawings. The following is used to illustrate the present invention, but not to limit the scope of the present invention.

Qt是利用C++程序设计语言开发的完全面向对象的支持组件编程的程序设计语言,在开发起初设计者就考虑到了跨平台性。利用它可以开发出很美观的人机接口界面,使用户感觉美观自然,同时开发人员上手也比较快,且它的功能强大,易于扩展,可以满足需要。Qt is a fully object-oriented programming language that supports component programming developed using the C++ programming language. The designer took into account the cross-platform nature at the beginning of development. It can be used to develop a very beautiful man-machine interface, which makes the user feel beautiful and natural, and at the same time, the developer is quick to get started, and it has powerful functions and is easy to expand, which can meet the needs.

OSGi规范描述了一个组件化、动态的服务插件开发平台。在OSGi服务平台中,开发人员通过开发插件为用户提供所需要的功能,这些插件可以动态加载和卸载,或者根据需要远程下载和升级。The OSGi specification describes a componentized, dynamic service plug-in development platform. In the OSGi service platform, developers provide users with the required functions by developing plug-ins, which can be loaded and unloaded dynamically, or downloaded and upgraded remotely as needed.

OSGi框架是一个微核心、全插件的框架,在它上面运行的插件基本可以分为三个层次:The OSGi framework is a micro-core, all-plug-in framework, and the plug-ins running on it can basically be divided into three levels:

核心层:负责程序的启动,监管程序的运行,以及一些全局相关的事务的初始化并在结束时做一些清理工作(如注销注册的服务,卸载);Core layer: responsible for the start of the program, the operation of the supervisory program, and the initialization of some global related transactions and some cleaning work at the end (such as deregistering registered services, uninstalling);

服务层:解决技术问题的插件,服务插件向业务插件提供必要的技术服务;Service layer: plug-ins to solve technical problems, service plug-ins provide necessary technical services to business plug-ins;

业务层:实现了用户需求的业务功能。Business layer: Realize the business functions required by users.

扩展点机制是插件框架的核心机制。插件间通过定义-实现扩展点,形成插件网络,并且解决了插件间的高度耦合性,使插件框架系统中的所有插件真正能够实现“热插拔”。The extension point mechanism is the core mechanism of the plug-in framework. Plug-ins define-implement extension points to form a plug-in network, and solve the high coupling between plug-ins, so that all plug-ins in the plug-in framework system can truly achieve "hot swapping".

扩展点机制主要分为扩展点的定义和扩展点的实现。The extension point mechanism is mainly divided into the definition of the extension point and the realization of the extension point.

扩展点定义了给其他插件进行扩展的规范,其他插件必寻遵循这个规范才能与次插件通讯。通过扩展点的方式,插件之间可以无缝的组合在一起工作,并灵活的实现插件功能的添加,升级,互换等。特别注意到,界面元素的定制也基于此扩展点机制。The extension point defines the specification for extending other plug-ins, and other plug-ins must follow this specification to communicate with the secondary plug-in. Through the way of extension points, the plug-ins can be seamlessly combined to work together, and the addition, upgrade, and exchange of plug-in functions can be flexibly realized. Note in particular that the customization of interface elements is also based on this extension point mechanism.

扩展点管理器提供了扩展点的管理服务,包括扩展点功能定义的搜索、扩展点依赖关系的管理和扩展点定义的推送等功能。The extension point manager provides extension point management services, including functions such as search for extension point function definitions, management of extension point dependencies, and push of extension point definitions.

如图1所示,本发明实施例提供一种插件框架处理模块,包括:插件核心器11、扩展点管理器12、应用组合管理器13、插件管理器14;As shown in FIG. 1 , an embodiment of the present invention provides a plug-in framework processing module, including: a plug-in core 11, an extension point manager 12, an application combination manager 13, and a plug-in manager 14;

所述插件核心器11,用于控制所述插件框架处理模块工作状态,控制插件的安装与卸载,控制插件消息订阅与发送;The plug-in core device 11 is used to control the working state of the plug-in framework processing module, control the installation and uninstallation of plug-ins, and control the subscription and sending of plug-in messages;

所述扩展点管理器12,用于提供插件扩展规范,使得多个插件相互通信;The extension point manager 12 is configured to provide a plug-in extension specification, so that multiple plug-ins communicate with each other;

所述应用组合管理器13,定义应用组合数据结构并进行应用组合的管理。The application combination manager 13 defines the application combination data structure and manages the application combination.

所述插件管理器14用于调用应用组合管理器,根据当前应用组合启动所有插件。The plug-in manager 14 is used to call the application combination manager to start all plug-ins according to the current application combination.

可选的,所述插件管理器14具体用于,调用应用组合管理器,得到当前应用组合所包含的插件列表,搜索指定的插件目录,对搜索到的插件与应用组合的插件列表进行匹配,匹配后调用插件核心动态库安装对应的插件到插件框架处理模块,搜索该插件的配置文件,调用扩展点管理器解析其中的扩展点,按照插件依赖关系依次启动所有插件。Optionally, the plug-in manager 14 is specifically configured to call the application combination manager to obtain a list of plug-ins contained in the current application combination, search for a specified plug-in directory, and match the searched plug-ins with the plug-in list of the application combination, After matching, call the plug-in core dynamic library to install the corresponding plug-in to the plug-in framework processing module, search the configuration file of the plug-in, call the extension point manager to parse the extension points, and start all plug-ins in sequence according to the plug-in dependencies.

可选的,所述插件核心器11通过应用程序编程接口API与插件进行通信。Optionally, the plug-in core 11 communicates with the plug-in through an API.

可选的,所述API使用static函数。Optionally, the API uses static functions.

本发明实施例的插件框架处理装置及插件系统,通过插件之间进行通信,从而实现应用的跨平台使用。The plug-in framework processing device and the plug-in system in the embodiment of the present invention realize cross-platform use of applications through communication between plug-ins.

下面详细说明本发明实施例的插件框架处理模块。The plug-in framework processing module of the embodiment of the present invention will be described in detail below.

插件核心器为动态库,封装一组插件框架起动与停止,插件安装与卸载,插件启动与停止,服务注册与卸载,服务请求,消息订阅与发送的API函数,所有插件将依赖于这个模块,调用这个模块导出的API进行所有插件框件,插件,插件服务,插件消息相关的操作。为了简化调用,本发明实施例所有API均使用static函数导出。The plug-in core is a dynamic library, which encapsulates a set of API functions for starting and stopping the plug-in framework, installing and uninstalling the plug-in, starting and stopping the plug-in, registering and uninstalling the service, requesting the service, subscribing and sending messages, and all plug-ins will depend on this module. Call the API exported by this module to perform operations related to all plug-in components, plug-ins, plug-in services, and plug-in messages. In order to simplify calls, all APIs in this embodiment of the present invention are exported using static functions.

本发明实施例一个插件通过扩展点以实现其功能的扩展,扩展点就是定义给其他插件进行扩展的规范,其他插件必须遵循这些规范才可用.具体实现,扩展点被定义为一些接口和相关的XML文档说明.在文档说明中指明了扩展点的ID,名称,以及对应的接口定义.因此每一个插件都具有下面的三个配置文件,其中shema文件是可选的:In the embodiment of the present invention, a plug-in can extend its functions through extension points. Extension points are specifications defined for other plug-ins to expand. Other plug-ins must follow these specifications before they can be used. Specifically, extension points are defined as some interfaces and related XML document description. The extension point ID, name, and corresponding interface definition are specified in the document description. Therefore, each plug-in has the following three configuration files, among which the shema file is optional:

plug.xml:描述插件的扩展点,以及实现的其他插件的扩展;plug.xml: describes the extension point of the plug-in, and the extension of other plug-ins implemented;

MAINFEST.MF:描述了插件的版本和版本更新信息,插件之间的包约束关系;MAINFEST.MF: describes the plug-in version and version update information, and the package constraint relationship between plug-ins;

Shema文件(xxx.esxd):是对plug.xml文件中的标签的结构的解释;Shema file (xxx.esxd): It is an explanation of the structure of the tags in the plug.xml file;

扩展点会暴露给其他插件,当一个插件被加载时,会首先解析该插件的plug.xml和MAINFEST.MF文件,找出该插件所定义的所有扩展点,和已经实现的其他插件的扩展点,进而将这些信息写进一个特殊的插件扩展注册表里。Extension points will be exposed to other plug-ins. When a plug-in is loaded, it will first parse the plug.xml and MAINFEST.MF files of the plug-in to find out all the extension points defined by the plug-in and the extension points of other plug-ins that have been implemented. , and then write this information into a special plug-in extension registry.

新插件是通过实现扩展点来进行功能扩展的,新插件实现扩展点中定义的接口,并且在plug.xml文件中说明说扩展的扩展点,以及其具体实现,通过这些信息,系统能够识别出该插件所实现的扩展点.当一个插件被加载时,系统会将其实现的扩展注册到一个特殊的插件扩展注册表中,当插件卸载时,系统会将其从这个插件扩展注册表中删除,而其他插件可以通过插件扩展注册表查找系统中某扩展点的扩展实现,通过这种方式,新的插件可以进行自由的拔插系统中,将会有一个独立的扩展点管理插件来完成上述的功能,如图2所示:The new plug-in is extended by implementing the extension point. The new plug-in implements the interface defined in the extension point, and the extension point of the extension and its specific implementation are explained in the plug.xml file. Through this information, the system can identify The extension point implemented by the plug-in. When a plug-in is loaded, the system will register the extension it implements in a special plug-in extension registry. When the plug-in is uninstalled, the system will delete it from the plug-in extension registry , while other plug-ins can find the extension of an extension point in the system through the plug-in extension registry. In this way, new plug-ins can be freely plugged in. In the system, there will be an independent extension point management plug-in to complete the above The function, as shown in Figure 2:

在扩展点的具体实现形式上,本发明实施例采用如下两种方式:In terms of the specific implementation form of the extension point, the embodiment of the present invention adopts the following two methods:

第一种:Qt插件形式。如果使用这种实现形式,就要求在插件的plug.xml文件中,指定一个具体的抽象父类的名字,这个名字必须和类名是一致的,必须这么用的原因是因为Qt并没有一个完全的反射机制,在使用Qt的插件机制实现扩展点功能的时候,就必须显式的写出插件接口的父类的名字。这种实现方式的本质是基于接口的实现,因此可以认为是一种紧偶合使用形式。而且这种插件机制是在部件级别的,并没有上升到框架级别,因此很多在框架级别才有的机制,如安全机制,插件的依赖关系的管理机制等,它都没有。The first type: Qt plug-in form. If you use this form of implementation, you are required to specify the name of a specific abstract parent class in the plug.xml file of the plug-in. This name must be consistent with the class name. reflection mechanism, when using Qt's plug-in mechanism to implement the extension point function, it is necessary to explicitly write the name of the parent class of the plug-in interface. The essence of this implementation is based on the implementation of the interface, so it can be considered as a form of tight coupling. Moreover, this plug-in mechanism is at the component level and has not risen to the framework level. Therefore, it does not have many mechanisms that are only available at the framework level, such as security mechanisms and plugin dependency management mechanisms.

第二种:OSGI的插件机制。如果使用这种实现形式,不要求在插件的plug.xml文件中指定一个具体的抽象父类的名字,可以仅仅用一个ID来标识它,然后把这个ID和一个具体的OSGI插件做一个内部映射就可以了,OSGI的插件机制本质上是一个基于服务的实现,是一个松偶合的使用形式,插件之间的关系是平等的,没有任何偶合的关系.同时OSGI的插件机制不同于Qt的插件机制,它是框架级别的,完整的提供了安全机制,插件的依赖关系的管理机制等功能。The second: OSGI plug-in mechanism. If this implementation is used, it is not required to specify the name of a specific abstract parent class in the plug-in plug.xml file, but only an ID can be used to identify it, and then an internal mapping between this ID and a specific OSGI plug-in That's it. OSGI's plug-in mechanism is essentially a service-based implementation. It is a loosely coupled form of use. The relationship between plug-ins is equal and there is no coupling relationship. At the same time, OSGI's plug-in mechanism is different from Qt's plug-in Mechanism, which is at the framework level, provides complete functions such as security mechanism and plugin dependency management mechanism.

本发明实施例中插件之间的通信方式主要有两种:There are two main communication modes between plug-ins in the embodiment of the present invention:

服务的方式:插件对外提供服务的方式可以供其他插件直接调用插件服务提供的接口访问到插件的资源。插件可以通过增加新的服务或公用接口来增加插件的扩展点,供外部插件调用来实现新的扩展功能。同时提供serviceListener来监听服务的状态变化,从而可以动态的调整依赖此服务的插件的状态。Service method: The way the plug-in provides external services can be used by other plug-ins to directly call the interface provided by the plug-in service to access the resources of the plug-in. The plug-in can increase the extension point of the plug-in by adding new services or public interfaces, which can be called by external plug-ins to realize new extended functions. At the same time, a serviceListener is provided to monitor the status changes of the service, so that the status of the plug-ins that depend on this service can be dynamically adjusted.

使用Event Bus实现插件间的独立的通信机制,Event Bus也是一种OSGI插件,基于订阅/发布机制来实现通信,这是OSGI极力推荐的通信方式,在系统中将主要采取这种通信方式。Use Event Bus to implement an independent communication mechanism between plug-ins. Event Bus is also an OSGI plug-in, which implements communication based on the subscription/publish mechanism. This is the communication method strongly recommended by OSGI, and this communication method will be mainly used in the system.

本发明实施例中使用Event Bus实现插件间的独立的通信机制。In the embodiment of the present invention, the Event Bus is used to implement an independent communication mechanism between plug-ins.

每个插件都会定义自己处理的数据格式、所接收的消息类型等等。插件之间通过广播插件类型和数据来相互调用。Each plugin defines the data format it handles, the type of messages it receives, and so on. Plug-ins call each other by broadcasting plug-in types and data.

本发明实施例中内核器通过Framework Listener和plugin Listener来监视Framework和插件的生命周期状态的改变。In the embodiment of the present invention, the kernel device monitors the change of the life cycle state of the Framework and the plug-in through the Framework Listener and the plugin Listener.

插件对外提供服务的方式可以供其他插件直接调用插件服务提供的接口访问到插件的资源。插件可以通过增加新的服务或公用接口来增加插件的扩展点,供外部插件调用来实现新的扩展功能。The way the plug-in provides external services can be used by other plug-ins to directly call the interface provided by the plug-in service to access the resources of the plug-in. The plug-in can increase the extension point of the plug-in by adding new services or public interfaces, which can be called by external plug-ins to realize new extended functions.

系统使用serviceListener来监听服务的状态变化,从而可以动态的调整依赖此服务的插件的状态。The system uses serviceListener to monitor the state changes of the service, so that the state of the plug-ins that depend on this service can be dynamically adjusted.

本发明实施例中内核模块负责搜索、加载、启动/关闭插件。In the embodiment of the present invention, the kernel module is responsible for searching, loading, and starting/closing plug-ins.

启动后,会首先搜索和加载用户许可校验插件,用以确定用户许可使用的插件。然后加载和启动集成界面插件。After startup, it will first search and load the user license verification plug-in to determine the plug-in that the user licenses to use. Then load and start the integration interface plugin.

扩展点管理器为插件,所有与扩展点相关的操作由本模块完成,本插件提供两个服务(Service),分别是IExtensionAdminService和IPluginExtensionListener。The extension point manager is a plug-in, and all operations related to the extension point are completed by this module. This plug-in provides two services (Service), namely IExtensionAdminService and IPluginExtensionListener.

IExtensionAdminService提供扩展点解析和扩展点监听功能。IExtensionAdminService provides extension point parsing and extension point monitoring functions.

扩展点解析:是扩展点管理的基础功能,传入指定的扩展点文件(在本系统中默认为plug.xml),本插件将解析其中的xml内容并将解析后的内容发送给监听插件。Extension point parsing: It is the basic function of extension point management. When the specified extension point file is passed in (plug.xml is the default in this system), the plug-in will parse the xml content and send the parsed content to the listening plug-in.

扩展点监听:其它插件向本插件注册为监听者,当解析后的扩展点有实现了该监听插件的扩展,将被推送至监听者。凡是定义了扩展点的插件都应当注册为监听者,这样当有任意插件(包括本插件)实现了对应的扩展点时,这些扩展点信息都将会被推送至监听插件,并由监听插件进行进一步的分析和处理。Extension point monitoring: other plug-ins register with this plug-in as listeners, and when the parsed extension points implement the extension of the listening plug-in, they will be pushed to the listeners. Any plug-in that defines an extension point should be registered as a listener, so that when any plug-in (including this plug-in) implements the corresponding extension point, the extension point information will be pushed to the listening plug-in, and the listening plug-in will monitor further analysis and processing.

IPluginExtensionLister:提供监听接口IPluginExtensionLister: Provides a listening interface

每一个需要监听扩展点推送消息的插件都需要实现一个监听接口,并将接口通过IExtensionAdminService注册到扩展点管理插件中。监听接口的实现:根据本插件定义的扩展点格式对推送至的扩展点信息进行业务层面的解析,并完成相应的功能。Every plug-in that needs to monitor extension point push messages needs to implement a listening interface, and register the interface with the extension point management plug-in through IExtensionAdminService. Implementation of the monitoring interface: According to the extension point format defined by this plug-in, the extension point information pushed to is analyzed at the business level, and the corresponding functions are completed.

应用组合器(Appcombin)为动态库,定义应用组合数据结构并进行应用组合的管理。开放两个头文件:appcombin.h和appcombinmanager.h供调用方使用。Appcombin.h文件主要定义应用组合的数据结构,每一个应用组合均包含一组插件,以及对应的界面信息。appcombinmanager.h中导出类AppCombinManager,主要提供应用组合的增删查改等功能。Application combiner (Appcombin) is a dynamic library, which defines the application combination data structure and manages application combination. Open two header files: appcombin.h and appcombinmanager.h for the caller to use. The Appcombin.h file mainly defines the data structure of the application combination, and each application combination includes a set of plug-ins and corresponding interface information. appcombinmanager.h exports the class AppCombinManager, which mainly provides functions such as adding, deleting, checking and modifying application combinations.

插件管理器(PluginManger)为动态库,插件管理器作为整个插件系统运行的发起者,首先调用应用组合管理器,得到当前应用组合所包含的插件列表,然后搜索指定的插件目录,对搜索到的插件与应用组合的插件列表进行匹配,匹配后调用插件核心动态库安装对应的插件到插件框架中,然后搜索该插件的配置文件(plugin.xml),调用扩展点管理器解析其中的扩展点,然后按照插件依赖关系依次启动所有插件,完成整个系统的启动。The Plugin Manager (PluginManger) is a dynamic library. The Plugin Manager is the initiator of the operation of the entire plug-in system. It first calls the application portfolio manager to obtain the list of plug-ins contained in the current application portfolio, and then searches the specified plug-in directory. The plug-in is matched with the plug-in list of the application combination. After matching, the core dynamic library of the plug-in is called to install the corresponding plug-in into the plug-in framework, and then the configuration file (plugin.xml) of the plug-in is searched, and the extension point manager is called to parse the extension point. Then start all the plug-ins in sequence according to the plug-in dependencies to complete the startup of the entire system.

如图3所示,本发明实施例提供一种插件系统,上述实施例提供的插件框架处理模块1。As shown in FIG. 3 , an embodiment of the present invention provides a plug-in system, and the plug-in framework processing module 1 provided in the above embodiment.

可选的,如图3所示,还包括:应用组合开发模块2,用于生成应用组合。Optionally, as shown in FIG. 3 , it further includes: an application combination development module 2, configured to generate an application combination.

可选的,如图3所示,还包括:插件开发模块3,用于实现插件开发。Optionally, as shown in FIG. 3 , it also includes: a plug-in development module 3, configured to implement plug-in development.

本发明实施例的插件系统可以采用如图4所示的框架结构。The plug-in system of the embodiment of the present invention may adopt a frame structure as shown in FIG. 4 .

具体实现时,本发明实施例的插件系统具体包括:During specific implementation, the plug-in system of the embodiment of the present invention specifically includes:

1)动态模块(插件化)系统;1) Dynamic module (plug-in) system;

a.插件生命周期a. Plug-in life cycle

i.插件框架的启动与停止i. Start and stop of the plug-in framework

ii.插件发现,安装,启动,停止ii. Plug-in discovery, installation, start, stop

iii.插件的依赖性管理:插件启动时,根据依赖关系,顺序启动相关依赖的插件iii. Dependency management of plug-ins: when the plug-in is started, the related dependent plug-ins are started sequentially according to the dependencies

b.插件服务管理:b. Plug-in service management:

i.提供服务的注册,查询,调用,卸载i. Provide registration, query, invocation and uninstallation of services

c.插件事件管理插件c. Plug-in event management plug-in

i.插件事件定义,订阅,发送,事件处理i. Plug-in event definition, subscription, sending, event processing

d.扩展点管理插件d. Extension point management plug-in

i.扩展点格式定义i. Extension point format definition

ii.扩展点的搜索、解析和推送ii. Search, parse and push extension points

e.应用组合管理e. Application Portfolio Management

i.应用组合定义i. Application Portfolio Definition

ii.应用组合的读写ii. Application composition read and write

iii.应用组合的持久化iii. Persistence of Application Portfolio

iv.加载并解析应用组合配置文件iv. Load and parse application composition configuration files

v.加载并启动应用组合所对应的插件v. Load and start the plug-in corresponding to the application combination

f.配置管理f. Configuration management

i.插件及扩展点相关信息的持久化i. Persistence of information related to plug-ins and extension points

ii.提供全局的配置信息持久化接口ii. Provide a global configuration information persistence interface

2)插件开发向导;2) Plug-in development wizard;

通过向导方式,帮助系统维护和开发人员快速的创建和编辑系统业务插件,并通过配置步骤,完成插件信息的初始化以及模板代码的生成。它主要包括:Through the wizard mode, it helps system maintenance and developers to quickly create and edit system business plug-ins, and completes the initialization of plug-in information and the generation of template codes through configuration steps. It mainly includes:

a.插件基础信息编辑a. Plug-in basic information editing

b.插件扩展点信息编辑b. Plug-in extension point information editing

c.插件第三方支持模板代码生成c. The third-party plug-in supports template code generation

d.插件界面元素定义d. Definition of plug-in interface elements

通过使用开发向导,可以减少大量重复性的代码编程工作,提高工作效率的同时,减少了意外出错的可能性。By using the development wizard, you can reduce a lot of repetitive code programming work, improve work efficiency, and reduce the possibility of accidental errors.

3)应用组合定制工具;3) Application combination customization tools;

应用组合定制工具用于应用组合管理工作,包括应用组合的新建,编辑,删除,查询,发布等。Application portfolio customization tools are used for application portfolio management, including creating, editing, deleting, querying, publishing, etc. of application portfolios.

应用组合可浏览包含的所有插件的界面元素信息,由用户手工来添加到应用组合里来显示,并由用户补全/修改界面元素在这个应用组合中的相关信息。The application portfolio can browse the interface element information of all plug-ins included, which are manually added to the application portfolio by the user for display, and the user completes/modifies the relevant information of the interface elements in this application portfolio.

应用组合在添加完本应用组合的基础信息以后,点击界面布局,便可预览各种界面元素组合在一起的表现,在此界面用户可以通过拖拽的方式手动调整浮动面板的停靠位置,大小,停靠方式,工具栏的位置,保存后在最终软件运行时将会呈现同样的界面布局。After adding the basic information of the application combination, click the interface layout to preview the combination of various interface elements. In this interface, users can manually adjust the docking position and size of the floating panel by dragging and dropping. The docking method, the position of the toolbar, and after saving, the same interface layout will be presented when the final software is running.

用户创建好所需的应用组合后,点击发布应用组合按钮,进入应用组合发布界面,在此界面选择发布的路径,以及本次发布所包含的所有应用组合,点击发布,而在指定目录生成对应的应用程序,包含指定的应用组合以及应用组合所包含的所有插件(若插件有重复,只生成一份)。发布后的应用程序可独立运行。After the user has created the desired application portfolio, click the Publish Application Portfolio button to enter the application portfolio release interface, select the publishing path and all the application portfolios included in this release, click Publish, and generate the corresponding application portfolio in the specified directory. , including the specified application portfolio and all plug-ins included in the application portfolio (if there are duplicate plug-ins, only one copy will be generated). Published applications can run independently.

使用应用组合和应用组合界面定制机制,保证了软件界面定制与实现功能不依赖于专业编程能力,降低软件开发的复杂度和过程,提高了开发和维护(二次开发)难度。The use of application combination and application combination interface customization mechanism ensures that software interface customization and implementation functions do not depend on professional programming capabilities, reduces the complexity and process of software development, and increases the difficulty of development and maintenance (secondary development).

4)桌面风格主界面框架;4) Desktop-style main interface frame;

桌面风格主界面框架定义了桌面主界面的扩展点,实现程序运行的界面框架及相关全局设置。The desktop-style main interface framework defines the extension points of the desktop main interface, and implements the interface framework and related global settings for program operation.

桌面主界面插件定义Windows主窗口的界面扩展点,解析收到的界面扩展点信息,创建对应的界面元素和调用插件对应的接口来创建界面元素The desktop main interface plug-in defines the interface extension point of the Windows main window, parses the received interface extension point information, creates the corresponding interface element and calls the interface corresponding to the plug-in to create the interface element

主要功能:The main function:

a.主窗口的显示a. Display of the main window

b.中央视图的添加,位置及显隐管理b. Addition of central view, position and management of display and hiding

c.浮动窗口(面板)的添加,位置及显隐管理c. Addition, position and visibility management of floating windows (panels)

d.菜单的添加,位置及显隐管理(图标,浮动提示,初始选中状态(能否选中),初始使能状态)d. Addition of menus, location and visibility management (icons, floating prompts, initial selection status (selectable or not), initial enabling status)

e.工具栏的添加,位置及显隐管理(图标,浮动提示,初始选中状态(能否选中),初始使能状态)e. Toolbar addition, location and visibility management (icons, floating prompts, initial selection status (can be selected), initial enabling status)

f.状态栏的添加,位置及显隐管理f. Addition of status bar, position and hidden management

g.界面元素的消息传递g. Message passing of interface elements

5)平板风格主界面框架;5) Tablet style main interface frame;

平板风格主界面框架定义了平板主界面扩展点,实现程序运行的界面框架及相关全局设置。The tablet-style main interface framework defines the extension points of the tablet main interface, and implements the interface framework and related global settings for program operation.

平板主界面插件定义平板主窗口的界面扩展点,解析收到的界面扩展点信息,创建对应的界面元素和调用插件对应的接口来创建界面元素The tablet main interface plug-in defines the interface extension point of the tablet main window, parses the received interface extension point information, creates corresponding interface elements and calls the interface corresponding to the plug-in to create interface elements

主要功能:The main function:

a.主窗口的显示a. Display of the main window

b.子界面的显示b. Display of the sub-interface

c.工具栏按钮组切换和显示c. Toolbar button group switching and display

d.工具栏按钮位置与显隐管理d. Toolbar button position and visibility management

e.界面风格切换与显示(如九宫格模式、Metro模式、影院模式)e. Interface style switching and display (such as Jiugongge mode, Metro mode, theater mode)

f.页面导航机制f. Page navigation mechanism

g.界面元素的消息传递g. Message passing of interface elements

本发明实施例具有以下几大优势:Embodiments of the present invention have the following advantages:

跨平台:通过使用跨平台的开发框架Qt,保证了系统优良的跨平台性,用其开发的软件代码,只需要各平台编译,即可实现各平台正确运行。Cross-platform: By using the cross-platform development framework Qt, the excellent cross-platform performance of the system is guaranteed. The software code developed with it only needs to be compiled on each platform to realize the correct operation of each platform.

热插拔:本次开发采用了符合OSGi规范的插件化框架,并且在框架中实现了插件的管理器功能,对所有系统插件的生命周期进行管理,同时提供了注册,发现,加载、卸载、停止、激活、反激活系统插件和用户插件等相应的功能。保证了用户可以在不重启程序的情况下加载和停止插件。Hot-swapping: This development adopts a plug-in framework conforming to the OSGi specification, and implements the plug-in manager function in the framework to manage the life cycle of all system plug-ins, and provides registration, discovery, loading, unloading, Corresponding functions such as deactivating, activating, deactivating system plugins and user plugins. This ensures that users can load and stop plugins without restarting the program.

低耦合:本次开发的插件框架中,定义并且实现了一套扩展点机制,通过扩展点,插件与插件间形成了完整的插件网络。但对于定义扩展点的插件与实现扩展点的插件间并没有绝对的耦合性,扩展点的定义插件并不知道自己定义的扩展点由哪个或者哪几个插件实现,从来在保证了插件化网络的前提下,实现了低耦合性。Low coupling: In the plug-in framework developed this time, a set of extension point mechanism is defined and implemented. Through extension points, a complete plug-in network is formed between plug-ins. However, there is no absolute coupling between the plug-in that defines the extension point and the plug-in that implements the extension point. The extension point definition plug-in does not know which plug-in or several plug-ins implement the extension point it defines, and it has always guaranteed the plug-in network. Under the premise of achieving low coupling.

可扩展性:任何软件产品都是有生命周期的,作为程序的创造者,大家都不愿意看到其消亡的现实。因此应当尽量延长软件产品的生命周期,不断的将新的功能注入到现有的软件产品是一种手段。插件化的系统架构为扩展新功能提供了更好的方便性。因为新的功能以插件的形式给出时,是相对独立的,不影响整个系统框架和其它功能甚至是把扩展软件功能的能力提供给用户或第三方厂商,以达到最大限度的功能扩展。Scalability: Any software product has a life cycle. As the creator of the program, no one wants to see the reality of its demise. Therefore, the life cycle of software products should be extended as much as possible, and it is a means to continuously inject new functions into existing software products. The plug-in system architecture provides better convenience for extending new functions. Because new functions are provided in the form of plug-ins, they are relatively independent, and do not affect the entire system framework and other functions, and even provide the ability to expand software functions to users or third-party manufacturers to achieve maximum function expansion.

灵活界面定制:通过应用组合,可以对最终发布程序的界面进行灵活的定制。界面定制用户不需要专业编程知识,只需要理解最终用户需求,通过可视化的界面配置和拖拽,就可以最最终的插件化程序界面完成配置。并且应用组合中界面信息不影响应用组合中相关插件,即相同插件组,可以配置成为不同用户操作界面,但所有逻辑和控制,都使用的相同插件组。Flexible interface customization: Through application combination, the interface of the final release program can be flexibly customized. Interface customization Users do not need professional programming knowledge, they only need to understand the needs of end users, and through the visual interface configuration and drag and drop, the configuration can be completed on the final plug-in program interface. And the interface information in the application combination does not affect the related plug-ins in the application combination, that is, the same plug-in group can be configured as different user operation interfaces, but all logic and control use the same plug-in group.

便捷二次开发:本次开发提供了二次开发向导,帮助系统二次开发和维护人员快速的创建和修改系统各插件。大幅减少了用户的重复性代码工作,并且通过可视化的配置界面,完成相关插件网络以及扩展点创建编辑等,降低了二次开发的难度和避免了相关配置的纯文本编辑方式,减少了不可预期的错误可能。另外系统还提供了平板风格主界面插件,实现了包括:页面,工具栏,导航,动画,手势等在内的平板操作公共功能,便于用户在平板风格下进行快速的开发。Convenient secondary development: This development provides a secondary development wizard to help system secondary development and maintenance personnel quickly create and modify system plug-ins. It greatly reduces the user's repetitive code work, and through the visual configuration interface, completes the creation and editing of related plug-in networks and extension points, etc., which reduces the difficulty of secondary development and avoids the plain text editing of related configurations, reducing unpredictability error possible. In addition, the system also provides a tablet-style main interface plug-in, which realizes the common functions of tablet operations including: pages, toolbars, navigation, animation, gestures, etc., which is convenient for users to quickly develop in the tablet style.

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。The above is only an embodiment of the present invention, and does not limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technologies fields, all of which are equally included in the scope of patent protection of the present invention.

Claims (7)

1.一种插件框架处理模块,其特征在于,包括:插件核心器、扩展点管理器、应用组合管理器、插件管理器;1. A plug-in framework processing module, characterized in that, comprising: a plug-in core device, an extension point manager, an application combination manager, and a plug-in manager; 所述插件核心器,用于控制所述插件框架处理模块工作状态,控制插件的安装与卸载,控制插件消息订阅与发送;The plug-in core device is used to control the working status of the plug-in framework processing module, control the installation and uninstallation of plug-ins, and control the subscription and sending of plug-in messages; 所述扩展点管理器,用于提供插件扩展规范,使得多个插件相互通信;The extension point manager is used to provide a plug-in extension specification, so that multiple plug-ins can communicate with each other; 应用组合管理器,定义应用组合数据结构并进行应用组合的管理;The application portfolio manager defines the data structure of the application portfolio and manages the application portfolio; 插件管理器用于调用应用组合管理器,根据当前应用组合启动所有插件;The plug-in manager is used to call the application combination manager to start all plug-ins according to the current application combination; 所述插件框架处理模块内核是QT。The core of the plug-in framework processing module is QT. 2.根据权利要求1所述的模块,其特征在于,所述插件管理器具体用于,调用应用组合管理器,得到当前应用组合所包含的插件列表,搜索指定的插件目录,对搜索到的插件与应用组合的插件列表进行匹配,匹配后调用插件核心动态库安装对应的插件到插件框架处理模块,搜索该插件的配置文件,调用扩展点管理器解析其中的扩展点,按照插件依赖关系依次启动所有插件。2. The module according to claim 1, wherein the plug-in manager is specifically used to call the application combination manager to obtain the list of plug-ins contained in the current application combination, search for the specified plug-in directory, and search for the searched The plug-in is matched with the plug-in list of the application combination, and after matching, the plug-in core dynamic library is called to install the corresponding plug-in to the plug-in framework processing module, the configuration file of the plug-in is searched, and the extension point manager is called to parse the extension points in it, and the plug-in dependencies are followed in order Start all plugins. 3.根据权利要求1所述的模块,其特征在于,所述插件核心器通过应用程序编程接口API与插件进行通信。3. The module according to claim 1, wherein the plug-in core communicates with the plug-in through an application programming interface (API). 4.根据权利要求3所述的模块,其特征在于,所述API使用static函数。4. The module according to claim 3, wherein the API uses a static function. 5.一种插件系统,其特征在于,包括如权利要求1至4中任一项所述的插件框架处理模块。5. A plug-in system, comprising the plug-in framework processing module according to any one of claims 1 to 4. 6.根据权利要求5所述的系统,其特征在于,还包括:应用组合开发模块,用于生成应用组合。6. The system according to claim 5, further comprising: an application combination development module, configured to generate an application combination. 7.根据权利要求6所述的系统,其特征在于,还包括:插件开发模块,用于实现插件开发。7. The system according to claim 6, further comprising: a plug-in development module, configured to implement plug-in development.
CN201410081113.9A 2014-03-06 2014-03-06 Plugin frame processing device and plugin system Expired - Fee Related CN103927163B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410081113.9A CN103927163B (en) 2014-03-06 2014-03-06 Plugin frame processing device and plugin system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410081113.9A CN103927163B (en) 2014-03-06 2014-03-06 Plugin frame processing device and plugin system

Publications (2)

Publication Number Publication Date
CN103927163A CN103927163A (en) 2014-07-16
CN103927163B true CN103927163B (en) 2017-05-17

Family

ID=51145395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410081113.9A Expired - Fee Related CN103927163B (en) 2014-03-06 2014-03-06 Plugin frame processing device and plugin system

Country Status (1)

Country Link
CN (1) CN103927163B (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298511B (en) * 2014-10-10 2018-08-03 王钟 Realize the method and system of the long-range plug-in unit of networking
CN104618142B (en) * 2014-12-30 2017-07-07 北京奇安信科技有限公司 News subscribing method, treatment node device and bus apparatus
CN104657142A (en) * 2015-02-12 2015-05-27 中国科学院计算机网络信息中心 CCFD (China Computational Fluid Dynamics) system based on OSGi (Open Service Gateway Initiative) technology
US20170060650A1 (en) * 2015-08-28 2017-03-02 Ncr Corporation Dynamic service extensibility
CN105847026A (en) * 2015-11-28 2016-08-10 成都广达新网科技股份有限公司 Method for extending functions of network management system based on extension points
CN107589970B (en) * 2016-07-08 2021-07-09 深圳联友科技有限公司 Plug-in calling method and device
CN106502757A (en) * 2016-12-27 2017-03-15 北京恒华伟业科技股份有限公司 A kind of plug-in management method and device
CN107677301B (en) * 2017-10-10 2019-11-05 四川国信慧通电气技术有限公司 Monitoring device detection method and device
CN108228369B (en) * 2018-01-19 2020-08-07 北京邮电大学 JSON tree-based visual API combination system and method
CN108446141B (en) * 2018-02-28 2021-01-12 武汉智博创享科技股份有限公司 Web front-end plug-in and method for scheduling and communicating based on same
CN108595221B (en) * 2018-04-26 2021-04-06 Oppo广东移动通信有限公司 Plug-in loading method, device, server and storage medium for PaaS platform
CN109697067A (en) * 2018-11-19 2019-04-30 北京奇虎科技有限公司 Data packing method and device
CN109725952B (en) * 2019-01-07 2021-09-24 深圳市网心科技有限公司 A method, system and related device for application plug-in
CN112445497B (en) * 2020-11-25 2022-12-27 中国电子科技集团公司第五十四研究所 Remote sensing image processing system based on plug-in extensible architecture
CN113157335B (en) * 2021-03-31 2023-06-06 北京临近空间飞行器系统工程研究所 Software system design method of extensible plug-in architecture
CN113360214A (en) * 2021-06-30 2021-09-07 展讯通信(天津)有限公司 Dynamic plugging method and system for application program functional module
CN113867840B (en) * 2021-09-29 2023-06-13 四川长虹电器股份有限公司 Smart television WEB NATIVE plug-in frame and construction method
CN114356468A (en) * 2021-11-24 2022-04-15 上海欣兆阳信息科技有限公司 User interface integration system and protocol-based user interface access mode in integration thereof
CN117170771B (en) * 2023-11-01 2024-02-13 中国电子科技集团公司第十五研究所 A plug-in development method and system for multiple data transmission

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092645A (en) * 2012-12-31 2013-05-08 武汉中地数码科技有限公司 Geographic spatial information application system and implement method thereof based on microkernel technology

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377796B (en) * 2010-08-05 2015-06-10 中国人民解放军国防科学技术大学 Heterogeneous service integrating system and method based on OSGi (open service gateway initiative)

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092645A (en) * 2012-12-31 2013-05-08 武汉中地数码科技有限公司 Geographic spatial information application system and implement method thereof based on microkernel technology

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Eclipse RCP框架分析和应用研究;袁赟;《中国优秀硕士学位论文全文数据库信息科技辑》;20080715(第07期);第6页第2.1章第4段,第8页第2.2.1章第1-3段,第2.2章第5段 *

Also Published As

Publication number Publication date
CN103927163A (en) 2014-07-16

Similar Documents

Publication Publication Date Title
CN103927163B (en) Plugin frame processing device and plugin system
US9258668B2 (en) Mobile application framework extensibiilty
US7917888B2 (en) System and method for building multi-modal and multi-channel applications
US9830135B2 (en) Declarative and pluggable business logic for systems management
KR100986415B1 (en) Application of the data-binding mechanism to perform command binding
US9081579B2 (en) System and method for mobile application development
CN101310271B (en) Interface for productivity suite applications and the host's user interface
US20150220308A1 (en) Model-based development
CN110716720A (en) A method and apparatus for implementing application hot deployment
WO2009100156A1 (en) Automatic connections between application components
CN114651233A (en) Instant container
JP2006209759A (en) Method and system for digital device menu editor
US7890930B2 (en) Method and system for allowing an eclipse feature to create/remove/update program groups and shortcuts, via an eclipse install handler
US20150220330A1 (en) Template derivation for configuration object management
US20160313958A1 (en) Cross-platform command extensibility
US20110126171A1 (en) Dynamic native editor code view facade
CN101814032A (en) Resource encapsulation method utilizing Delphi resource file to generate Windows application program
TWI467481B (en) Method, system, and computer program product for hierarchical program source management
US10514940B2 (en) Virtual application package reconstruction
CN112631563A (en) System development method and device based on framework, computer equipment and storage medium
Botturi et al. Model-driven design for the development of multi-platform smartphone applications
JP6002302B2 (en) Web application generation system, Web application generation system control method, Web application generation system program, Web application generation device, Web application generation device control method, and Web application generation device program
US20210271458A1 (en) Managing an app method and system
US8719704B2 (en) Seamless integration of additional functionality into enterprise software without customization or apparent alteration of same
Song et al. Applying MDE tools at runtime: Experiments upon runtime models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170517