代码之家  ›  专栏  ›  技术社区  ›  Fortyrunner

有人发现OSGi在公司应用程序中有用吗?[关闭]

  •  15
  • Fortyrunner  · 技术社区  · 14 年前

    是否有人在OSGi中部署了公司应用程序并发现它有用?

    我可以看到好处、强制模块化、良好的依赖性定义等,但这些似乎主要是与构建相关的改进。

    是否有人发现动态替换现有模块很有用?我们倾向于按流程分割应用程序,老实说,用更新的库启动应用程序的新实例并不难。OSGi对此有用吗?

    更换模块的可靠性如何?令我吃惊的是,如果您有一个非常繁忙的处理过程,并且正在进行很多工作,那么更换正在运行的模块就充满了危险。

    4 回复  |  直到 12 年前
        1
  •  9
  •   ThinkingStiff    12 年前

    我刚在博客上写了原因 we didn't go with OSGi

    简言之,我相信OSGi的基础是坚实的,但它不是为大规模应用程序开发而构建的。它在已经充满挑战的开发/部署过程中引入了摩擦。我希望看到OSGi规范的领导更加关注OSGi的开发人员/用户角色,使其对开发过程不可见。另外,我对JVM仍然没有透明的模块标准感到震惊。

        2
  •  7
  •   Gilbert Le Blanc    14 年前

    我们的大多数应用程序都是Web应用程序。

    我们有一个OSGi厚客户端,它收集生物特征信息。照片和指纹通过指纹卡扫描,目前。

    OSGi对我们的好处是,我们可以从一个中心网站更新插件,而不是使用卸载/安装过程。我们的厚客户将在美国100多个地方,所以这对我们很重要。

        3
  •  4
  •   Ramp    14 年前

    我在电信环境工作。像OSGi这样的东西对我们非常有用。我们将应用程序部署到那些在不影响收入的情况下无法离线的客户机上。他们每秒处理数千个呼叫。现在,他们必须在维护窗口中进行更新,才能接受新的修复或更新。

    如果我们能够作为一个热部署提供修复和增强,那么这将是一个巨大的好处。当然,在我们做模拟交通测试之前,还有一个风险因素和额外的测试工作。

    OSGi不仅仅是用于动态更新,它还有助于像版本控制这样的事情,以确保在复杂环境中选择正确的版本。

    我们开始研究OSGi,如果我发现更有趣的东西,我会发布更新。


        4
  •  3
  •   Uberto    14 年前

    我们在一家大电信公司使用它。我们已经生产了2年,并且我们正在继续增加捆绑包,现在我们有大约110个捆绑包。

    操作人员很高兴这给了他们很好的控制:他们可以开始停止单一功能并监控它们。理论上,我们也可以在生产中热部署一个新版本,但实际上,我们只有在进行测试和预处理时才使用这个特性。

    我们的BroadBrush架构基于此架构: http://servicemix.apache.org/home.html

    我们的主要问题是总是尝试在OSGi中使用标准的Java框架。第二个问题是包导入/导出管理本身。我们正在使用Maven插件。

    总之,我们对这个选择很满意,但您需要考虑两件事: 1。您愿意与任何要添加的Java框架进行战斗吗? 2。你是否有足够的纪律,不把依赖搞乱?