OSGi组件标准是目前Java开发最新标准之一,但是它早就成熟了。对于ISV来说,OSGi可能是有效的工具,能够促进更加模块化的组件转换。对于一些主流的开发者来说,OSGi会是福音还是诅咒呢?如果对其能力胡乱操作的话就是诅咒了。
在今年的EclipseCon上,为了更好地理解OSGi路线,SearchSOA.com编辑Jack Vaughan同EclipseSource首席技术官Jeff McAffer进行了对话。McAffer领导Eclipse Equinox OSGi、RCP和Orbit团队。他是Eclipse平台的架构师之一,同时也是《Equinox and OSGi》一书的合著者,该书最近由Addison-Wesley出版社出版。我们的对话始于resolver hook、低水平的软件,这些软件本质上能够促成更好的高水平编程框架,但是却可能创造出“不可解析”状态。
SearchSOA:我听到有关专家探讨resolver hook,他们说在OSGi中有新东西,但是却触及不到。你怎么看待呢?
Jeff McAffer:我可能就这式样说的专家之一吧,触及不到,但是实际的意思是基础技术中的新事物,正在使OSGi中的附加可配置型和灵活性成为可能。但是这样说更多的是从系统层面,并不是应用层面。
Resolver hook落实到位能够解决具体技术问题,也就是大家希望在OSGi之上创建新框架。但是,实际上,普通应用程序员不需要那个层面的灵活性。他们所需要的是更高的粒度,他们可以在更加抽象的层面上工作。现实中,你毕竟不希望程序员编程(OSGi),因为这实际上相当低能。它完全适用于系统层得编程,不是应用层编程。因此,你所看到的这些新事物,很酷很强大,实际使用是为了帮助正在进行应用框架编程的人们,不是系统层的东西。所以这才是你实际看到的。
SearchSOA:你是否看到基于OSGi系统进驻到企业中呢?
McAffer:这很令人兴奋。人们正在考虑利用OSGi,而且OSGi正在接近企业。我们看到OSGi出现在所有主要的应用服务器中,大家在嵌入式和现有应用服务器中使用OSGi。应用服务器本身中OSGi也是可行的。
像Eclipse中的Virgo项目,本质上建于先前存在的SpringSource 的DM服务器技术之上。我们看到越来越多的人们对OSGi感兴趣。它贯穿于很多领域中,像银行应用、银行应用网站、旅游网站和像已经由服务器完成的企业内部的企业软件。因此Equinox(编者注:OSGi的实施)在各处都出现。
SearchSOA:你一直紧密围绕Eclipse工作。可以尝试帮我们描述一下Eclipse的影响吗?
McAffer:确实是这样。实际上如果你回顾十年前, 那时,人们为了钱正在卖Java IDE,那是相当基础的功能。我们基本说:“好吧,现在都免费了,因此我们必须更上一层楼。”我们似乎正在看到这个的下一个趋势,也就是服务器端Java模块化。
当你着眼于大局的时候,我们所做的是证明模块化是个好东西,而且很强大。在某种程度上,我们已经证明了模块化很好,细粒度模块化很好,而且可以成功运用在Java中。因此,我认为这些就是游戏规则颠覆者。
【编辑推荐】