OSGi初始篇

从事OSGi方面的开放已经有一年零八个月了,总想总结下关于OSGi的相关知识,总是忙了又忙、拖了又拖。终于快告一段落了,开始.......
OSGi是Open Service Gateway Initiative的缩写。OSGiTM 联盟成立于 1999 年 3 月,致力于为网络和本地设备建立开放的网络 管理 服务规范 。但是随着近几年各大应用器服务器商的使用OSGi框架,发展更为迅速,已经有几个著名的开源实现(felix、equinox、俺们的loong)。 OSGi的规范分为核心规范、组件规范。到了R4.2后又出了企业版什么的,分了好几个。总体上差不多。允许多个基于Java的组件在单个Java虚拟机 (JVM)之中有效协作。OSGi服务平台提供在多种网络设备上无需重启的动态改变构造的功能。为了最小化耦合度和促使这些耦合度可管理,OSGi技术提 供一种面向服务的架构,它 能使这些组件动态地发现对方。OSGi联盟已经开发了为例如象HTTP服务器、配置、日志、安全、用户管理、XML等很多公共功能标准组件接口。
组件规范 中,OSGi 服务平台标准的核心是提供一个通用、安全并且可管理的 Java 框架,该框架支持可扩展的部署和下载的应用(称之为 bundle ) 。 实施 OSGi 的设备可以下载和安装 OSGi bundles ,并且可以在不需要的时候将其移除,在一个 OSGi 环境中, bundles 的安装、更新由框架统一动态管理,为此,需要框架对服务和 bundles 之间的依赖细节进行管理。
框架从功能上分为下面几个层次:
• 安全层 Security Layer
• 模块层 Module Layer
• 生命周期层 Life Cycle Layer
• 服务接口层 Service Layer
• 服务实现层 Actual Service


初写时间 2010-12-07 16:53:39

原文地址:https://www.cnblogs.com/wangnbin/p/6058917.html