专访Richard Nicholson:Paremus Service Fabric与OSGi

 由  Dongdong 发布

作者 汤泳、刘剑锋 发布于 二月 26, 2014 at InfoQ

在参加IOUC(全球甲骨文用户组领袖峰会) 2014之际,InfoQ中文站在中国OSGi联盟主席刘剑锋(Jeff Liu)的引领下,对OSGi联盟董事会董事(前董事会主席)兼Paremus公司CEO Richard Nicholson进行了专访, 就Paremus公司的旗舰产品Service Fabric以及OSGi等话题做了深入的交流。

InfoQ: 众所周之,Paremus Service Fabric很好地结合了OSGi和云,您能简单地介绍一下Paremus Service Fabric以及背后的设计思想吗?

Richard: Paremus Service Fabric是一个动态的、模块化的分布式运行时环境,由一个或多个fibre构成,每个fibre驻留了一个OSGi框架负责运行计算资源。而每个fibre或者运行在物理实体机上或者运行在虚拟机中。

其背后的设计思想是遵循了最新的 OSGi仓库(Repository)和解析器(Resolver)规范。Paremus Service Fabric通过节点的本地仓库以及远程共享的仓库来发现需要部署的资源。

InfoQ: 据我所知,Paremus Service Fabric的前身应该追溯到很多年前的一个Apache开源项目Newton,是这样吗?

Richard: 是的,我们开发了Newton,随后将之开源。Newton使用了当时分布式网络技术JINI,但是,随着OSGi的成熟和不断发展,模块化和强大的服务模型促进了软件的敏捷性,使用OSGi替代JINI意味着Newton最终被Service Fabric所取代。Service Fabric不仅仅单纯地模块化Java应用程序,对于本地的资源,例如C/C++等本地应用,Service Fabric也使用了Packager的理念来包装这些本地应用使其同样具有模块化的生命周期。这个理念非常的强大。Tim Ward在2013 JavaOne上有一个十分精彩的slide,其中详细地提到了Packager的理念与功能。

InfoQ: 那么这么好的理念,为什么不放入到OSGi核心规范或者企业级规范中呢?

Richard: OSGi R5确实没有放入,但是今后也许将考虑放入进去,毕竟,Packager的理念是一个私有化的概念,目前只有Paremus公司拥有这项技术。

InfoQ: Paremus Service Fabric是一个非常优秀的产品,但是,在中国包括业界,似乎知道它的人并不是很多, Paremus公司考虑过将其进行开源或者部分开源以便获取到更多人的关注?

Richard: 许多客户之所以选择Paremus的产品是因为他们想要一个高可靠性的模块化运行平台,而且该平台会紧密跟随OSGi联盟的公开行业标准。如果开源的话,Paremus将没有能力对必要的产品开发进行投资。我们对所有客户开放源代码,我们有一个很简单的机制使客户可以将他们对Service Fabric的补充反馈给所有使用Service Fabric的客户。实际上我们也有开源产品,如Bndtools等。其次,Paremus Service Fabric的价格相比较其他公司的产品,比如Redhat的JBOSS等都是非常有竞争力的,事实上,我们最近刚和Redhat在一个项目上竞争,我们在产品功能和总价格上比他们的所谓开源产品还有竞争力。因此,目前,我们还没有打算开源。

Jeff Liu: 我本人也是开源的严重支持者。但开源项目不是任何领域都适合。底层的库一类的开源项目是应该的,甚至是必须的,但我们几乎没有见过好的开源报税软件,或财务开源软件。

InfoQ: 您能谈谈目前OSGi的发展吗?在中国,经常听到开发人员说OSGi好看,但是不好用,想听听您的意见?

Richard: OSGi仍然在不断地进化和发展中,比如,Tim Ward正在写关于异步远程服务的规范和实现,这是一个非常有吸引力的技术,有很强的市场价值,比方说,在金融领域。另一个事实是OSGi之父Peter Kriens重回OSGi联盟。关于OSGi的平民化问题,这是一个普遍提到的问题,不仅仅在中国,在欧洲也一样。但是,OSGi联盟正在做这方面的努力,由Peter Kriens主导,目前,他正在写一系列OSGi Tutorials,包括OSGi联盟也在考虑推出开发者认证。我们已经看到了,在OSGi Tooling领域,Neil Bartlett等人已经推出了很棒的Bndtools来更加方便地构筑OSGi应用程序,Bndtools是一个非常好的工具。我们也经常看到用户正在使用其他一些OSGi的技术,例如,白板模式,Blueprint以及DS。

InfoQ: 关于Blueprint和DS,有人认为这是重复的技术,想听听您的看法?

Richard: Blueprint是基于Spring,而DS更加干净,不依赖于Spring等特定技术。如果你的应用本身就使用Spring,那么推荐使用Blueprint,因为它和Spring结合的更加好。

InfoQ: 一个老的话题,很久以前听说Jigsaw将取代OSGi,想听听您的看法?

Richard: Jigsaw已被Oracle至少推迟到Java 9才发布, 而OSGi将依然向前发展,它是业界模块化的实际标准,我对OSGi充满了信心。

查看评论