Equinox项目是Eclipse开源组织提供的OSGi框架的实现。Eclipse自3.0版本开始,其内核移植到OSGi框架上。通过OSGi框架强大的组件控制,交互和管理能力,再加上Eclipse插件的自有特点,Eclipse开源框架得到了跳跃式的发展。同时,OSGi规范得益于Eclipse IDE环境庞大的使用者,OSGi联盟也进入了快速发展时期。
OSGi作为应用服务器的基础架构已经成为现实。Equinox提供了一组基础的Bundle,使得使用JSP、Servlet和Struts等J2EE技术的Web应用项目可以运行于Equinox OSGi环境中。同样的,Equinox通过一组Bundle,可以将Equinox OSGi应用嵌入到现有的Web服务器(如Tomcat,Jetty等)和应用服务器(如Websphere,Weblogic等)中。
下面是Equinox在J2EE应用方面的部分Bundle列表:
org.eclipse.equinox.servletbridge
Servlet Bridge
该Bundle提供一个底层的Hook servlet,使得Equinox可以嵌入到现有的应用服务器中运行。该Bundle中的servlet启动嵌入的Equinox并使其可以处理来自底层应用服务器接收的HTTP请求。
org.eclipse.equinox.http.servletbridge
HTTP ServletBridge
该Bundle为底层的应用服务器(如Tomcat,Jetty等)发布为OSGi HTTP服务提供一层封装。封装的应用服务器必须安装该servlet bridge。
以上两个bundle是将应用服务器作为bundle集成进入OSGi大环境的关键。
org.eclipse.equinox.http.servlet
HTTP Servlet
该Bundle为在Equinox中发布其他servlet处理引擎(如传统的应用服务器)为OSGi HTTP服务提供支持 。
org.mortbay.jetty
Jetty
嵌入式Jetty实现的Bundle封装。目前Equinox提供的Jetty实现版本为5.x。
org.eclipse.equinox.http.jetty
HTTP Jetty
该Bundle封装Jetty为标准的OSGI HTTP服务。目前该服务只能使用Jetty 5.x版本;如果用户希望使用Jetty 6.x版本的Bundle封装,可以参考ops4j上的实现。
原文在:http://developer.51cto.com/art/200906/126282.htm
分享到:
相关推荐
在深入理解OSGi:Equinox原理、应用与最佳实践中,我们可以学习到以下几个关键知识点: 1. **模块化编程**:OSGi的核心是模块化,它将应用程序划分为独立的单元,称为服务或bundle。每个bundle都有自己的类路径,...
9. **部署与打包**:最后,我们需要将OSGi应用打包成RCP(Rich Client Platform)应用或者部署到服务器环境。Eclipse的PDE(Plug-in Development Environment)工具可以协助完成这个过程。 总之,通过学习和实践...
### OSGi与Eclipse Equinox教程 #### 1. OSGi概述 **1.1 概览** OSGi是一种在Java运行时环境中的服务和模块化平台规范。该规范由多个部分组成,其中核心部分定义了一种组件和服务模型。这种模型允许动态激活、去...
Equinox是所有Eclipse系统的基础,从嵌入式航空自助登机亭、滑雪场闸门到丰富的客户端应用、集成开发环境(IDE),甚至高性能应用服务器如WebSphere和Spring dm server等,都有它的身影。 2. **创建第一个Bundle**...
这些jar文件可能包括了OSGI容器(如Apache Felix或Equinox)与Web服务器(如Jetty或Tomcat)的适配器,以及Servlet、JSP和其他Web相关的API实现。 1. **OSGI容器**: OSGI容器是管理OSGI模块的基石,如Apache Felix...
在OSGi框架中,Equinox是Eclipse基金会提供的一个实现,它是OSGi规范的主要实现之一,广泛应用于服务器端开发。Equinox提供了一个强大的、可扩展的运行时环境,支持动态模块加载和卸载,使得开发者可以灵活地更新和...
这种模块化设计方式特别适用于复杂应用程序的开发和维护,如企业级应用服务器和桌面应用程序。 文档中提到的实战部分主要基于Equinox,它是OSGI规范的一个参考实现,同时也提到了其他框架如Oscar和Knopflerfish,...
Equinox提供了丰富的API和工具,支持模块的动态管理和服务注册与发现,是许多Java应用服务器(如Weblogic、Glassfish)选择的底层框架。 ### Equinox高级实战 深入理解Equinox不仅包括基本的模块管理和类加载机制...
Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的一种技术,它允许在OSGi容器中运行和管理Spring应用。OSGi是一种模块化系统,为Java应用程序提供了动态部署、版本控制和依赖管理的...
Equinox广泛应用于大型企业级应用、嵌入式系统、服务器中间件等,比如Eclipse IDE本身就是基于Equinox构建的,其他如Apache Felix、IBM WebSphere也是OSGi的实现。 总的来说,Equinox SDK 3.8.2为开发者提供了一个...
Eclipse Equinox是基础OSGi规范的参考实现,并且是Eclipse应用程序运行的运行时环境。在Eclipse中,最小的模块化单位是插件(Plugin),在很多情况下,插件(Plugin)和模块(Bundle)这两个术语可以互换使用。 ...
在本教程中,我们将深入探讨如何使用Eclipse和Equinox实现OSGI程序的开发。 首先,确保你已经安装了Eclipse SDK 3.2 M5版本,这是开发OSGI应用的基础工具。此外,还需要从CVS服务器上获取教程项目。通过Eclipse的...
OSGi(Open Service Gateway Initiative)是一种模块化系统,用于Java应用程序的组件化和动态管理,而Equinox是OSGi规范的一种实现,广泛应用于Eclipse IDE、服务器平台以及嵌入式系统。 【描述】虽然描述部分为空...
- **企业应用**:OSGi常用于大型企业级应用,如电信设备、嵌入式系统和服务器软件,因为它可以解决大型项目的复杂性和可维护性问题。 - **动态部署**:通过OSGi,可以在不中断服务的情况下进行软件升级和配置更改...
4. **企业应用案例**:OSGi常用于企业应用服务器(如Apache Karaf)和嵌入式系统,如路由器、智能家居设备等。 5. **故障排查**:学习如何使用日志、诊断工具和调试技巧来定位和解决OSGi应用中的问题。 6. **性能...
Pax Web提供了一个叫做Jetty的嵌入式HTTP服务器,可以与Tomcat协同工作,实现OSGi应用的部署。 在实际操作中,你需要按照以下步骤进行: 1. **准备环境**:确保你的开发环境中已经安装了Tomcat服务器和OSGi框架,...
3. **Web应用程序与OSGI**:在OSGI环境中实现Web应用程序,通常需要一个支持OSGI的Web服务器或Servlet容器,如Jetty或Apache Felix HTTP Service。这些容器可以在OSGI框架内部运行Servlets和其他Web组件。 4. **...
OSGI服务器的核心是Equinox,这是Eclipse项目的一个组成部分,常用于桌面应用和RCP(Rich Client Platform)应用。随着技术的发展,Equinox逐渐被引入到移动设备和手持设备上,而"OSGI Server"项目则旨在消除在...
在压缩包“OSGI-Web”中,我们可以期待找到与Web相关的OSGi实现,这可能包括如何在OSGi环境中开发和部署Web应用。这可能涵盖使用Jetty或Tomcat等Servlet容器作为OSGi服务器的配置,以及如何创建和注册Servlet或...