Chris Aniszczyk 是 IBM Lotus 的软件工程师,专门从事 OSGi 相关开发工作。
从 V3.0 开始,Eclipse 通过选择开放服务网关协议(Open Services Gateway Initiative,OSGi)来替换先前版本中不稳定的 Eclipse 插件技术,从而实现了一次巨大飞跃。这次转变对于用户来说几乎是透明的,因为现在所使用的插件的安装和操作看上去和以前的插件没有什么不同。
图 1. Eclipse 内的插件
由于 Eclipse 现在是在 OSGi 上构建的,因此我们在图 1 中看到的插件是功能完整的 OSGi 包。(图 2 显示了使用 OSGi 控制台运行 Eclipse 实例内的包。)通过使用 OSGi,Eclipse 支持业内认可的开放标准并且现在可以利用 OSGi 提供的功能,包括安全性、HTTP 服务、用户管理和其他功能。Eclipse 对 OSGi 的使用已经见到成效,因为我们看到插件间报告的冲突在减少而 Eclipse 的应用在持续增加。
图 2. Eclipse 内的 OSGi 包
Eclipse、Equinox、OSGi,天哪!
OSGi Alliance 是一个独立的、非盈利性组织,负责 OSGi 技术,类似于 Eclipse Foundation 的职能。OSGi Alliance 负责制定描述 OSGi 技术的规范。简言之,OSGI 技术为应用程序开发提供了一种面向服务的基于组件的平台。各种实现都是基于这些规范的。最常见的一个实现是 Equinox,它是 Eclipse 的规范实现。OSGi 的另一个常见实现是 Apache 的 Felix 项目。
在我们继续之前,本文假定您具有 Eclipse 和 OSGi 方面的工作经验。如果不具备的话,建议先阅读 Scott Delap 的文章 “了解 Eclipse 插件如何使用 OSGi”,然后再来研究 OSGi 控制台。
创建 OSGi 包
这次冒险的第一步是使用 插件开发环境(Plug-in Development Environment,PDE)在 Eclipse 中创建一个简单的 OSGi 包。为此,需要使用 PDE 创建一个新的插件项目(File > New > Project > Plug-in Project)。在创建新的插件项目的过程中,确保设定正确的选项。首先,选择插件目标平台作为 OSGi Framework,具体来说就是 Equinox。最后,为了简短起见,使用 PDE 提供的 Hello OSGi Bundle 模板(参见图 3)。我们现在创建好了将在本文中使用的包。
图 3. PDE Hello OSGi bundle 向导
共3页: 1 [2] [3] 下一页 |