CN100389386C - 一种软件组件系统 - Google Patents
一种软件组件系统 Download PDFInfo
- Publication number
- CN100389386C CN100389386C CNB2006100013204A CN200610001320A CN100389386C CN 100389386 C CN100389386 C CN 100389386C CN B2006100013204 A CNB2006100013204 A CN B2006100013204A CN 200610001320 A CN200610001320 A CN 200610001320A CN 100389386 C CN100389386 C CN 100389386C
- Authority
- CN
- China
- Prior art keywords
- assembly
- component
- module
- inlet
- interface
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及通信技术领域中一种软件组件系统,其包括功能组件、业务组件、入口模块、配置文件及应用程序;所述各组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;所述的应用程序是整个程序的入口,与入口模块交互。由于该方案与操作系统无关,因此可以跨平台使用,另外,通过增加相应的接口实现扩展组件功能,可扩展性强,且本组件系统机制简单,易于实现及学习、使用。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种软件组件系统。
背景技术
随着IT技术的不断发展,人们对软件的功能、性能、安全性等提出了更高的需求,导致软件的规模和复杂度日益增大,也给软件的开发带来了困难与挑战。
针对这种情况,人们提出了各种技术与方案。如面向对象技术、组件技术、构件技术、中间件技术、SOA技术等。各种技术都有其实现方案,如面向对象技术的方案则有:C++、Java、C#等;组件技术有COM、JavaBean等。
其中的组件技术是一种使用得非常广泛的技术,它通过将软件组件化来分解软件,从而降低软件的复杂度。
COM就是当前提出的一种组件技术。它定义了一系列的标准接口,分别提供一些能力,实现了某些接口就具有了相应的能力。它将组件的信息记录到操作系统的注册表当中,也将一些跟COM组件相关的操作和机制封装成API(应用程序接口),内嵌到操作系统之中。用户只要按照COM的标准编写出组件就可以在支持COM的操作系统上运行。通过接口机制可以降低,甚至消除COM组件之间的耦合性,从而达到将软件模块化,降低软件复杂度的目的。
但是,在上述COM方案中由于使用了太多与操作系统相关的东西,如注册表、内嵌于操作系统中COM的支持库等,所以该技术依赖于操作系统的支持,无法跨平台,而且机制过于复杂,使用不够简便。
发明内容
本发明的目的在于提供一种软件组件系统,各组件的功能以接口的方式提供,通过入口模块访问各功能组件和业务组件,使该软件的组件方案可以跨平台使用,可扩展性强。
本发明的目的是通过以下技术方案实现的:
一种软件组件系统,包括功能组件、业务组件、入口模块、配置文件及应用程序;所述功能组件为完成呼叫业务的基本功能单元;
所述业务组件为将一些所述的功能组件关联在一起,完成一种呼叫业务的组件,通过组合各功能组件,将所述各功能组件的功能揉合在一起,使各功能组件间可以间接交互,以实现复杂的功能;
所述功能组件及业务组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;所述的应用程序是整个程序的入口,与入口模块交互。
所述功能组件为多个,相互之间不发生直接交互,在功能层面上实现复用。
所述业务组件是将多个功能组件关联在一起,实现可以被用户使用的一种业务,并在业务层面上实现复用。
所述业务组件包含界面时,向外仅提供与界面显示有关的接口。
为扩展使用各功能组件或业务组件,为所述组件增加相应的接口,内部增添相应要增加该接口对应的信息。
将多个功能组件和/或业务组件放置于一个模块中,向外提供多个组件入口,各组件入口分别对应各组件的接口;或只提供一个组件入口,通过该一个组件入口返回一个管理接口,再通过管理接口获得各组件的接口。
所述入口模块向外提供一个总的访问各组件的入口,用于从配置文件获取组件信息,从而实现寻找组件、加载组件、创建组件和/或卸载组件。
所述配置文件用于记录各功能组件或业务组件信息供入口模块使用。
所述配置文件中记录的组件信息包括:组件标识、组件的位置、访问组件的入口。
所述应用程序是整个程序的入口,只与入口模块交互,通过入口模块的入口来获得各组件类接口,再通过类接口来使用各组件的功能。
由上述本发明提供的技术方案可以看出,本发明将各组件功能以接口的方式提供,通过入口模块访问所有组件,由于该方案与操作系统无关,可以跨平台使用;该方案通过增加相应的接口实现扩展组件功能,可扩展性强,且本组件系统机制简单,易于实现及学习、使用。
附图说明
图1为本发明一种实施例组件系统示意图。
具体实施方式
本发明的核心思想是提供一种软件组件系统,将组件的功能以接口的方式提供,通过入口模块访问所有组件,入口模块只需获取配置文件的位置,与具体的组件分离出来,可以跨平台使用、机制简单,易于实现及使用,可扩展性强。
本发明提供一种软件组件系统,其一种实施例如图1所示,该组件系统至少包括功能组件、业务组件、入口模块、配置文件及应用程序;
所述功能组件由基本的功能组件组成,用于实现基本的功能,以一种“呼叫”的业务为例,该业务包含“电话簿”、“呼叫记录”和“呼叫”功能,这些就属于基本功能,可以组成功能组件。功能组件之间不存在直接的交互,功能比较独立,可复用性好;
所述的业务组件是较上层的组件,是将一些功能组件关联在一起,从而实现可以被用户使用的一种业务。例如,在上例中将所述功能组件有机组合在一起,就可以构成“呼叫”业务组件。业务组件一般要利用功能组件来实现其功能,也就是调用功能组件的功能来实现其业务,而业务组件只是用于做封装和信息的整合等操作。
在业务组件中,除了各功能组件本身的功能外,业务组件还需要利用这些功能组件实现以下功能:如上例,从电话簿发起呼叫、呼叫时生成呼叫记录、将呼叫记录中的号码保存到电话簿等功能,这些都是需要配合才能实现的功能。
所述各功能组件之间相互独立,在业务组件中可以进行配合使用,完成间接交互,这样功能组件可以在功能层面上实现复用,而业务组件可以在业务层面上实现复用。一个软件如果需要“呼叫”业务,则可以直接使用该业务组件来实现,若只需要使用电话簿功能,则可以将电话簿功能组件进行复用,通过和其它功能组件配合形成新的业务组件。
业务组件中可以包含界面,此时只需向外提供与界面显示有关的接口,由于具有界面,内部功能可以自动运转;也可以不包含界面,则需要将其提供的功能都以接口的方式与外界交互,这样使各业务独立,使主程序的逻辑非常简单;
为扩展使用各功能组件或业务组件,可以为所述组件增加相应的接口,如增加一个获取组件信息的接口,通过该接口获取组件的相关信息,包括组件标识、组件的入口,在windows系统中表现为dll的导出函数,配合一个可以读写配置文件的应用程序,可以实现组件的自动注册,即,将组件的信息登记到配置文件中,及注销,即,将组件的信息从配置文件中删除;
相应的也可以增加组件的相关信息,如可以增加一个组件版本号信息,并且可以通过“获取组件信息”接口取得该信息,这样就可以为组件的自动升级提供万便;
为便于管理,可以将多个小型组件放置于一个模块中。可以通过两种方式实现:
1)在该模块中提供多个组件入口;
2)只提供一个组件入口函数,但是通过该入口返回一个管理接口,再通过管理接口获得各组件的接口;
所述的入口模块是访问各组件的入口,用于从配置文件中获取组件信息,具有寻找组件、加载组件、创建组件和卸载组件等功能;其向外提供一个总的访问各组件的入口,调用者只要传入一个组件标识,该入口模块会从配置文件中找到该组件标识对应的组件信息,从而知道组件路径和组件入口,根据这些信息,可以发现并加载组件模块,再调用组件入口,从而创建并得到该组件的功能接口。
所述的配置文件用于记录各组件的信息,供入口模块使用,其中记录的组件相关信息包括但不限于:组件标识、组件的位置,即组件路径、访问组件的入口;在windows系统中,若组件以dll的方式组织,则该入口为dll的导出函数,并可以通过该函数获得组件的类接口指针;
所述的应用程序是整个程序的入口,只与入口模块交互,通过入口模块的入口来获得各组件类接口,再通过类接口来使用各组件的功能,一般应用程序只使用业务组件的接口,即,只使用比较高层的服务;所述应用程序一般只包含界面部分,在windows中指的是exe文件,本实施例中只包含界面系统部分。它通过组合各业务组件来获得业务功能。
所述组件系统的工作原理为:
以“呼叫”的业务为例,通过呼叫业务组件实现,应用程序通过入口模块获取呼叫业务组件接口,并通过调用该接口将呼叫业务的界面加入到应用程序的界面系统中,则该应用程序就具有了“呼叫”的业务功能。
以通过“呼叫业务组件”中的电话簿界面发起呼叫为例:呼叫业务组件通过入口模块获取电话簿、呼叫、呼叫记录等功能组件的接口,先调用电话簿组件功能获取电话号码,再调用呼叫组件功能发起呼叫。
所述呼叫业务组件可以包括如下功能组件:电话簿组件、呼叫组件、呼叫记录组件等功能组件,其中电话簿组件提供电话簿组件功能接口,具有获得记录总数、通过索引获取电话号码等功能;呼叫组件提供呼叫组件功能接口,具有通过电话号码发起呼叫等功能;呼叫记录组件提供呼叫记录组件功能接口,具有添加呼叫记录,删除呼叫记录,查询呼叫记录等功能。
通过组合各功能组件,业务组件将各功能组件中的功能揉合在一起,使各功能组件间可以进行间接交互,以实现更复杂的功能。如呼叫业务组件除了具有各功能组件本身的功能之外,还具有从电话簿中发起呼叫,呼叫时会自动记录呼叫记录等功能;而且加上界面之后,业务组件可以自成一体,所有功能在其内部实现,应用程序只要将业务组件加载并显示出来,它就具有了该业务功能,而不用关心该业务功能的具体逻辑关系。
综上所述,本发明建立了一种软件组件系统,将各组件功能以接口的方式提供,通过入口模块访问所有组件,由于该方案与操作系统无关,可以跨平台使用;该方案通过增加相应的接口实现扩展组件功能,可扩展性强,且本组件系统机制简单,易于实现及学习使用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种软件组件系统,其特征在于,包括功能组件、业务组件、入口模块、配置文件及应用程序;
所述功能组件为完成呼叫业务的基本功能单元;
所述业务组件为将一些所述的功能组件关联在一起,完成一种呼叫业务的组件,通过组合各功能组件,将所述各功能组件的功能揉合在一起,使各功能组件间可以间接交互,以实现复杂的功能;
所述功能组件及业务组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;
所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;
所述的应用程序是整个程序的入口,与入口模块交互。
2.如权利要求1所述的一种软件组件系统,其特征在于,所述功能组件为多个,相互之间不发生直接交互,在功能层面上实现复用。
3.如权利要求1或2所述的一种软件组件系统,其特征在于,所述业务组件是将多个功能组件关联在一起,实现可以被用户使用的一种业务,并在业务层面上实现复用。
4.如权利要求1所述的一种软件组件系统,其特征在于,所述业务组件包含界面时,向外仅提供与界面显示有关的接口。
5.如权利要求1所述的一种软件组件系统,其特征在于,为扩展使用各功能组件或业务组件,为所述组件增加相应的接口,内部增添相应要增加该接口对应的信息。
6.如权利要求1所述的一种软件组件系统,其特征在于,将多个功能组件和/或业务组件放置于一个模块中,向外提供多个组件入口,各组件入口分别对应各组件的接口;或只提供一个组件入口,通过该一个组件入口返回一个管理接口,再通过管理接口获得各组件的接口。
7.如权利要求1所述的一种软件组件系统,其特征在于,所述入口模块向外提供一个总的访问各组件的入口,用于从配置文件获取组件信息,从而实现寻找组件、加载组件、创建组件和/或卸载组件。
8.如权利要求1所述的一种软件组件系统,其特征在于,所述配置文件用于记录各功能组件或业务组件信息供入口模块使用。
9.如权利要求8所述的一种软件组件系统,其特征在于,所述配置文件中记录的组件信息包括:组件标识、组件的位置、访问组件的入口。
10.如权利要求1所述的一种软件组件系统,其特征在于,所述应用程序是整个程序的入口,与入口模块交互,通过入口模块的入口来获得各组件类接口,再通过类接口来使用各组件的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100013204A CN100389386C (zh) | 2006-01-17 | 2006-01-17 | 一种软件组件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100013204A CN100389386C (zh) | 2006-01-17 | 2006-01-17 | 一种软件组件系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1866204A CN1866204A (zh) | 2006-11-22 |
CN100389386C true CN100389386C (zh) | 2008-05-21 |
Family
ID=37425232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100013204A Expired - Fee Related CN100389386C (zh) | 2006-01-17 | 2006-01-17 | 一种软件组件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100389386C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186374A (zh) * | 2011-12-30 | 2013-07-03 | 鼎捷软件股份有限公司 | 一种软件系统功能划分及组合的方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593111B (zh) * | 2009-05-31 | 2012-10-03 | 大连新中连软件集团有限公司 | 一种业务组件及基于业务组件的应用软件开发方法和系统 |
CN101710279B (zh) * | 2009-12-01 | 2013-07-31 | 中国建设银行股份有限公司 | 一种it系统中管理软件模块的方法和装置 |
US8713517B2 (en) * | 2011-07-21 | 2014-04-29 | Lam Research Corporation | Data architecture and user interface for plasma processing related software applications |
CN102854853A (zh) * | 2012-08-13 | 2013-01-02 | 北京和利时系统工程有限公司 | 一种跨平台轻量级的分布式控制系统 |
CN103036985B (zh) * | 2012-12-14 | 2015-11-18 | 崔红保 | 一种基于流应用的资源下载方法和装置 |
CN104038796A (zh) * | 2014-05-20 | 2014-09-10 | 江苏银河电子股份有限公司 | 基于智能机顶盒的组件对象模型的构建方法 |
CN104202331B (zh) * | 2014-09-15 | 2018-01-02 | 北京奇虎科技有限公司 | 客户端功能的生成方法和装置 |
CN104572091B (zh) * | 2014-12-25 | 2017-11-03 | 百度在线网络技术(北京)有限公司 | 应用软件实现方法、装置以及计算机设备 |
CN104731619A (zh) * | 2015-03-26 | 2015-06-24 | 杭州初灵信息技术股份有限公司 | 一种ice中加载c#应用组件的方法和系统 |
CN105893045A (zh) * | 2016-03-31 | 2016-08-24 | 金电技术开发中心 | 一种业务组件加载方法、装置及业务组件运行系统 |
CN107145353A (zh) * | 2017-05-05 | 2017-09-08 | 武汉斗鱼网络科技有限公司 | 软件框架及软件框架设计方法 |
CN108897610B (zh) * | 2018-06-15 | 2024-04-12 | 北京兴盛公科技有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN109587280A (zh) * | 2019-01-21 | 2019-04-05 | 山东达创网络科技股份有限公司 | 一种业务流程管理方法及装置 |
CN109976853A (zh) * | 2019-03-19 | 2019-07-05 | 西北工业大学 | 一种工业机器人组件化人机交互系统的软件架构 |
CN111459475B (zh) * | 2020-03-30 | 2023-05-16 | 北京三快在线科技有限公司 | 接口调用方法、接口对接配置方法、装置、设备及介质 |
CN112068898B (zh) * | 2020-09-01 | 2024-04-19 | 上海熙菱信息技术有限公司 | 一种可配置插件式服务集成系统及方法 |
CN112559027A (zh) * | 2020-12-23 | 2021-03-26 | 平安银行股份有限公司 | 功能组件的创建与管理方法、系统、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405364B1 (en) * | 1999-08-31 | 2002-06-11 | Accenture Llp | Building techniques in a development architecture framework |
CN1658156A (zh) * | 2004-02-18 | 2005-08-24 | 富士通株式会社 | 程序及其构造方法、存储介质、程序构造系统及终端设备 |
-
2006
- 2006-01-17 CN CNB2006100013204A patent/CN100389386C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6405364B1 (en) * | 1999-08-31 | 2002-06-11 | Accenture Llp | Building techniques in a development architecture framework |
CN1658156A (zh) * | 2004-02-18 | 2005-08-24 | 富士通株式会社 | 程序及其构造方法、存储介质、程序构造系统及终端设备 |
Non-Patent Citations (4)
Title |
---|
分布式组件在配送系统中的应用研究. 薛永刚.中国优秀博硕士学位论文全文数据库. 2003 |
分布式组件在配送系统中的应用研究. 薛永刚.中国优秀博硕士学位论文全文数据库. 2003 * |
基于面向服务体系架构的敏捷虚拟企业信息系统框架. 张明宝,夏安邦.计算机集成制造系统,第10卷第8期. 2004 |
基于面向服务体系架构的敏捷虚拟企业信息系统框架. 张明宝,夏安邦.计算机集成制造系统,第10卷第8期. 2004 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186374A (zh) * | 2011-12-30 | 2013-07-03 | 鼎捷软件股份有限公司 | 一种软件系统功能划分及组合的方法 |
CN103186374B (zh) * | 2011-12-30 | 2016-06-01 | 鼎捷软件股份有限公司 | 一种软件系统功能划分及组合的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1866204A (zh) | 2006-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100389386C (zh) | 一种软件组件系统 | |
CN100487649C (zh) | 一种组件间调用方法 | |
CN100511132C (zh) | 一种布局和访问用户界面组件的方法和系统 | |
CN100430931C (zh) | 非时间相关的数据库同步 | |
CN100409215C (zh) | 对个性化数据库与外部用户数据库的透明访问的方法 | |
CN103902634B (zh) | 利用Adapter实现View组件与数据库字段自动绑定的方法 | |
CN102541996B (zh) | 一种基于jdbc的数据访问层构建方法及装置 | |
CN110134668B (zh) | 应用于区块链的数据迁移方法、装置和设备 | |
CN102037446A (zh) | 基于动态集合属性的计算机编程语言方法 | |
CN101248416A (zh) | 组件架构 | |
CN104298512A (zh) | 一种基于OSGi标准的功能组件式集成开发系统 | |
CN107741851A (zh) | 编译系统的编译方法、装置及终端设备 | |
SE9901588D0 (sv) | Telecommunications network resource handler | |
CN101788906A (zh) | 资源管理方法和系统 | |
CN111309454B (zh) | 微服务架构下实现服务编排数据上下文共享与管理控制的方法及其系统 | |
CN104915412A (zh) | 一种动态管理数据库连接的方法及系统 | |
CN102567081B (zh) | 基于多进程的全局设置方法及系统 | |
CN103186386A (zh) | 应用加载方法及系统 | |
CN101404797A (zh) | 长短消息的存储方法、存储管理装置以及存储系统 | |
CN106843895B (zh) | 用于处理请求的方法、系统和可读存储介质 | |
Ostermann et al. | Independent Extensibility–an open challenge for AspectJ and Hyper/J | |
CN108595160B (zh) | Js调用原生对象的方法、存储介质 | |
CN105224340A (zh) | 业务单据注入附件管理的方法与系统 | |
CN101944209A (zh) | 元数据定制方法和装置 | |
CN102456023A (zh) | 一种查找用户信息的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
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: 20080521 Termination date: 20180117 |