2

我正在尝试提出一种架构,该架构允许我远程分发 OSGi 捆绑包,这些捆绑包可以动态发现等。

在花了一些时间查看那里的内容之后,我倾向于使用以下内容:

  • Apache CXF(作为 OSGi 远程服务实现)
  • 弹簧动态模块
  • Eclipse 的 JAX-WS 工具组件

我试图了解的一件事是 Eclipse ECF 和 Riena 等项目在这方面的立场。它们是 Apache CXF 的替代品吗?(在这种情况下,您会建议哪一个?优点和缺点是什么?)他们包装 CXF 吗?(在这种情况下,他们添加了什么?)

提前致谢, 马特奥

4

1 回答 1

2

ECF 是 OSGi 4.2 中 RemoteServiceAdmin 规范的完整实现,CXF 目前正在重构以符合规范,但仍然是有效的分布式 OSGi(规范只是规定了如何管理它们,密钥分发的东西(什么参数添加到您的服务属性以使其可远程等)。

直到最近,ECF 还是 Equinox 唯一的 rOSGi 实现,但是依赖关系已经修复,它应该可以毫无问题地部署到 Felix、Knopplerfish 等上。

ECF 有一个可插入的传输层,有关更多信息,请参阅http://wiki.eclipse.org/ECF_Providers(某些提供程序显然不适用于分布式服务)。CXF 来自 web 服务背景,但也支持更高效的服务分发方式。

有一些关于让 Riena 使用 ECF 的讨论,但不确定它是如何消失的。

如果您有现金,Paramus 提供了一个非常好的解决方案 (http://www.paremus.com)

我不喜欢 web 服务,所以有点偏向 CXF,ECF 也是兼容的(所以你可以稍后毫无问题地转移到另一个实现)和可插入的(所以你总是可以编写自己的传输提供程序)。如果这是我的电话,并且我有现金,我会选择 Paramus,否则 ECF。

更新编辑:我最近才开始使用FuseSource Fabric,它非常好(我们已经在使用 Camel 和 Karaf,所以它很好地吻合)。在HawtDispatch上运行的 RemoteServiceAdmin显然非常非常快。

于 2011-05-17T16:28:36.637 回答