我们向某些客户出售打包的Java Web应用程序。它基本上是servlet,一些SOAP Web服务和一些静态资源的集合。我们不做EJB也不做其他Java Enterprise奇特的东西。
我们的某些客户端正在运行IBM WebSphere Application Server v5.1,因此在运行时和开发方面我们仅限于Java 1.4。当然,我们希望使用Java 5(甚至更好的Java 6)进行开发。在1.4中执行SOAP需要一个外部库(我们使用AXIS,但是它已经老化了)。我们不能使用枚举,装箱,泛型...越来越难找到1.4兼容的第三方库。
客户目前对这种老旧但工作良好的设置感到满意。我们希望他们升级其Java运行时。在这种情况下,这意味着要升级到IBM WAS 6.1或7.0?
我们能告诉他们什么?对他们有什么用?
到目前为止,我已经:
他们是大公司,所以他们提前一年计划解决方案。他们今天选择了成熟的产品,并在数年后部署了它。然后该产品将有几个月的生命周期终止。
参见IBM WebSphere Application Server comparison
最佳答案
首先,给定版本的WAS支持的唯一SDK是该产品实际附带的SDK(换句话说,如果这很重要,IBM将不支持在另一个JDK上运行WAS)。
其次,WAS实际上可能甚至没有从更新版本的SDK开始(例如,WAS 6.1不会从IBM JDK 1.6开始)。
因此,需要更新的运行时可能会成为大型迁移的代名词:JDK和应用程序服务器的资格,管理员培训,平台迁移,应用程序迁移,监控更新,部署工具,回归测试等。这通常是大型保守公司的流程非常复杂且极其缓慢。
在您的情况下,您可以考虑分支软件并提供不同的版本,并且:
您的客户一定有充分的理由采用较新的版本,并且它必须超过迁移的成本。