在今年 5 月份的网侠大会上,InfoQ 中文站有幸与国内 OSGi 的先锋林昊(BlueDavy)在一起探讨了 OSGi 的相关话题,包括它的优势、复杂度以及 Java 下的实现等等。
相信 SOA 现在已经是整个业界的焦点话题了。因为现在很多人都开始用 OSGi,或者说学习 OSGi,可能很多人都会想,OSGi 和 SOA 是不是有结合点?因为 OSGi 在 R4 以后,也就是说从他发行的第四个版本的规范来看,OSGi 在 R4 中引入了面向服务的组建模型,而这个可以说几乎是整个 SOA 体系中,第一个明确提出的一个实现级的规范。但是由于 OSGI 是 SingleVM 的,也就是说他只是在单 VM 中的规范,这样的话可能跟 SOA 有些不同,像 SOA 通常都是分布式领域的,这样来看的话 OSGi 可能是有点欠缺的。不过目前 OSGi 也在这方面不断的做出努力,包括在今年年底,OSGi 将会推出 RFC 119,那这个规范的话,其实就是 OSGi 用于分布式领域的规范。 我们最近从 OSGi 联盟了解到的一些消息,OSGi 和现在 SCA 的结合可能会变得更加紧密,相信在 Java 领域规范中可能会将采用 OSGi 列入规范。
来看 OSGi 对 SOA 体系的支持的话,其实主要仍然是他的面向服务的组件模型。在这方面呢,OSGi 在面向服务组件模型中明确定义了服务到底是个什么东西。那这个的话,其实在 SOA 体系中以前可能没有告诉你,你写一个服务,到底应该是什么样的。然后你的组件之间应该怎么样来交互等等,这一系列在 OSGi 中都定义的非常清楚,OSGi 可能现在用于来做 SOA 的实现还不是很齐全,毕竟它缺少分布式领域里的一些规范,但是 OSGi 在整个服务模型上的思想是值得我们参考的。
评论