我工作的客户端有大约 150 个在 WebSphere 上运行的 Web 应用程序,它是各种 Java 模式、框架等(Spring、JSF、GWT、WebServices、RESTful 等)的混搭。必须减少 jar 版本和功能的重复性,以改善我们的环境和开发生命周期。
例如,我们需要 WebApp_A 来使用 CompanyJar_v1.1.jar,我们需要 WebApp_B 来使用 CompanyJar_v1.5.jar。
我知道 OSGi 是一种选择,但我听说 Spring 和 OSGi 可能存在一些问题,而且我们的应用程序严重依赖 Spring。这可能是也可能不是问题。另一个问题是升级我们的应用程序以利用 OSGi 的工作量。我们了解更新我们的应用程序所需的任何方法、时间和精力,但我们希望将其保持在最低限度。但是,如果最好的长期解决方案需要更多的精力来更新应用程序,那就这样吧。
我们也可以利用 WebSphere 的共享库功能,但我们不喜欢使用 WebSphere 特定的解决方案。从服务器的角度来看,这也很麻烦,因为我们有太多需要管理的版本化 jar。
有没有人将他们复杂的环境迁移到更模块化的环境中?如果是这样,团队应该问自己什么问题?我们应该考虑哪些技术?
谢谢,肖恩