一个OSGi用例 - 我是对还是不对?

时间:2011-05-27 12:48:54

标签: java osgi architecture modularization

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

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

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

那么,针对这类问题的OSGi技术解决方案是不是?这是用于它的目的还是我不在轨道上?

提前感谢您的回答。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

  

那么,针对这类问题的OSGi技术解决方案是不是?这是用于或是我的轨道吗?

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

查看在Eclipse RAP project之上运行的Equinox OSGI container,并执行您描述的事情。

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

答案 2 :(得分:0)

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