作者:俞黎敏

Equinox紧随Eclipse之后,采用天文名词,指节气中的昼夜平分时刻,是为春分,抑或秋分。从Eclipse 3.0开始,Eclipse通过选择开放服务网关协议(Open Services Gateway Initiative,OSGi)来替换先前版本中不稳定的Eclipse插件技术,从而实现了一次巨大飞跃。作Eclipse项目基础之一,Equinox项目是一个OSGi R4核心框架规范的实现,它实现了可运行基于OSGi的系统的各种可选的OSGI服务和其他基础设施。简而言之,Equinox项目的目标是成为一流的OSGi社区,并作为Eclipse动态基基础架构的默认实现,作为其中的一部分,它负责开发和提供OSGi框架实现,并为Eclipse的其他模块所使用。 Equinox实现了OSGi规范(包括EEG、MEG、VEG)的所有方面;负责调查与研究未来版本的OSGi规范以及运行时的相关问题;将非标准的但是十分重要基础架构转化成可基于OSGi的系统进行运行和管理;为Eclipse的运行和基础使用实现关键的框架服务和扩展,比如Eclipse Adaptor, Extension Registry等。OSGi是基于Java的服务平台的规范;OSGi的本质是将Java面向对象的开发转向面向组件和服务的开发,OSGi框架提供了一套完善的机制用于管理和控制组件(Bundle)、服务(Service)的生命周期,以及组件和服务在其生命周期内的交互。由于具有服务组件模块化、动态加载应用等优点,OSGi技术正被越来越多的领域关注,如嵌入设备制造业、汽车制造业、企业应用等。 目前,OSGi联盟发布的最新的OSGi服务规范为4.2版本,Equinox项目是Eclipse开源组织提供的OSGi框架的实现,Equinox的加入使得OSGi标准的应用领域不断扩充,Equinox不仅提供了大部分OSGi标准服务的Bundle实现,还借助Eclipse环境的一些自身的特点,提供了很多功能扩展服务。 一个OSGi框架可以组成Java EE项目中部署的相同模块,但是它包含了能够作为OSGi绑定包定位的OSGi元数据,因此能够从OSGi框架所提供的管理机制中获益。对于企业应用开发JavaEE开发人员选择OSGi,一般会基于如下进行考虑:应用程序可以作为只包含特定应用程序内容的绑定包,然后一直引用相关附件、共享库的元数据一起部署,因此应用程序空间减少了,因为它使用了引用附件管理的库的单独拷贝,该功能能够让相同的Jar文件嵌入到许多企业应用之中;开发时,利用合适的OSGi开发工具强制性地应用OSGi可视性规则,以确保Jar文件得到清晰的声明,最大程度地降低了部署时潜在的运行时问题;类的多个版本可以使用标准OSGi机制同时载入到相同的应用程序之中;应用程序可以使用公共设施类的自己版本,不再需要配置应用程序Java EE类加载器各种优先加载策略;部署的应用程序可以在绑定包层次上动态地更新,而不用重新部署整个企业应用包。 虽然OSGi是目前动态模块系统的事实上的工业标准,而且Equinox也是Eclipse所使用的OSGi框架,是Eclipse强大的插件体系的基础,同时Eclipse的稳定可靠性也为Equinox带来了声誉,但是OSGi的控制台、开发工具等仍在朝易用性、简单化而迈进,仍需时日。 热点新闻 新品发布 Eclipse和Equinox发布3.6.2版本 Eclipse和Equinox发布了 3.6.2 版本,可通过Eclipse的更新功能升级到该版本。Equinox实现了OSGi在J2ME、J2SE方面的应用的同时,也推动了OSGi在J2EE方面的应用。Equinox提供了一组基础的Bundle,使得使用JSP、Servlet和Struts等J2EE技术的Web应用项目可以运行于Equinox OSGi环境中。同样的,Equinox通过一组Bundle,可以将Equinox OSGi应用嵌入到现有的Web服务器(如Tomcat,Jetty等)和应用服务器(如WebSphere,Weblogic等)中。 Tomcat 7.0.11稳定版发布 Tomcat是一个开源的Web应用服务器软件,同时Tomcat也是目前世界上用量最大的Java服务器软件,主要用来支持运行Java Servlet/JSP,该版本修正了大量的Bug。主要修复了@SecurityAnnotation的问题。来自用户列表的安全报告称,包括Tomcat 7.0.8在内,以及来自SVN的最新代码中,对@ServletSecurity注解均置之不理,该问题将直接导致认证过程被绕过使得信息被泄露。 GlassFish 3.1 正式版发布 Oracle宣布了GlassFish 3.1正式版,完全的集群支持、中央集中管理、模块化设计以及开发人员友好的产品特性等等。同时Oracle还发布了一个商业版本——Oracle GlassFish Server 3.1,集成了GlassFish服务器控制,与开源版GlassFish不同的地方有,支持分布式GlassFish Server;包含开源版以及GlassFish服务器控制;活动缓存,内置对Oracle Coherence Web的集成;可通过OTN获取试用版本;产品环境使用需要License。 推荐资源: Eclipse Equinox :http://www.eclipse.org/equinox/ 作者简介: 俞黎敏, I B M 高级工程师,满江红开放技术研究组织核心成员。开源爱好者,在各大技术社区为推动开源和敏捷开发积极摇旗呐喊、加油!

OSGi框架之Eclipse Equinox相关推荐

  1. OSGi原理与最佳实践:第一章 OSGi框架简介(1)Equinox

    参考文章:http://osgi.com.cn/article/tagged/4002946 Equinox 首先来看 Equinox.Equinox 是 Eclipse 中的项目,并作为 OSGi ...

  2. 探索 OSGi 框架的组件运行机制

    在目前的 Java 开发平台中,对于组件开发过程,比如打包.部署和验证等,并没有一个统一的标准.正因如此,许多 Java 项目,例如 JBoss 和 Net Beans,都拥有一套自定义的组件开发规范 ...

  3. OSGi将Maven与Equinox结合使用

    很长时间以来,我一直在努力理解OSGi的真正含义. 它已经存在很长时间了,但是没有多少人意识到这一点. 人们已经大肆宣传它是一种非常复杂的技术. 这是我为所有Java开发人员简化的尝试. 简而言之, ...

  4. osgi框架基础原理与实例一

    OSGI(Open Services Gateway Initiative),或者通俗点说JAVA动态模块系统,定义了一套模块应用开发的框架.OSGI容器实现方案如Knopflerfish, Equi ...

  5. Springboot Application 集成 OSGI 框架开发

    Java 类加载器 启动类加载器 (Bootstrap ClassLoader) 是 Java 类加载层次中最顶层的类加载器,负责加载 JDK 中的核心类库,如:rt.jar.resources.ja ...

  6. java 类似osgi_4大Java OSGi 框架比较

    OSGi正在成为一种趋势,越来越多的项目采用了OSGi,越来越多的中间件都开始采取了OSGi的标准.身为一名Java开发人员,如果你还对OSGi结构一无所知,那你真的有点Out了. 什么是OSGi O ...

  7. 4种常见的osgi框架比较

    OSGi正在成为一种趋势,越来越多的项目采用了OSGi,越来越多的中间件都开始采取了OSGi的标准. 什么是OSGi OSGi的名称来源于其开源组织的名称Open Services Gateway i ...

  8. OSGI框架—HelloWorld小实例

    OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范.OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于 ...

  9. OSGI框架嵌入Http服务器的环境配

    OSGI框架嵌入Http服务器的环境配 参考OSGi原理与实践这本书籍操作,其中org.mortbay.jetty.jar这个包,我eclipse没有,从网上下了这个包,当插件安装,在run-> ...

最新文章

  1. rdlc 分页操作和分页统计
  2. 【转】Javascript面向对象编程(二):构造函数的继承
  3. Qtum 量子链跨链原子激活 实现 QTUM-BTC 交换
  4. 牛客题霸 [将升序数组转化为平衡二叉搜索树]C++题解/答案
  5. Tpcc-MySQL测试
  6. 重磅 | 华为自动驾驶团队公开招聘!
  7. mysql命令行操作大全_mysql命令行操作大全 mysql命令行操作总结
  8. mysql 查询大于某个时间_有关于mysql 时间作为条件查询,索引失效的问题。
  9. Mac上好用的MP4高清视频格式转化软件
  10. 美团外卖uml流程图_以美团外卖为例,浅析业务流程图和页面流程图
  11. 砌体的弹性模量计算_3.2 砌体的计算指标
  12. 破解支付宝行为/滑动/投篮验证码,淘宝行为验证码同理
  13. 如何使用云桌面系统提高涉密网络安全性与方便性
  14. Unity Shader UV动画之高光材质加上透明材质与UV动画
  15. Git 工作常用命令行
  16. latex与word之间的各种转化方法
  17. 乘法器——booth编码
  18. 整理的开学需要准备的物品清单,删了怪可惜,做个备份吧
  19. 旧手机android的linux内核编译2-LCD驱动加入。
  20. Linux离线安装java

热门文章

  1. node 请求数据_使用Node获取HTTP请求主体数据
  2. 交了一个程序员男朋友后,我彻底变了……
  3. Python学习笔记——Numpy数组的移动滑窗,使用as_strided实现
  4. 稀疏矩阵的压缩存储与操作(实测程序)
  5. GLES 顶点缓冲区对象(VBO)
  6. 为什么万物皆可NFT?为什么有的NFT是一个有的是多个呢?
  7. 车辆工程相关的计算机知识,专业解读--车辆工程
  8. c语言中如何定义一个pos函数,c语言中函数 Pos(40, 12);是什么意思?
  9. 找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
  10. 东海证券分析报告(0607)