一种软件组件系统技术方案

技术编号:2847766 阅读:181 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及软件技术领域中一种软件组件架构,其包括功能组件、业务组件、入口模块、配置文件及应用程序;所述各组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;所述的应用程序是整个程序的入口,与入口模块交互。由于该方案与操作系统无关,因此可以跨平台使用,另外,通过增加相应的接口实现扩展组件功能,可扩展性强,且本组件架构机制简单,易于实现及学习、使用。

【技术实现步骤摘要】

本专利技术涉及软件
,尤其涉及一种软件组件架构。
技术介绍
随着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文件,本实施例中只包含界面架构部分。它通过组合各业务组件来获得业务功能。所述组件架构的工作原理为以“呼叫”的业务为例,通过呼叫业务组件实现,应用程序通过入口模块获取呼叫业务组件接口,并通过本文档来自技高网...

【技术保护点】
一种软件组件架构,其特征在于,包括功能组件、业务组件、入口模块、配置文件及应用程序;所述各组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;所述的应用程序是整个程序的入口,与入口模块交互。

【技术特征摘要】
1.一种软件组件架构,其特征在于,包括功能组件、业务组件、入口模块、配置文件及应用程序;所述各组件的功能以接口的方式提供给入口模块,各设备通过入口模块访问各组件;所述的配置文件与入口模块连接,用于记录各组件的信息供入口模块使用;所述的应用程序是整个程序的入口,与入口模块交互。2.如权利要求1所述的一种软件组件架构,其特征在于,所述功能组件为多个,相互之间不发生直接交互,在功能层面上实现复用。3.如权利要求1或2所述的一种软件组件架构,其特征在于,所述业务组件是将多个功能组件关联在一起,实现可以被用户使用的一种业务,并在业务层面上实现复用。4.如权利要求1所述的一种软件组件架构,其特征在于,所述业务组件包含界面时,向外仅提供与界面显示有关的接口。5.如权利要求1所述的一种软件组件架构,其特征在于,为扩展使用各功能组件或业务组件,为所述组件增加相应的接口,内部增添相应要增加该接口对应的信息。6.如权利要求1所述的一种软...

【专利技术属性】
技术研发人员:纪大胜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1