我应该将哪个库用于客户端 - 服务器osgi

时间:2011-06-13 22:40:06

标签: java scala osgi

我正在考虑在典型的java-swing客户端 - 服务器应用程序中使用osgi。

我想将服务器代码分解为osgi服务,然后将其中的一些标记为“远程导出”,然后使用捆绑包使这些服务可用于客户端。客户端还将使用osgi并包含一个连接到服务器的捆绑包,并使导出的服务可用作本地服务。

我们目前使用一些类似rmi的代码,它只是通过套接字公开单个接口。

我已经调查过了。

  • r-osgi上次发布2009年1月,当我尝试它时得到一个空指针异常,不会自动在本地注册服务
  • cfx似乎只是肥皂/休息。我们有大量的有效载荷
  • ecf使用外部日食时没有太多文档。不确定要下载什么或如何开始

其他注意事项:   - 我们需要它使用ssl并在连接时应用一些身份验证   - 如果服务器重新启动,则需要重新连接   - 代码实际上是scala

我可以添加到我们现有的类似rmi的代码,但我宁愿使用现有的库

感谢您的任何建议或经验

1 个答案:

答案 0 :(得分:1)

OSGi 4.2 specification以来,存在远程服务规范(第13章)。

到目前为止,只有3个框架实现了这个规范:ECF,Apache CFX和Paremus。

我正在使用ECF,因为它是目前最成熟的开源实现。 BTW,ECF包括R-Osgi作为可用的传输机制(R-OSGi不是独立的OSGi 4.2)和其他发现和分发机制(Zookeper,REST ......)。有一个很好的集成商指南here

OSGi大师Neil Bartlett还推荐我(通过twitter;)Paremus实施。他说这是最完整和最实用的,但它需要花钱。也许你应该看看。