OSGi组件标准是目前Java开发最新标准之一,但是它早就成熟了。对于ISV来说,OSGi可能是有效的工具,能够促进更加模块化的组件转换。对于一些主流的开发者来说,OSGi会是福音还是诅咒呢?如果对其能力胡乱操作的话就是诅咒了。 在今年的EclipseCon上,为了更好地理解OSGi路线,SearchSOA.com编辑Jack Vaughan同EclipseSource首席技术官Jeff McAffer进行了对话。
McAffer领导Eclipse Equinox OSGi、RCP和Orbit团队。他是Eclipse平台的架构师之一,同时也是《Equinox and OSGi》一书的合著者,……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
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中。因此,我认为这些就是游戏规则颠覆者。
相关推荐
-
既熟悉又陌生的开源项目
Eclipse基金会已成立整整10年了。目前这个开源组织拥有众多项目,其中就包含了最为出名的Java IDE Eclipse以及Mylyn。本文,我们将给您介绍10个已经“掀起波澜”的Eclipse项目。
-
OSGi中该使用Blueprint还是声明式服务?
在OSGi中,服务是实现bundle间交互和应用灵活性的基石。借助于服务,我们能够降低bundle之间的耦合,更加有利于软件的重用。
-
OSGi中的服务模型与扩展者模型
在OSGi中,实现bundle间交互和扩展性有两种常见的方式,也就是服务模型(service model)和扩展者模型(extender model)。
-
Eclipse中隐藏的5个非常有用的功能
Eclipse就是一头野兽,它也是一套设备,神秘但更具威力。有些人称它为一个持续变形机。另一些人则称它是一个变异体。