用 Eclipse 构建轻量级 OSGi 应用程序.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
页码,1/ 13 Eclipse 构建轻量级的 OSGi 应用程序 Yuan Tao Sun, 软件性能分析师, IBM 简介:OSGi 一直是在 Java 领域及诸多其他领域中构建动态模块系统的实际行业标准。本文通过一系列 相关示例展示在 Eclipse 中开发 OSGi 应用程序的过程、场景、解决方案和实践。深入阅读本文以系统了 解 OSGi 框架与核心服务。 发布日期: 2012 年 1 月 16 日 级别: 中级 原创语言:英文 简介 构建模块化系统的需求非常多。在 Java 领域及诸多其他领域中,开放服务网关协议 (Open Services Gateway initiative, OSGi) 一直都被视为一种成 的模块化系统框架,它一般包括桌面应用程序、Web 应用 程序、移动应用程序,以及中间件。OSGi 提供了一种底层的基础设施,可用来开发具有模块化、动态性的 面向服务应用程序。其大多数特性和功能均通过 OSGi 规范和实现中的服务所定义和提供的。在了解几个 核心 OSGi 服务的概念和用法后,我们就能够利用这些服务以及 Eclipse IDE 构建轻量级模块化应用程序 来满足复杂的需求。 回页首 一个样例应用程序 该样例应用程序是一个数据收集器,可从不同的数据源检索数据并将这些数据解析成统一的预定义的数据 格式以供进一步处理。有多个系统具有不同的数据格式定义和检索方法。一般情况下,应用程序生产者或 拥有者常常都期待第三方供应商基于此应用程序发布的 API 为特定的数据源实现业务逻辑。理想情况下, 数据收集器客户端应集成第三方代码,并且可以直接运行而无需对现有代码、配置或部署结构进行任何更 改。这是构建模块化系统的一个典型要求,稍后我们将介绍如何使用 OSGi 核心服务来实现这一点。 为了充分发挥 OSGi 的强大功能,对应用程序的架构进行细致的设计非常必要,虽然设计并不是很复杂。 讨论 OSGi 应用程序设计原则的文章有很多,我建议您参阅这些文章(请参阅 参考资料)。 图 1 显示了该样例数据收集器应用程序的基础架构。该应用程序由三种 bundle 组成:数据收集器框架 bundle、文本解析器 bundle 和收集器 bundle 。 图 1. 样例数据收集器应用程序的基础架构 页码,2/ 13 框架 bundle 充当整个应用程序的核心组件。它可以是一个 bundle (提供了面向其他 bundle 的收集器和向 导 UI API ),也可以是一个客户端(使用来自其他功能性 bundle 的服务)。通过将 API 和客户端 bundle 并入到一个 bundle,第三方数据收集器开发人员就可以将最少数量的 bundle j ar 导入到其 IDE 来实现 API ,然后再在 Eclipse 中运行并测试整个应用程序。收集器 bundle 提供了数据收集服务和向导页服务。 另一方面,收集器 bundle 还能充当一个客户端,调用由框架 bundle 提供的文本解析器 API ,而单独的解 析器 bundle 将为之提供服务。 所有这些 bundle 都会通过 OSGi 核心服务松散地进行相互藕合和交互。因此,除了框架 bundle 之外的所 有 bundle 都能很容易地被添加、删除、暂停或升级,即便是应用程序部署之后,仍能如此。这对于自动化 的软件交 过程非常重要。 接下来,我们将展示实现并部署一款小型而又完整的 OSGi 应用程序的过程和实践。 回页首 定义 OSGi 项目布局 我们需要在 Eclipse 中为每个 bundle 创建一个新的插件项目。如下假设您已经具备了在 Eclipse 中创建 OSGi 的经验和知识。此外,还要确保下载了 Eclipse IDE 的最新发布版以及单独的 Equinox SDK 。建议使 用 Eclipse 3.4 或更高版本。 正如 图 1 所描述的,需要至少三个 bundle 项目,框架 bundle 、文本解析器 bundle 和数据收集器 bundle 。定义项目的布局 (比如包和文件夹等级结构设计)非常重要。让我们以 图 2 所示的这个框架 bundle 为例。

文档评论(0)

wpxuang12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档