2

我有一个在浏览器和 Notes 客户端中运行的 XPage。在客户端中,我想与 Java 客户端 UI 对话。所以我构建了一个封装调用的 Extlib。我为网络构建了一个具有相同签名的。

如何使应用程序依赖于基于在客户端或服务器上运行的一个或另一个?

4

2 回答 2

2

您应该为此使用 OSGi 服务。

  1. 根据 Java 接口定义您的 API。编写一个导出 API 包的包。
  2. 编写 API 的两个实现,一个为“胖客户端”实现它,另一个为 Web 实现它。每个捆绑软件都将其实现作为服务提供。
  3. 在胖客户端应用程序中包含胖客户端捆绑包;在 Web 应用程序中包含 Web 包。

为了简化实现和使用服务的任务,我强烈建议使用声明式服务 (DS)。

于 2013-09-18T09:52:27.717 回答
0

对于在 XPage 中使用的 Java 插件,(根据大师的说法)有 2 种可行的基本方法(所有实现接口,所以 Neil 是正确的):

  • 将实现作为片段提供给基本插件并加载适当的片段。如果相同的插件实例被同等地部署到客户端和服务器上,这可能是一个挑战
  • 提供两种实现(例如 com.acme.server.SomeClass 和 com.acme.client.SomeClass )并让工厂类为当前运行时选择正确的类
于 2013-09-19T15:37:13.303 回答