Java应用架构读书笔记(9):<mark>OSGi</mark>的未来

 由  罗俊杰 发布

KirK Knoernschild在《Java Application Architecture》中讲到了OSGi的未来。对于正在采用OSGi以及准备开始学习OSGi的人来说,OSGi的未来的确是一个需要考虑的问题。这里简单总结一下KK在概述中表达的观点。KK的主要观点在于OSGi有助于建立一个Java的生态系统。

以下只是KK观点的一些总结而已,并不表示我们完全同意他的所有观点。

现状

OSGi已经有十多年的历史了,虽然OSGi是现在Java平台下唯一的模块化系统,但是平心而论OSGi的传播谈不上广泛。当然OSGi也确实在发展当中(虽然并不快速),一个明显的事实就是越来越多的产品开始采用OSGi技术,并开始将OSGi的优点传播给开发者。假如OSGi成功了,那么主要的因素将不是OSGi的技术特点,而是趋势使然。如果有更多案例开始展示OSGi能够带来更少的开销,更快的响应,更快的上市时间等优势,那么OSGi的使用范围将会大大的提升。但是这些通常被认为是演化性的效果,而不是变革性的效果。

生态系统

OSGi具备拥有更大影响力的潜力(所谓的变革性的效果),即OSGi能够支持一个生态系统。生态系统的典型例子有Apple、Eclipse,Hudson以及一些社交平台,比如Facebook。他们的成功不外乎两点:

  1. 创建了一个生态系统形成和繁荣的环境,这个环境包括一个平台和一个市场
  2. 用户和开发者聚集于市场,促进了平台的发展,形成生态系统的良性循环

这些成功的平台都具有相似的特性:有一个乐于利用平台提供的基础功能来为用户创建好的解决方案的开发社区。

OSGi和模块化能够支持Java平台的生态系统。关于Java的支持生产者和消费者聚集在一起进行构件买卖的平台出现过,但是由于没有合适的构件运行平台,所以生产Java构件的趋势未能长久。而有了OSGi,Java有了所需要的运行平台。这样基于OSGi就可以构建出生态系统。企业可以购买模块并且动态的部署到你的环境中。这样开发者愿意出售自己开发的模块,而组织愿意购买模块来按需增加企业能力。业务价值是实实在在的,技术优点也是是实实在在的,因此这个生态系统就能自我维持,良性循环。

当然,不管OSGi发展如何,模块化都会是将来Java应用体系结构中的一个核心概念。


wmz 2016-01-07 21:03

OSGi开源平台+插件市场,好去处:http://osgi.help

顶(18) 踩(0) 回复

heguanosgi 2013-11-04 14:52

很好,我现在也是在搞osgi

顶(44) 踩(0) 回复
查看评论