有条件地依赖图书馆吗?

时间:2013-09-18 03:06:11

标签: osgi xpages xpinc

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

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

2 个答案:

答案 0 :(得分:2)

您应该使用OSGi服务。

  1. 根据Java接口定义API。编写一个导出API包的捆绑包。
  2. 编写API的两个实现,一个实现它的#34;胖客户端"以及为网络实现它的另一个。每个捆绑包都将其实现作为服务提供。
  3. 在胖客户端应用中包含胖客户端捆绑包;在Web应用程序中包含Web捆绑包。
  4. 为了简化实施和使用服务的任务,我强烈建议您使用声明式服务(DS)。

答案 1 :(得分:0)

对于在XPage中使用的Java插件(根据主人),有两种基本方法可行(所有实现接口,因此Neil可以点亮):

  • 将实现作为片段提供给基础插件并加载适当的片段。如果将相同的插件实例同样部署到客户端和服务器
  • ,则可能会遇到挑战
  • 提供两种实现(例如com.acme.server.SomeClass和com.acme.client.SomeClass)并让工厂类为当前运行时选择正确的类