1

我只是熟悉 OSGi 技术 - 从未使用过但听说过很多次。我已经阅读了几篇“傻瓜”文章,但我认为我仍然无法完全理解它的用例。也许你们中的一些人可以确认我是否理解正确。

这是我可能想做的一个例子。让我们假设我想构建一个 Java Web 应用程序。简单的战争。但是,以包含不同模块的方式组织。每个模块将包含不同的功能。也许每个模块都会被打包成一个单独的罐子,我不确定。

现在,我想要的是应用程序的 UI 部分,它能够检查哪些模块也已部署,以便显示(或不显示)相关的菜单、项目、页面部分等......

那么,OSGi 技术到底能不能解决这类问题呢?这是它的用途还是我偏离了轨道?

预先感谢您的回答。

4

3 回答 3

2

是的,OSGi 技术是您在问题中提到的那种问题的解决方案。

Eclipse 是一种使用 OSGi 技术的解决方案。在 Eclipse 中,UI 将是 Eclipse 富客户端平台 (RCP),而其他模块将是 Eclipse 插件。每个模块将是一个单独的包,其中包含比 JAR 更多的组件。

您可以使用其他解决方案平台,或自己编写所有 OSGi 代码。OSGi 背后的想法是让您的应用程序更加模块化,这样您就可以更新应用程序的各个部分,而无需更新整个应用程序。

于 2011-05-27T12:59:55.863 回答
2

那么,OSGi 技术到底能不能解决这类问题呢?这是它的用途还是我是轨道?

我想说这正是 OSGi 迎合的那种场景。

查看运行在Equinox OSGI 容器之上的Eclipse RAP 项目,并执行您描述的那种事情。

vogella.de上提供了一些优秀的教程。

于 2011-05-27T13:00:19.317 回答
0

Vaadin是一个基于 osgi 的 Web 框架,您可以在其中完成此操作。或者,您可以查看OSGI 和 Equinox的书,它应该包含足够的信息来帮助您推出自己的解决方案。

于 2011-05-27T18:58:56.757 回答