随笔-72  评论-20  文章-0  trackbacks-1
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. 进程内一个服务可以作为对另一服务的扩展

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


posted on 2008-01-15 18:26 前方的路 阅读(757) 评论(0)  编辑  收藏 所属分类: 软件架构

只有注册用户登录后才能发表评论。


网站导航: