OpenCore纯插件体系结构中的核心概念包括:微内核、插件与服务。
微内核(MicroKernel): 提供基础的插件与服务架构;负责插件的生命周期管理,包括插件的安装(Install)、启用(Activate)、停止(Deactivate)与卸载(Uninstall);负责服务的生命周期管理,包括服务的注册(Register)、发现(Lookup)、启动(Start)、停止(Stop),服务间的依赖绑定。
OpenCore微内核分两层:
- 应用系统的核心层:以OSGi为基础
- 增强层:IoC实现、扩展点机制与RMI插件
插件(Plugin):OpenCore是一个纯插件结构的系统,包括内核在内的所有特性都由插件构成。插件是对系统中静态结构方面的抽象,满足某种约束并提供自描述的物理软件模块。OSGi中插件叫Bundle,物理上是一个提供自描述文件(MANIFEST.MF)的Jar文件。插件可以被动态的安装、激活、去激活与卸载。插件包含多个服务(Service)对象。
插件间的依赖关系包括两种:
- 物理依赖,即插件间的Class依赖,例如A插件Import B插件的Class
- 逻辑依赖,插件A中的服务依赖插件B中的服务。
插件的概念描述图如下:
服务(Service):系统中动态结构方面的抽象,是运行时的概念,是具有良好接口与自我描述的业务功能提供者。Java平台上是一个具有良好接口对象实例。服务可以被注册、发现、启动与停止。运行时,服务间在同一JVM内通过传引用(By-Reference)依赖协作,在不同JVM内通过RMI、JMS、REST等传值方式(By-Value)通信协作。
服务的概念描述图如下:
服务间依赖关系(Dependency and Relations)有三种:
- 进程间通过连接器(Connector)以传值(By-Value)方式通信和协作
- 进程内通过Java接口调用以传引用(By-Reference)方式通信协作
- 进程内一个服务可以作为对另一服务的扩展
服务间关系的概念描述图:
posted on 2008-01-15 18:26
前方的路 阅读(756)
评论(0) 编辑 收藏 所属分类:
软件架构