目前,J2EE的web应用可以说多不胜数,很多 做过J2EE,并开始接触OSGI的童鞋都会自然而然 地想,如果在OSGI之上该如何构建Web应用。在 这方面,OSGI虽然有一些解决方案,但“似乎”都 不是那么成熟的。这还真不好说,我隐隐约约感 觉似乎在观念上需要改变,就像我们要理解广义 相对论,需要去将万有引力的观念转变成时空扭 曲的观念来理解一样。不管如何,大概我们先理 理现在的观念还是比较必要的。
我们都知道在J2EE,最基础的web应用的概念 就是Servlet。在OSGI范畴内,Servlet又是如何的 呢?对于OSGI来说,当然愿意将这成熟的Servlet 的概念继续用上,只是希望在servlet在模块化、 动态化方面演进一下。
在J2EE里,由Selvet container来管理servlet的 生命周期,Servlet container根据部署描述文档 (web.xml)来部署servlet,当收到http请求,就 会根据请求的url查找到相应的servlet来处理请 求,并将servlet的返回的response响应请求。相 应的,在OSGI里,有个HttpService可以提供注册 servlet的方法(registerServlet)
HttpService的bundle有点类似Servlet container,它负责servlet的生命周期管理。
如果每个Servlet都需要写调用HttpService的 registerServlet方法来注册的话,有点罗嗦。于是 就有whiteboard pattern在这方面的应用了。 whiteboard pattern是OSGI里经常使用的一种设 计模式,正如它的名字一样,这个模式就象你在 白板(whiteboard)上写下一条信息,然后另一 个需要那个信息的人就可以从白板上获得它,并 使用它。在这个过程中,谁写信息,谁用信息, 都不重要,而且什么时候用信息也不重要。
在OSGI环境下,要将服务的发布和撤离看成是动 态的,就象白板上的信息一样。如果用 whiteboard pattern,就可以将发布者和使用者之 间的关联由OSGI service registry充当代理的角色 而获得解藕。
分享到:
相关推荐
"基于OSGi和Spring开发Web应用" OSGi(Open Service Gateway Initiative)是一种面向服务的框架,能够提供动态模块部署和管理的能力。Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入...
### 基于OSGi和Spring开发Web应用的深度解析 #### OSGi与Spring的融合价值 OSGi,作为企业级应用领域的新兴工业标准,以其面向服务(接口)的核心理念和动态模块部署的能力,成为了现代软件架构设计的重要组成部分...
在基于OSGi和Spring开发Web应用中,OSGi(Open Services Gateway Initiative)是一个开放标准,用于创建模块化Java应用程序。它允许开发者将应用程序分解为独立的模块,称为bundle,每个bundle都包含自己的类路径、...
从提供的文件信息来看,这篇文章探讨了基于OSGi(Open Service Gateway initiative)的分布式Web应用结构,其内容主要集中在分布式系统架构、资源分配优化以及OSGi技术在Web应用部署方面的应用。 知识点一:OSGi...
基于 OSGi 和 Spring 开发 Web 应用
本篇将详细探讨如何基于OSGi和Spring来开发Web应用,并通过提供的代码示例进行解析。 首先,OSGi是一种模块化系统,它允许Java应用程序以组件的形式进行组织和管理。这种模块化特性使得开发者可以独立地更新、替换...
4. **Virgo Tomcat Server**: 是一个基于OSGi的服务器,支持Spring DM(Dynamic Module),是Spring OSGi应用的理想运行平台。 **二、环境配置** 1. **Eclipse Maven配置**: 需要在Eclipse中设置Maven的安装路径和...
### 基于OSGi和Spring开发企业级Web应用 #### OSGi与Spring结合的重要性 随着企业级应用复杂度的不断提升,对于软件架构的要求也越来越高。为了更好地满足这一需求,许多开发团队开始关注并采用OSGi(Open Service...
**基于OSGi的Web应用开发**是现代软件开发中的一种技术实践,它允许开发者构建模块化、可扩展和可维护的Web应用。OSGi(Open Service Gateway Initiative)是一种开放的标准,提供了一种服务导向的、模块化的Java...
本示例以“基于OSGI的Web开发例子”为主题,主要介绍了如何利用Equinox框架在OSGi环境中进行Web应用的开发,通过一个简单的“Hello World”项目来展示其工作原理。 首先,我们需要理解Equinox。Equinox是Eclipse...
本资料主要探讨了如何基于OSGi(Open Services Gateway initiative)框架实现一个自适应的权限管理系统,适用于各种不同类型的Web应用程序。OSGi是一种Java服务平台,它为模块化软件开发提供了强大的支持,使得组件...
1、自己开发的OSGi Web Console,适用于实现了OSGi规范的Equinox、Felix等...2、展示了如何把OSGi框架作为一个组件嵌入到现有的未基于OSGi开发的Web应用当中,在Web应用中可获取OSGi中的Service以增加应用的灵活性。
基于OSGi的Web Bundle结合了OSGi的模块化优势和Jetty的轻量级特性,为Web应用程序的开发和部署提供了新的解决方案。通过理解Web Bundle的构成、生命周期和优势,开发者可以更好地利用OSGi环境,构建灵活、可扩展的...
【WebSphere基于OSGi的应用部署和SCA集成】 WebSphere应用服务器V7引入了对OSGi(开放服务网关倡议)应用程序和Java持久化API 2.0的支持,这两个技术的结合提供了更灵活和模块化的部署方案。OSGi Blueprint ...