哪里可以应用OSGI?

时间:2012-05-11 12:02:21

标签: java architecture osgi

OSGI Alliance站点中说“......在网络环境中集成多个设备......”“...... OSGi组件系统实际上用于构建高度复杂的应用程序,如IDE(Eclipse),应用程序服务器...“”......工业自动化,住宅网关,电话等等。“

工业自动化?听起来不错。我可以想到一个监控系统,我发现了一些与汽车嵌入式系统相关的谷歌搜索结果

任何人都知道更多可以应用osgi的地方吗?

4 个答案:

答案 0 :(得分:5)

OSGi是一种将模块化应用于代码库的方法,几乎​​与目标应用程序无关,尽管模块化程度越大,代码库越大。非常紧凑的实时程序可能没有,但如果你对Java运行并在JVM上运行,那么OSGi应该是可行的。它更多地是关于如何构建代码而不是它的代码。我建议Java Application Architecture: Modularity Patterns with Examples Using OSGi (Agile Software Development Series)了解OSGi的动机。

答案 1 :(得分:2)

OSGi特别是通用模块系统。它尽量不偏向某个领域。虽然它起源于嵌入式领域,但我认为现在使用OSGi的开发人员中很小一部分都在这个领域。

我认为任何具有合理复杂性的代码都会受益于某种模块化框架,而OSGi是一个非常好的选择,尽管存在一些障碍:

  • OSGi是基于java的,所以非java项目都没有。 (除非你喜欢冒险并希望尝试Apache Celix
  • 之类的东西
  • 某些执行某些类加载技巧的库可能不适合OSGi(例如Hibernate)
  • OSGi有一点学习曲线,所以要准备投入一些时间和精力。

答案 2 :(得分:1)

  • 智能家居 - 用于设备控制,能耗控制,远程支持,远程软件供应,家庭自动化 - 有关已实施项目的示例,请参阅the OSGi page for Smart Home use cases
  • 移动设备 - 智能手机 - 示例 - 请再次参阅上述链接
  • 车辆 - 遥控,支持,读取传感器,提供导航和其他服务
  • 协助生活 - 许多项目,因为远程管理非常重要
  • 任何大型软件应用程序 - 用于添加模块化和插件管理。示例 - Eclipse;) ...

答案 3 :(得分:-2)

不,嵌入式车辆系统实际上是唯一可行的OSGi应用程序; - )