<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>
分享到:
相关推荐
OSGi and Equinox:Creating Highly Modular Java Systems
OSGi与Equinox:创建高度模块化的Java系统》分为四个部分。... 《OSGi与Equinox:创建高度模块化的Java系统》适合有Java编程基础以及对OSGi技术有兴趣的开发人员阅读。 百度网盘下载,资源真实可靠
1. OSGi Revealed 2. Mastering Modularity 3. Learning Lifecycle 4. Studying Services 5. Delving Deeper into Modularity 6. Moving Toward Bundles 7. Managing Bundles and Applications 8. Testing ...
对于想了解Java虚拟机的程序员来说,《Java虚拟机规范》是必须阅读的,对于想深入了解Java语言细节的程序员,阅读《Java虚拟机规范》也有极大好处,但是《Java虚拟机规范》、《Java语言规范》发布十余年,一直没有...
java web OSGi (Open Services Gateway Initiative) provides a programming model for service components. Programming based on OSGi can bring many advantages, such as modular, standardized, service ...
OSGI技术教程 Eclipse公司从OSGi技术中看到未来
osig与spring:springDM开发环境配置,eclipse配置osgi开发环境,及命令
这是来自cnblogs博主 静默虚空 的文章 ,为方便离线查看,转存为了pdf
这是来自cnblogs博主 静默虚空 的文章 ,为方便离线查看,转存为了pdf
内容全面,系统讲解了利用Eclipse RCP和Spring OSGi开发大规模Java应用的核心技术;实战性强,包含大量易于操作的案例和最佳实践。 《Eclipse RCP与Spring OSGi:技术详解与最佳实践》共分3个部分:基础篇(第1-5章)...
关于OSGi当前流行技术的介绍,是OSGi入门首选~~
这是来自cnblogs博主 静默虚空 的文章 ,为方便离线查看,转存为了pdf
OSGI相关技术,对学习OSGI的朋友很有帮助啊
在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的...
这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...
给出了可用插件bridge和一个可用osgi例子,可以帮助学习osgi的同学学习部署osgi程序到tomcat中。
Java应用架构设计:模块化模式与OSGi 英文版 中文版介绍: 全球资深Java技术专家的力作,系统、全面地讲解如何将模块化设计思想引入开发中,涵盖18个有助于实现模块化软件架构的模式 中文目录: 第一部分 模块化...
把OSGI部署成一个可运行的例子,怎样 部署启动一个OSGI