插件体系结构的经典-osgi

        相信每个软件开发者都有着这样相同的经历:从最初的凌乱编码到函数过程的组织复用,再到现在以类、包、模块的封装,对抽象和复用使用得越来越成熟有效。对软件关注的层次也从单个算法逻辑的实现到整个系统架构的搭建。本人也是一样,工作学习之余常常思考软件设计、实现如何才能行之有效,这些年来虽然没有大的进步,也比以前有所提高。对出来的新思想、新技术从来不敢怠慢,肯定谈不上部精通,只能说有所了解,做技术的从这点上看确实比较辛苦,呵呵。新东西实在是太快、太多了。

      说了大半天,有点跑题了。osgi是最近才接触的。简单点说就是一个非常优秀的插件体系结构。eclipse3.1开始就采用了它。下面是网上搜罗来的介绍资料:

      OSGi 规范简介

OSGi 联盟建立于 1999 年,是一个非赢利机构,旨在建立一个开放的服务规范。OSGi 规范为网络服务定义了一个标准的、面向组件的计算环境,它最初的目的就是为各种嵌入式设备提供通用的软件运行平台,屏蔽设备操作系统与硬件区别的中间件平台,通过这个平台,可以对不同软件商提供的应用(OSGi 中称为 Bundle)进行组件的生命周期管理的能力,如应用组件可以从运行中被安装、升级或者移除而不需要中断设备的操作,应用组件可以动态的发现和使用其他库或者应用程序。由于 OSGi 技术具有服务组件模块化、动态加载应用等优点,正被越来越多的领域关注,如嵌入设备制造业、汽车制造业、企业应用等。目前,OSGi 联盟发布的最新的 OSGi 服务规范为 4.0,读者可以查阅参考资料了解详细信息。

       OSGi 体系结构

OSGi 的体系架构是基于插件式的软件结构,包括一个 OSGi 框架和一系列插件,在 OSGi中,插件称为 Bundle,其中,OSGi 框架规范是 OSGi 规范的核心部分,它提供了一个通用的、安全可管理的 Java 框架,通过这个框架,可以支持 Bundle 服务应用的部署和扩展。Bundle 之间可以通过 Import Package 和 Require-Bundle 来共享 Java 类,在 OSGi 服务平台中,用户通过开发 Bundle 来提供需要的功能,这些 Bundle 可以动态加载和卸载,或者根据需要远程下载和升级。OSGi 体系结构图如图 1 所示:


图示1 OSGi 体系结构
图示1 OSGi 体系结构

使用过eclipse3.1和以前版本的肯定感觉3.1启动快多了,这就是因为采用了osgi的架构。记得以前以前用delphi写c/s程序的时候也画轮子似的开发过一个插件应用平台,所有的模块、子系统可以用dll的形式实现,然后通过配置挂到系统上去,呵呵,不过实现的很牵强,效果也不理想。现在的公司新开发的j2ee平台也是采用了插件思想,所有的功能都封装成组件,以插件的形式存在。不过个人感觉也不太理想,当中存在不少问题,以后有时间再慢慢讨论。关于osgi的应用,相信大家都有所了解了,著名的机顶盒和消费电子设备的客户应用和中间件领先提供商Espial好像采用的就是osgi的技术,在osgi的官方网站还有它的链接。eclipse基金会已经做了一个基于osgi的开发框架平台equinox,从eclipse3.2开始可以开发equinox的应用。网友BlueDavy编写了一个osgi开源文档,挺详细的,大家可以下载下来看看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
绝版的书,貌似淘宝还能找到。原来只有页码,边看边加的目录,有一半花了一晚上添加的目录,方便看了。 《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容、富客户端平台技术(RCP)、Draw2d,以及GEF介绍与实现等4个章节;第四篇则围绕插件开发和GEF应用两个主题,精心设计了两个程序开发实例,使读者能更加全面地理解插件开发相关技术。 目录: 第一篇 开发基础 第1章 Eclipse平台简介 1.1 Eclipse集成开发环境(IDE)介绍 1.1.1 安装及使用Eclipse IDE 1.1.2 为Eclipse IDE安装中文语言包 1.1.3 IDE的环境设置 1.1.4 使用帮助系统 1.2 什么是Eclipse 1.3 SWT/JFace技术 1.4 插件技术和OSGi 1.5 RCP技术 1.6 EMF技术 1.7 GEF技术 1.8 本章小结 第2章 SWT/JFace概述 第3章 SWT编程基础 第4章 使用基本控件与对话框 第5章 容器与布局管理器 第6章 界面开发工具 第7章 高级控件使用 第8章 SWT/Jface的事件处理 第二篇 核心技术 第9章 Eclipse插件体系结构 第10章 开发 第一个插件项目 第11章 操作(Actions) 第12章 视图(Views) 第13章 编辑器(Editors) 第14章 透视图(Perspectives) 第15章 对话框和向导(DialogsWizards) 第16章 首选项(Preferences) 第17章 帮助内容(Help Contents) 第18章 备忘单(CheatSheet) 第三篇 高级进阶 第19章 插件开发高级内容 第20章 富客户端平台(RCP)技术 第21章 Draw2d 第22章 GEF介绍与实现 第四篇 综合实例 第23章 插件开发实例 第24章 GEF实例
`jbundle-util-osgi-wrapped-httpclient` 是一个用于在 OSGi(开放服务网关倡议)环境中使用 Apache HttpClient 的工具库。它提供了将 Apache HttpClient 封装为 OSGi 插件的功能,使得在 OSGi 容器中可以方便地使用 HttpClient 进行 HTTP 请求和处理。 Apache HttpClient 是一个功能强大的 HTTP 客户端库,用于在 Java 应用程序中进行 HTTP 通信。它提供了丰富的功能和灵活的配置选项,包括支持各种 HTTP 方法、处理认证和代理、处理 Cookie、支持连接池等。 使用 `jbundle-util-osgi-wrapped-httpclient` 可以进行以下操作: 1. 封装 Apache HttpClient:`jbundle-util-osgi-wrapped-httpclient` 将 Apache HttpClient 封装为 OSGi 插件,使得它可以在 OSGi 容器中进行动态加载和管理。这样你就可以通过 OSGi 的方式来使用 HttpClient,而无需手动处理其依赖和生命周期管理。 2. OSGi 配置和服务:工具库提供了一些实用方法和类,用于在 OSGi 环境中配置和使用 HttpClient。它提供了 OSGi 配置管理器和服务注册的支持,使得你可以方便地配置和获取 HttpClient 实例。 3. HTTP 请求和响应处理:`jbundle-util-osgi-wrapped-httpclient` 提供了一些工具类和方法,用于发送 HTTP 请求和处理响应。你可以使用这些工具来构建和发送 HTTP 请求,并处理服务器返回的响应数据。 需要注意的是,`jbundle-util-osgi-wrapped-httpclient` 是一个针对 OSGi 环境的工具库,主要用于在 OSGi 容器中使用 Apache HttpClient。如果你不使用 OSGi,可以直接使用 Apache HttpClient 的原生库。 希望这个解释对你有帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值