`
傅庆岩
  • 浏览: 91585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OSGi与web的结合

    博客分类:
  • OSGi
阅读更多

首先,下面写的这东西其实跟OSGi有点关系,但是关系不大,就是说一下OSGiweb结合相关的一点感受,不具体谈实现。

在项目开始之前,我们也进行了一些调研,特意在烈日炎炎中下山进城里与经验者进行了交流,在需求的基础上,通过一些资料,敲定基于OSGi进行项目的展开,这样可以充分利用OSGi的特点,使各个模块能够实现组件化。而在与web结合这块,通过简短的调研,觉得还是把webOSGi结合起来,用OSGi来管理web容器,这样所有的东西在OSGi的管理下,无论从组织结构上和开发上都非常顺手。到此,Perfect

事实。OSGiweb的结合并不像盛传的那么好,最初的想把web作为一个bundleOSGi来进行管理,一起就都美好了。事实并非如此。在每一个提到OSGi管理web的事例里,作者(不如说大部分是转载者)举例web服务器被OSGi管理的服服帖帖都拿jetty来说事儿。Tomcat,应用服务器WebLogicWebSphere只字不提。最初的最初,没太在意,而且老G介绍OSGi时候说过,OSGi就是你把任何东西打成jar包,做成bundle然后往里放就行了。我问,“web服务器能放进去吗?”“能啊,jetty啊!”诚然,作为资深Eclipse插件开发者,他对这些确实信手拈来,不过当时我们并没有把需求放到更详细的角度考虑,一拍脑子,jetty,哦了,就是他。现在的考虑是,如果说tomcat是轻量级,那么jetty就是微量级了。更何况,之前确实没拿他做过什么东西。因为tomcatWebLogic通吃很多东西了,在一般应用上很少考虑这种微量级的web服务器。万一,哪天我们有需求jetty达不到(可以说不是万一是肯定),那么这种将web放在OSGi环境下管理的设计就完蛋了,生命立即终止。所以,web放在OSGi管理,达妹╮(_)解决办法,期待tomcat哪天能扔到OSGi里吧。

不把webOSGi,那只好把OSGiweb里了,EquinoxbridgeEquinox 框架以及项目的 bundle 做成一个 War 文件部署到 Servlet 容器中,这个 servlet负责对你的OSGi容器进行初始化。每当接收到一个客户请求,它将查看是否存在一个OSGi插件可以处理该请求;如果存在,它将控制转发至该插件。虽说这样传统的常用web服务器就可以用上了,我们以前一直搞的东西又回来了,总觉得这种感觉有点别扭。

OSGiweb的结合,就两种方式,webOSGi里,OSGiweb里,不恰当的比喻来一个,如果是春哥和小沈阳,肯定能分出谁搞谁来。现在OSGiweb就像春哥和曾哥,都很纯,目前看谁搞谁都不是很搞的很舒服。不过我相信至少OSGi的热度,会有大量的技术人员来参与解决这些问题,注定了不会存在两个爷们的不稳定局面。让我们翘首期待吧。

  • 大小: 5.7 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    基于OSGi和Spring开发Web应用

    Spring-DM,即Spring Dynamic Modules,是Spring官方在2008年推出的项目,旨在将Spring框架与OSGi模块化平台相结合,为Java开发者提供了一套全面的工具和API,以支持在OSGi环境中开发、部署和管理Spring应用程序。...

    基于OSGi和Spring开发Web应用.doc

    "基于OSGi和Spring开发Web应用" OSGi(Open Service Gateway Initiative)是一种面向服务的框架,能够提供动态模块部署和管理的能力。Spring 是一个轻量级的J2EE开发框架,特点是面向接口编程和非侵入式的依赖注入...

    OSGI中包含web服务器配置需要的jar.zip

    2. **Web服务器适配器**: 这些适配器使OSGI容器能够与Web服务器协同工作,将OSGI的模块化概念与Web应用的部署和管理相结合。例如,Jetty OSGI或者Tomcat OSGI插件允许在OSGI环境中托管Web应用。 3. **Servlet API**...

    利用felix和struts2实现osgi web

    本文深入浅出地解释了如何结合Felix和Struts2构建基于OSGi的Web应用,通过一个具体的时间服务示例展示了OSGi的动态部署和模块化特性。这种开发方式使得Web应用的维护和扩展更为灵活,适应性强,尤其适合需要长期运行...

    Struts2 Felix1.4搭建OSGI web infrastructure Source

    本项目结合了Struts2和Felix1.4,构建了一个基于OSGI的Web基础设施,提供了灵活和可扩展的框架来开发Web应用。 在OSGI环境中,应用被分解为小型的、独立的模块,称为bundle。每个bundle包含一组相关的类和资源,...

    基于OSGi和Spring开发企业级Web应用

    #### OSGi与Spring结合的重要性 随着企业级应用复杂度的不断提升,对于软件架构的要求也越来越高。为了更好地满足这一需求,许多开发团队开始关注并采用OSGi(Open Service Gateway Initiative)和Spring框架。这两...

    基于OSGi和Spring开发Web应用教程

    Spring-DM(现在称为Spring OSGi)是Spring框架的一个扩展,旨在将Spring的功能与OSGi的模块化特性相结合,使开发者能够在OSGi环境中利用Spring的优势。 在本文中,作者通过一个简单的Web应用实例来展示如何利用...

    开发一个简单的 OSGi Web 应用实例

    **目标:** 通过本示例,读者可以了解如何利用OSGi和Spring框架结合的方式,来实现一个简单的Web应用。此外,还能学习到如何利用OSGi的动态部署能力来切换不同的服务实现。 #### 三、开发环境准备 为了成功运行本...

    osgi webservice入门

    OSGi与Web服务的结合,可以让开发者利用OSGi的模块化特性来构建和部署Web服务,从而实现更加灵活的服务架构。 首先,了解OSGi的基础知识是至关重要的。OSGi的核心是其服务注册表,它允许模块之间通过发布和查找服务...

    OSGi, Spring , Web

    标题中的"OSGi, Spring, Web"代表了三个重要的IT技术领域。OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将大型应用分解为可独立更新和管理的小型服务单元。Spring框架是Java开发中...

    基于OSGi和Spring开发Web应用的Demo

    在IT行业中,构建高效、可扩展的Web应用程序是至关重要的,而OSGi(Open Services Gateway Initiative)和Spring框架的结合提供了这样的解决方案。本篇将详细探讨如何基于OSGi和Spring来开发Web应用,并通过提供的...

    osgi-webservice教程

    **OSGi与Web服务的结合** OSGi和Web服务的结合使得开发者能够在模块化的环境中构建和提供Web服务。OSGi的优势在于它的动态性,可以实时地安装、卸载、启动和停止服务,这使得Web服务的生命周期管理变得更加灵活。而...

    OSGI + Webservice 例子

    在"OSGI + Webservice 例子"中,新手可以学习如何将OSGI的模块化特性与Web服务的跨平台通信能力结合。下面将详细介绍这个例子中可能涉及的知识点: 1. **OSGI模块创建**:首先,你需要了解如何创建一个OSGI模块,这...

    基于OSGi的 webbundle

    OSGi引入Web Bundle的概念,是为了将Web应用的模块化理念与OSGi的灵活性相结合。Web Bundle允许开发者将一个传统的WAR(Web Application Archive)文件打包成OSGi Bundle,从而在OSGi环境中运行。这使得Web应用可以...

    基于VirgoServer进行Spring Osgi Web开发(示例代码)

    在IT行业中,Spring OSGi(Open Service Gateway Initiative)是一种模块化开发的框架,它将Spring框架与OSGi服务架构相结合,为Web应用程序提供了一种更灵活、可扩展的开发方式。VirgoServer是Pivotal公司推出的一...

    以 OSGi 包的形式开发和部署 Web 服务

    通过采用OSGi框架结合Apache CXF及其cxf-dosgi扩展,可以有效地开发和部署支持多版本的Web服务。这种方法不仅提高了服务的灵活性和可维护性,还简化了服务的生命周期管理。对于那些需要同时支持多个服务版本的场景来...

    OSGI原理最佳实践(包含源代码)

    是一本适合新接触OSGI开发学习的一本很好的书,本书介绍了Equinox, Spring-DM和Felix这三个常用的OSGi容器的使用、开发、以及WebApplication的开发部署;介绍了OSGi的规范和Core Framework和Layer。包含书中的用例源...

Global site tag (gtag.js) - Google Analytics