OpenCore中的核心概念:服务(Service)与插件(Plugin)的定义

OpenCore纯插件体系结构中的核心概念包括: 微内核 、插件与服务。

微内核
(MicroKernel)提供基础的插件与服务架构;负责插件的生命周期管理,包括插件的安装(Install)、启用(Activate)、停止(Deactivate)与卸载(Uninstall);负责服务的生命周期管理,包括服务的注册(Register)、发现(Lookup)、启动(Start)、停止(Stop),服务间的依赖绑定。

OpenCore微内核分两层:
  1. 应用系统的核心层:以OSGi为基础
  2. 增强层:IoC实现、扩展点机制与RMI插件

插件(Plugin)OpenCore是一个纯插件结构的系统,包括内核在内的所有特性都由插件构成。插件是对系统中静态结构方面的抽象,满足某种约束并提供自描述的物理软件模块。OSGi中插件叫Bundle,物理上是一个提供自描述文件(MANIFEST.MF)的Jar文件。插件可以被动态的安装、激活、去激活与卸载。插件包含多个服务(Service)对象。

插件间的依赖关系包括两种:
  1. 物理依赖,即插件间的Class依赖,例如A插件Import B插件的Class
  2. 逻辑依赖,插件A中的服务依赖插件B中的服务。
插件的概念描述图如 下:



服务(Service)系统中动态结构方面的抽象,是运行时的概念,是具有良好接口与自我描述的业务功能提供者。Java平台上是一个具有良好接口对象实例。服务可以被注册、发现、启动与停止。运行时,服务间在同一JVM内通过传引用(By-Reference)依赖协作,在不同JVM内通过RMIJMSREST等传值方式(By-Value)通信协作。

服务的概念描述图如下:



服务间依赖关系(Dependency and Relations)有三种:

  1. 进程间通过连接器(Connector)以传值(By-Value)方式通信和协作
  2. 进程内通过Java接口调用以传引用(By-Reference)方式通信协作
  3. 进程内一个服务可以作为对另一服务的扩展

服务间关系的概念描述图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值