一种业务管理平台的制作方法_2

文档序号:8383715阅读:来源:国知局
所具备的各已有客户端组件,通过所述基础模块112提供的客户端二次开发接口所构建的满足用户需求的客户端组件也为基于OSGI框架的客户端组件,并且,所构建的满足用户需求的客户端组件可以为客户端通用组件以及客户端业务组件中的一种或多种,本发明实施例对此不作任何限定。
[0027]进一步地,在本发明所述实施例中,由于各客户端组件均基于OSGI框架之上,即各客户端组件均是在OSGI框架上进行开发的,每一个组件不能被其他组件访问到,因此,各客户端组件之间需要利用OSGI框架提供的组件间交互方式进行交互、不能直接操作其他客户端组件创建的对象,使得各客户端组件间真正实现了低耦合,以达到避免高耦合模块代码的出现、进而达到提高平台开发资源的可复用性的目的。
[0028]具体地,在本发明所述实施例中,各客户端组件之间可通过OSGI框架提供的服务注册机制或包引用机制进行交互。其中,所述包引用机制是通过定义组件的Import-Package和Export-Package实现的。例如,假设组件A要访问组件B的Class B,则组件B可以将Class B所在的包Package B导出,作为Export-Package,并在组件A中的Import-Package中加入Package B,则组件A可以访问Package B中的类Class B。但是,由于在采用包引用机制进行组件间交互时,组件和组件间的包依赖关系是预先设定的,无法在程序运行时动态地替换,因此,程序灵活性并不高。
[0029]而当组件间采用服务注册机制来进行交互、并仍假设组件A要访问组件B的ClassB时,只要Class B向服务管理框架注册成为Class B Service,则当组件A要调用ClassB时,可向服务管理框架进行Class B Service的搜索,并由服务管理框架将所有注册了Class B Service的实例返回给A来实现组件间的相互调用。这种交互方式的优势在于,在程序运行过程中,如果要用组件C替代组件B的功能,只需将组件C也注册成为Class BService,并安装到系统中,卸载掉组件B,则此时组件A所获取到的Class B Service实例实际上即为组件C的实例,从而实现了在程序运行过程中动态地改变程序的行为的效果,提高了程序的灵活性。
[0030]进一步地,在本发明所述实施例中,所述基础模块112所提供的用于进行客户端组件二次开发的至少一个客户端二次开发接口可具备较为适合客户端11的编码规范,用户只需按照该规范进行客户端组件代码的编写,就可以很容易地将所编写的客户端组件代码集成到客户端基础框架之上,达到不断扩展客户端功能的效果;其中,进行客户端组件代码的编写时,可采用SWT或Swing等程序开发语言,本发明实施例对此不作任何限定。
[0031 ] 进一步地,在本发明所述实施例中,所述基础模块112还可用于提供至少一个用于进行用户权限二次开发的权限二次开发接口,通过加载用户通过所述权限二次开发接口编写的权限组件代码以构建与所述用户二次开发的客户端组件所需要的用户权限相匹配的权限组件,并通过二次开发的权限组件对二次开发的客户端组件进行相应的权限管理,从而使得平台开发者或是其他具备开发行业需求的第三方开发者在扩展了自己的客户端组件之后,可根据构建的与所述扩展的客户端组件所需要的用户权限相匹配的权限组件,对所述客户端组件进行相应的管理操作。
[0032]具体地,当所述基础模块112所提供的用于进行用户权限二次开发的权限二次开发接口为多个时,各权限二次开发接口可分别对应不同的用户权限,本发明实施例对此不作任何限定。
[0033]进一步地,所述基础模块112所构建的各权限组件可基于同一权限框架,不管是平台开发者或是其他具备开发行业需求的第三方开发者,均可以在扩展了自己的客户端组件之后,设计好自己的权限组件并且在客户端组件安装的时候把权限组件数据插入到数据库当中,以达到为扩展的新的客户端组件提供统一的权限设置界面的目的。
[0034]进一步地,在本发明所述实施例中,所述服务器12通常可以包括基础框架(framework)模块121、数据传送(outprocess)模块122以及基础组件模块123,其中,所述基础组件模块123包括至少一个根据各服务器功能构建的服务器组件;所述数据传送模块122用于实现各服务器组件之间的通信连接,其中,进行通信的任意两个或多个服务器组件可为位于同一服务器中的服务器组件或位于不同服务器中的服务器组件,本发明实施例对此不作任何限定;所述基础框架模块121用于加载各服务器组件,并提供至少一个用于进行服务器组件二次开发的服务器二次开发接口,通过加载用户通过所述服务器二次开发接口编写的服务器组件代码以构建满足用户需求的服务器组件,从而可达到根据用户需求灵活扩展服务器的目的。
[0035]需要说明的是,通过所述服务器二次开发接口所扩展的各扩展服务器可按照系统给出的协议自动注册到所述业务管理平台中的核心服务器上,并由所述核心服务器统一管理,本发明实施例对此不作赘述。
[0036]进一步地,所述基础框架模块121还用于提供至少一个用于进行设备扩充的设备二次扩充接口,通过所述设备二次扩充接口以将与所述服务器相关联的扩展设备扩充到所述业务管理平台。由于业务管理平台中的各客户端11的功能组件可以自由扩展,此时,各客户端11只需要对扩展设备的状态进行订阅就可以自动接收到各扩展设备的信息,从而方便地接入各种不同行业设备当中。
[0037]进一步地,在本发明所述实施例中,所述数据传送模块122还可用于提供至少一个用于进行传输协议二次开发的协议二次开发接口,通过加载用户通过所述协议二次开发接口编写的协议组件代码以构建用于对用户所需求的传输协议进行编解码的协议组件,从而可达到平台协议组件的灵活扩充,进而可达到平台与其他系统或设备的良好对接的目的。
[0038]具体地,当所述数据传送模块122所提供的用于进行传输协议二次开发的协议二次开发接口为多个时,任意两个协议二次开发接口所对应的传输协议可互不相同,其中,所述传输协议可以为HTTP (Hyper Text Transfer Protocol,超文本传输协议)协议、SIP(Sess1n Initiat1n Protocol,会话初始化协议)协议或基于SIP协议所扩展的其他协议等,本发明实施例对此不作任何限定;再有,所述数据传送模块122所开发的各协议组件可被所述业务管理平台中的协议管理器统一加载并管理,本发明实施例对此也不作任何限定。
[0039]进一步地,在本发明所述实施例中,所述业务管理平台还可以包括SDK模块13,其中:
[0040]所述SDK模块13可用于实现所述客户端11与所述服务器12之间的通信连接;具体地,所述SDK模块13可用于提供多组用于实现所述客户端11与所述服务器12之间的通信连接的通信数据或通信组件,以实现所述客户端11与所述服务器12之间的通信连接。
[0041]具体地,所述SDK模块13可以包括私有子模块131以及通用子模块132,其中:
[0042]所述私有子模块131可用于实现任一已有客户端组件与任一已有服务器组件之间的通信连接;
[0043]所述通用子模块132可用于提供至少一个用于对客户端组件与服务器组件之间的通信连接进行二次开发的通信二次开发接口,通过加载用户通过所述通信二次开发接口编写的通信组件代码以构建与用户二次开发的客户端组件或服务器组件相匹配的通信组件,从而使得平台开发者或是其他具备开发行业需求的第三方开发者在扩展了自己的客户端组件或服务器组件之后,可根据构建的与所述扩展的客户端组件或服务器组件相匹配的通信组件,对所述客户端组件或服务器组件进行相应的通信管理等操作。
[0044]具体地,下面以新增一个业务为例,对所述业务管理平台的业务二次扩充过程进行简单说明,由于在本发明所述实施例中,新增一个业务时,通常需要在平台的服务器12、客户端11两侧都进行二次开发,因此,当新增一个业务时,所述业务管理平台的业务二次扩充过程大体可以包括以下两部分:
[0045]服务器侧扩充过程:由于新增业务对应的业务服务器通常可被分成至少一个组成部分,每一组成部分均可对应一要实现的服务器组件,因此,在进行新增业务对应的业务服务器的扩充时,可针对每一要实现的服务器组件,
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1