我们向一些客户销售打包的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,但它正在老化)。我们不能使用enum,拳击,泛型......找到符合1.4标准的第三方库变得越来越难。
客户目前对这种旧但工作良好的设置感到满意。我们希望他们升级他们的Java运行时。在这种情况下,它意味着升级到IBM WAS 6.1或7.0?
我们能告诉他们什么?这对他们有什么影响?
到目前为止,我已经:
他们是大公司,所以他们提前一年以上计划他们的解决方案。他们今天选择了成熟产品,并在几年后部署它。然后该产品在生命结束前几个月。
答案 0 :(得分:14)
Java 1.5已于2009年11月3日终止。
因此,不再支持1.4和1.5,这意味着没有安全修复。
所以基本上唯一支持的Java平台目前是Java6(又名Java 1.6)
答案 1 :(得分:9)
你可以告诉他们决定的费用。
如果他们继续选择Java 1.4,那么添加新功能将花费$ yyy。如果他们升级,那么添加相同的功能将花费$ xxx。据推测,他们还需要升级他们的系统。如果你能向他们证明新版Java的节省超过他们升级系统的成本,那么他们可以看到,如果他们升级,他们将节省资金。
显然很难给出开发成本的准确值,但是如果你可以估计在更新版本的Java上开发速度会大约快30%(因此便宜30%)那么你可以得到一个至少粗略的数字。
答案 2 :(得分:6)
首先,给定版本的WAS支持的唯一SDK是实际随产品一起提供的SDK(换句话说,IBM不支持在另一个JDK上运行WAS,如果这很重要)。
其次,WAS实际上甚至可能不会使用更新版本的SDK(例如,WAS 6.1不会以IBM JDK 1.6开头)。
因此,需要更新的运行时可能是大迁移的同义词:JDK和应用程序服务器的资格,管理员培训,平台迁移,应用程序迁移,监视更新,部署工具,回归测试等。对于大保守的公司来说,这通常是一个复杂且极其缓慢的过程。
在您的情况下,您可以考虑分支您的软件并提供不同的版本和:
您的客户必须有充分的理由采用新版本,并且必须超出迁移成本。
答案 3 :(得分:4)
您的业务是为了满足您的客户。他们需要(无论是真实的还是感知的)坚持使用过时的平台。
所以,说“是”,但让他们知道你计划在某个特定日期增加维护并升级旧平台的价格。这是完全合理的价格上涨;您需要保持专业知识和设备,以确保您的代码在旧的,不受支持的,可以想象的不安全平台上运行。您通过支持他们当前的基础设施为他们提供真正的价值。
很高兴你不在柴油发动机业务。如果你是的话,你会有很多客户使用世界战争时代的技术。
答案 4 :(得分:2)
去过那里......客户可能很顽固。 我使用了RetroTranslator(http://retrotranslator.sourceforge.net/)和Retroweaver(http://retroweaver.sourceforge.net/)来获得Java 5的功能。但是在性能方面无能为力。
对于Java 1.5 / 1.4 EOL,Java客户可以使用Java for Business程序 - 如果您为它们付费,它们就不是EOL ...
答案 5 :(得分:1)
告诉他们安全性。我不确定太阳是否还能为旧版本提供补丁(pavanlimo回答)。
答案 6 :(得分:1)
虽然我同意给出的其他答案,但另一个考虑是你考虑过那种情况吗?您是否以这样的方式编写了应用程序,以便与其他人一起使用?我一直是系统管理员,我最大的抱怨之一就是认为我们应该在准备好后改变我们的IT环境的开发公司数量。当然,如果有2个或更多这样的开发公司向我的网站提供产品,那么就会发生冲突。
您是否以这样的方式编写了应用程序:我可以运行您选择的Java版本和(选择您的编号,但可能大于2)我需要的其他Java版本,通常在同一台服务器上,支持其他同样重要的应用程序?并建议向后兼容是无关紧要的 - 除非我选择他们的版本,否则其他供应商不会支持我。
答案 7 :(得分:0)
答案 8 :(得分:0)
为什么不去java 6? java 1.4和java 5都已经达到了生命的终点。