OSGi与web的结合

首先,下面写的这东西其实跟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的热度,会有大量的技术人员来参与解决这些问题,注定了不会存在两个爷们的不稳定局面。让我们翘首期待吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值