我正在考虑在典型的java-swing客户端 - 服务器应用程序中使用osgi。
我想将服务器代码分解为osgi服务,然后将其中的一些标记为“远程导出”,然后使用捆绑包使这些服务可用于客户端。客户端还将使用osgi并包含一个连接到服务器的捆绑包,并使导出的服务可用作本地服务。
我们目前使用一些类似rmi的代码,它只是通过套接字公开单个接口。
我已经调查过了。
其他注意事项: - 我们需要它使用ssl并在连接时应用一些身份验证 - 如果服务器重新启动,则需要重新连接 - 代码实际上是scala
我可以添加到我们现有的类似rmi的代码,但我宁愿使用现有的库
感谢您的任何建议或经验
答案 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实施。他说这是最完整和最实用的,但它需要花钱。也许你应该看看。