当前开发/打包/分发(大)java(web)应用程序的方式有什么问题?

时间:2011-08-31 11:16:00

标签: java web-applications architecture jar osgi

有很多应用程序正在向osgi发展。互联网上有很多关于使用OSGi的好处的材料。但是我没有看到使用非OSGi(旧方法)构建/分发大型Java Web应用程序的当前方法存在的问题。可以有人

  • 首先概述非OSGi和OSGi开发,打包,分发大型Java Web应用程序的方式。
  • 其次指出与非OSGi方式相关的问题?
  • 第三,如何转向OSGi将解决这些问题。也许还会给出具体的例子和参考资源。

1 个答案:

答案 0 :(得分:3)

“当前”方式是WAR文件,它们是无共享的。如果您有三个Web应用程序并且它们都使用commons-lang,则必须部署同一个jar文件的三个副本 (你可能是对的,对大多数人来说这不是一个真正的问题)。

除此之外,OSGi还部署了捆绑包,而不是应用程序。这允许在运行时升级或激活应用程序的各个部分。但不确定这对许多人来说是否重要。实际上,缺少“应用程序粒度”导致大量“可移动部分”以构成应用程序的所有包的形式可见。这使部署人员感到困惑。 OSGi正在努力解决这个问题。

最后,在OSGi中,“容器”功能通常也是“应用程序”捆绑包的一部分(而不像JBoss那样明显与应用程序代码分开的黑盒子)。在某种程度上带上你自己的容器。非常灵活,但对于部署人员来说又令人困惑。