我们向某些客户出售打包的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?

我们能告诉他们什么?对他们有什么用?

到目前为止,我已经:

  • 更好的性能,因为Java 5中JVM的效率更高(Java 6甚至更高)。不过,我无法在上面加上数字。不知道IBM VM是否已改进很多(我们的一个客户端正在AIX上运行)。
  • 支持。仅可以通过特殊的扩展支持程序来支持IBM WAS 5.1。

  • 他们是大公司,所以他们提前一年计划解决方案。他们今天选择了成熟的产品,并在数年后部署了它。然后该产品将有几个月的生命周期终止。

    参见IBM WebSphere Application Server comparison

    最佳答案

    首先,给定版本的WAS支持的唯一SDK是该产品实际附带的SDK(换句话说,如果这很重要,IBM将不支持在另一个JDK上运行WAS)。

    其次,WAS实际上可能甚至没有从更新版本的SDK开始(例如,WAS 6.1不会从IBM JDK 1.6开始)。

  • WAS 5.1:J2EE 1.3,JDK 1.4.2
  • WAS 6.0:J2EE 1.4,JDK 1.4.2
  • WAS 6.1:J2EE 1.4,JDK 1.5
  • WAS 7.0:J2EE 1.5,JDK 1.6

  • 因此,需要更新的运行时可能会成为大型迁移的代名词:JDK和应用程序服务器的资格,管理员培训,平台迁移,应用程序迁移,监控更新,部署工具,回归测试等。这通常是大型保守公司的流程非常复杂且极其缓慢。

    在您的情况下,您可以考虑分支软件并提供不同的版本,并且:
  • 仅对旧版本进行维护
  • 并为旧版本定义EOL日期(您无法维护Ad Vitam Aeternam)
  • 仅在新版本上提供新功能
  • 在新版本
  • 上提供更激进的定价

    您的客户一定有充分的理由采用较新的版本,并且它必须超过迁移的成本。

    09-26 21:55
    查看更多