OSGi技术预测: 未来几年60%的Java虚拟机上将部署OSGi

OSGi最初定位为嵌入式系统的解决方案,后被Eclipse引入客户端开发,并逐渐展现出其在企业级服务端应用的巨大潜力。随着越来越多的服务端架构向OSGi迁移,预计未来几年内,OSGi将在Java虚拟机上得到广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<meta content="text/html; charset=utf-8" http-equiv="CONTENT-TYPE"> <meta content="OpenOffice.org 2.0 (Linux)" name="GENERATOR"> <meta content="Ery Lee" name="AUTHOR"> <meta content="20061228;23093300" name="CREATED"> <meta content="Ery Lee" name="CHANGEDBY"> <meta content="20061229;11381300" name="CHANGED"> <style type="text/css"> </style> <p style='margin-bottom: 0cm;'>尽管我在一年前曾预测<font>OSGi</font>最终将部署在<font>60%</font>的<font>Java</font>虚拟机上,但<font>OSGi</font>的发展速度还是超出了我们的想象。一直认为<font>OSGi</font>规范是<font>Java</font>领域被埋没的一颗明珠,它优美的组件体系结构正是<font>Java</font>平台不可或缺的部分,应该直接纳入到<font>JDK</font>中。<br/> </p> <p style='margin-bottom: 0cm;'>众所周知,<font>Java</font>平台有庞大的开源框架、类库支持,但我们却一直停留在类与<font>API</font>层次的复用,一个较大的<font>Java</font>项目往往有大量的<font>Jar</font>包混乱的堆积在<font>classpath</font>下。所以<font>Java</font>领域迫切需要一个实现<strong>组件级复用</strong>的解决方案,将所有这些混乱不堪的类库与<font>API</font>以组件的形式发布,在统一的容器内组装协作,<font>OSGi</font>规范无疑是目前最为出色的候选者。</p> <p style='margin-bottom: 0cm;'><font>OSGi</font>的规范已经提出<font>5</font>、<font>6</font>年的时间,到现在被业界广泛认可,其发展过程很有趣。<font>OSGi</font>规范最初定位于嵌入式系统,如家电、汽车、手机、家庭网关,满足单一<font>Java</font>虚拟机上启动多个<font>Java</font>应用程序和动态从网络安装卸载应用程序的需求。但那时嵌入式<font>Java</font>虚拟机还不成熟,更不用提<font>OSGi</font>的应用,尽管有宝马等知名公司的应用,但一直没有在<font>Java</font>嵌入式领域获得广泛的应用。<br/> </p> <p style='margin-bottom: 0cm;'>随后的发展一定超出了<font>OSGi</font>委员会<font>(<a href='http://www.osgi.org/'>www.osgi.org</a>)</font>的想象,<font>OSGi</font>居然被<font>Eclipse</font>应用到了客户端。 <font>Eclipse</font>原本插件体系结构是一个基于<font>XML</font>的静态扩展结构,即扩展<font>(Extension)</font>与<font>(Extension Point)</font>,不知道当初基于什么样的考虑,<font>Eclipse</font>组织在<font>3.0</font>版本选择<font>OSGi</font>作为插件体系的内核,这样由<font>OSGi</font>负责插件体系架构中<font>ClassLoading</font>机制,由扩展与扩展点负责业务层面的扩展架构,这是一个很完美的结合。但我认为这实际上并不是<font>OSGi</font>的最佳实践,<font>Eclipse</font>原本的静态扩展架构限制了<font>OSGi</font>的动态性,也没有应用<font>OSGi</font>的服务层模型,而是大量基于单例<font>(Singleton) Plugin</font>调用协作,开发<font>RCP</font>客户端时,你会发现很少需要注册<font>OSGi</font>的服务,往往一个<font>Plugin</font>的入口类提供很多静态方法。当然,这也可能与<font>Eclipse</font>的延迟加载<font>(Lazy load)</font>机制有关。<br/> </p> <p style='margin-bottom: 0cm;'>尽管<font>Eclipse</font>不是<font>OSGi</font>的一个最佳实践,但随着<font>Eclipse</font>的成功,<font>OSGi</font>迅速普及与成熟,最终将<font>OSGi</font>推向它最擅长但一直被忽略的领域:<strong>企业级应用软件的服务端,纯插件体系架构的服务端!</strong><span style=''>目前,大量的服务端开源架构与商业产品向</span><font><span style=''>OSGi</span></font><span style=''>迁移,</span><font><span style=''>2007</span></font><span style=''>年将是</span><font><span style=''>OSGi</span></font><span style=''>服务端应用的开始。</span><br/> </p> <p style='margin-bottom: 0cm;'>随着<font>OSGi</font>在胖客户端<font>(RCP)</font>、服务端<font>(Server Side)</font>与嵌入式<font>Java</font>虚拟机上的广泛应用,相信未来几年内,<font>60%</font>的<font>Java</font>虚拟机上部署<font>OSGi</font>的目标并不是遥不可及。</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值