Причины и преимущества перехода на Java 6 для нетехнического решения (у клиента) - PullRequest
36 голосов
/ 30 июля 2010

Я бы хотел перейти с Java 5 на Java 6. Мы все знаем о технических преимуществах и преимуществах, но:

У меня проблема в том, что крупный клиент отказывается переходить с Java 5 на Java.6 из-за «рисков» и «нет / слишком мало преимуществ для нас» (банковский сектор).

На что может ответить нетехнический специалист по решению клиента, какие преимущества он получит от обновления- или иначе, какие проблемы / последствия могут возникнуть, если он останется с java 5?

Это не продукт «забей и забудь», он активно расширен новыми функциональными возможностями / возможностями - разработка есть и будетпостоянно продолжается - команда разработчиков определенно извлекла бы выгоду из возможностей / инструментов jdk 6.

РЕДАКТИРОВАТЬ: Достигнутый EOL Java 5 действительно является верной точкой,но это не убеждает клиента , потому что он использует IBM JRE / JDK 5 , который, кажется, что еще не достиг конца своей жизни .И, кроме того, клиент заявил: «Java 5 работает нормально годами, и вряд ли возникнут новые, невидимые проблемы»

Ответы [ 11 ]

29 голосов
/ 30 июля 2010

Java 5 в настоящее время намного старше своей даты окончания срока действия .Sun / Oracle больше не будет выпускать для него публичные обновления.

Java SE 5.0 находится в переходном периоде Java Technology End of Life (EOL).Период перехода EOL начался 8 апреля 2007 года и завершится 8 октября 2009 года, когда Java SE 5.0 достигнет своего конца срока службы (EOSL).

Если вы обнаружите ошибку в Java5 сейчас(например, сбой горячей точки - они случаются), вы облажались.Если у вас есть специальный контракт на поддержку с Sun / Oracle, который они предлагают для тех, кто застрял на устаревших версиях, они могут исправить это за вас.больше (более управляемый) риск миграции.

18 голосов
/ 30 июля 2010

Со временем клиент будет все больше нуждаться в обновлении из-за таких вещей, как:

  • Java 5 не поддерживается на каком-либо новом оборудовании или платформе операционной системы,
  • низкая производительность по сравнению с новыми версиями Java,
  • большие затраты на кодирование и тестирование по сравнению с более новыми выпусками Java; например из-за "непроходимости" старых API, невозможности использования потоков и т. д.
  • увеличение стоимости поддержки поставщика 1 : вам нужно заплатить за поддержку , чтобы получить исправления безопасности, и чем старше версия, тем больше вы платите (я думаю)
  • сложность удержания разработчиков Java для работы над проектами Java 5,
  • сторонние библиотеки Java больше не разрабатываются и не поддерживаются для Java 5,
  • вопросы соблюдения; например https://stackoverflow.com/a/3434063/139985
  • и т. Д.

Но чем дольше клиент откладывает обновление, тем больше будет задействован переход на версию Java и тем больше работы (и, возможно, боль) будет.

И чем дольше клиент задерживается, тем больше совокупные затраты на такие вещи, как выделение оборудования, затраты на разработку, отложенные проекты и т. Д.

Для иллюстрации предположим, что вы ждали 10 лет, чтобы перейти с Java 1.1 на Java 1.2. Это означало бы, что вы потратили бы дополнительные 10 лет на разработку приложений, использующих Hashtable и Vector в качестве основных структур данных. И когда вы наконец обновитесь, у вас будет дополнительный 10-летний «унаследованный» код, который будет сложнее поддерживать, чем если бы он был написан с использованием коллекций Java 1.2.

Но суть в том, что если клиент настаивает на том, чтобы остаться на старой версии Java, вам нужно либо выполнить их пожелания (и убедиться, что вы переносите дополнительные расходы!), Либо найти способ выйти Ваши договорные отношения с клиентом.


1 - Даты окончания срока службы / окончания обслуживания варьируются от одного поставщика к другому, но AFAIK все основные поставщики уже имеют EOL'd Java 5. Действительно, у Oracle есть EOL Java 6 и Java 7.

17 голосов
/ 30 июля 2010

Из источника :

В: Чем Java SE 6 отличается от предыдущая версия (J2SE 5.0): что улучшенные и обновленные области, такие как функциональность, безопасность, производительность

A: Любой, у кого уже есть Java приложения, сразу принесут пользу от производительности, надежности и Улучшения пользовательского интерфейса в Java SE 6. В сочетании с расширенным мониторингом и возможности диагностики, встроенные в платформа, релиз доставляет драматические преимущества "из коробки" без каких-либо изменений кодировки или даже перекомпилировать надо. Просто работает существующие приложения Java на этом последний релиз - это все, что нужно.

Подробнее по тому же вопросу (может быть полезно для уточнения для клиента):

10 основных причин для обновления до Java 6

Зачем мне обновляться до Java 6?

14 голосов
/ 30 июля 2010

Вместо того, чтобы убеждать его в отсутствии рисков, я бы предложил вместо этого поработать с ним, чтобы выработать стратегию снижения риска.

Другими словами, согласиться с тем, что если вы сможете показать, что система работает подJava 6 проходит тесты X, Y и Z, которые он с удовольствием обновит.

9 голосов
/ 02 августа 2010

Подбор / удержание персонала становится проблемой, если заявка считается устаревшей. Разработчики обычно не хотят оставаться без дела, если не видят прогресса.

5 голосов
/ 04 августа 2010

Просто скажите ему, что это незначительное обновление: покажите ему, что версия меняется с 1.5 до 1.6 с помощью команды "-version".:)

4 голосов
/ 06 августа 2010

Поскольку вы, кажется, знаете обо всех очевидных преимуществах java 6, и у клиента есть веские основания для консервативности, все, что осталось, это подчеркнуть, что отказ от перехода на java 6 будет препятствовать развитию.

Разработка будет медленнее, потому что вы, несомненно, будете тратить время на реализацию функциональности, которую вы получаете бесплатно в новых версиях .И, возможно, хуже всего то, что отсутствие регулярного обновления делает обновление более болезненным с течением времени, вплоть до того, что это становится практически невозможным .

Как правило, просроченные обновления приводят ккрайне непредсказуемый сценарий, приводящий к потере производства по всей компании в течение длительного периода времени.(при условии, что программное обеспечение влияет на достаточно большую пользовательскую базу в компании)

3 голосов
/ 08 августа 2010

Мы обновились с 1.4 до 1.6 в прошлом году.Это было огромной помощью для развития, но не без его икоты.Хотя это и не было нашей мотивацией, сегодня мы обязаны «быть в курсе» PCI (требования к обработке кредитных карт).Возможно, ваше приложение работает нормально, но я уверен, что в Java 1.5 есть некоторые дыры в безопасности, которые были исправлены с версии 1.6.

2 голосов
/ 03 августа 2010

В Short Java 6 более оптимизирован, лучше работает, надежен и в настоящее время поддерживается.Он также предоставляет расширенные возможности, такие как диагностика, отладка и т. Д.

Большинство основанных на Java технологий уже перенесены или переведены на Java 6. Даже если они прекратят поддержку более ранних версий.

1 голос
/ 08 августа 2010

Я собираюсь ответить с точки зрения клиента.

Наш цех по разработке систем все еще использует Java 5. Чтобы перейти на Jave 6, мы должны протестировать весь наш портфель.

Когда мы перешли с Java 4 на Java 5, этот процесс занял 6 месяцев и включал некоторые изменения кода (в основном это изменение имен переменных перечисления для перечисления).

В настоящее время наш цех разработки системрешил, что преимущества Java 6 не стоят трудностей миграции,

Ваш банковский клиент чувствует себя так же.Они не будут мигрировать, пока не будут вынуждены перейти на Java 6.

...