Убедить клиентов перейти на Java 5 - PullRequest
13 голосов
/ 05 сентября 2010

Мы продаем упакованные веб-приложения Java некоторым нашим клиентам.В основном это набор сервлетов, некоторый веб-сервис SOAP и некоторые статические ресурсы.Мы не делаем ни EJB, ни каких-либо других интересных вещей для Java Enterprise.

Некоторые из наших клиентов используют IBM WebSphere Application Server v5.1, поэтому мы ограничены Java 1.4 для времени выполнения и разработки.Конечно, мы хотели бы сделать нашу разработку с использованием Java 5 (или даже лучше Java 6).Выполнение SOAP в 1.4 требует внешней библиотеки (мы используем AXIS, но она устарела).Мы не можем использовать enum, boxing, generics ... Все труднее найти 1.4 совместимые сторонние библиотеки.

Клиенты в настоящее время удовлетворены этой установкой "старый, но хорошо работающий".Мы хотели бы, чтобы они обновили свою среду выполнения Java.В данном случае это означает обновление до IBM WAS 6.1 или 7.0?

Что мы можем им сказать?Что для них значит?

Пока что у меня есть:

  1. Повышение производительности, поскольку JVM намного эффективнее в Java 5 (еще лучше в Java 6).Я не могу поставить цифры на это, хотя.Не уверен, что IBM VM значительно улучшилась (один из наших клиентов работает на AIX).
  2. Поддержка.IBM WAS 5.1 может поддерживаться только через специальные расширенные программы поддержки.

Это крупные корпорации, поэтому они планируют свои решения за год вперед.Сегодня они выбирают зрелый продукт и внедряют его спустя годы.После этого у продукта остается несколько месяцев до истечения срока его действия.

См. Сравнение IBM WebSphere Application Server

Ответы [ 9 ]

14 голосов
/ 05 сентября 2010

Java 1.5 достигла конца срока службы 3 ноября 2009 г.

Таким образом, ни 1.4, ни 1.5 больше не поддерживаются, что означает отсутствие исправлений безопасности.

Таким образом, единственной поддерживаемой платформой Java в настоящее время является Java6 (она же Java 1.6)

9 голосов
/ 05 сентября 2010

Вы можете сказать им стоимость их решения.

Если они продолжат выбирать Java 1.4, то добавление новой функции будет стоить $ yyy. Если они обновятся, то добавление той же функции обойдется в $ xxx. Предположительно у них также есть стоимость модернизации их систем. Если вы сможете показать им, что экономия на более новой версии Java превышает стоимость обновления их системы, они увидят, что сэкономят при обновлении.

Очевидно, что трудно дать точные значения затрат на разработку, но если вы можете оценить, что разработка будет идти, например, примерно на 30% быстрее (и, следовательно, будет на 30% дешевле) в более новой версии Java, тогда вы можете получить грубая фигура как минимум.

6 голосов
/ 05 сентября 2010

Прежде всего, единственный SDK, который поддерживается данной версией WAS, - это SDK, который на самом деле поставляется вместе с продуктом (другими словами, IBM не будет поддерживать запуск WAS на другом JDK, если это имеет значение).

Во-вторых, WAS может даже не начинаться с более новой версии SDK (например, WAS 6.1 не будет запускаться с IBM JDK 1.6).

  • БЫЛ 5.1: J2EE 1.3, JDK 1.4.2
  • БЫЛ 6.0: J2EE 1.4, JDK 1.4.2
  • БЫЛ 6.1: J2EE 1.4, JDK 1.5
  • БЫЛ 7.0: J2EE 1.5, JDK 1.6

Поэтому требование более позднего времени выполнения, вероятно, будет синонимом большой миграции: квалификация JDK и сервера приложений, обучение администраторов, миграция платформ, миграция приложений, обновление мониторинга, инструменты развертывания, регрессионное тестирование и т. Д. Это Как правило, это сложный и чрезвычайно медленный процесс с большими консервативными компаниями.

В вашем случае вы могли бы рассмотреть возможность ветвления вашего программного обеспечения и предложить другие версии и:

  • проводить техобслуживание только на старой версии
    • и укажите дату EOL для старых версий (вы не можете поддерживать ее Ad Adamam Aeternam)
  • предлагают новые функции только в новой версии
  • предлагает более агрессивные цены на новую версию

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

4 голосов
/ 05 сентября 2010

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

Итак, скажите «да», но дайте им знать, что вы планируете увеличить стоимость обслуживания и обновления старой платформы на определенную дату.Это совершенно оправданное повышение цен;вам нужно поддерживать опыт и оборудование, чтобы ваш код работал на старой, неподдерживаемой и, возможно, небезопасной платформе.Вы приносите им реальную выгоду, поддерживая их текущую инфраструктуру.

И будьте счастливы, что вы не работаете с дизельными двигателями.Если бы вы были, у вас было бы много клиентов с технологией эпохи Второй мировой войны.

2 голосов
/ 06 сентября 2010

Был там ... Клиенты могут быть упрямыми. Я использовал RetroTranslator (http://retrotranslator.sourceforge.net/) и Retroweaver (http://retroweaver.sourceforge.net/)), чтобы иметь функции Java 5. Хотя с производительностью ничего нельзя сделать.

Что касается Java 1.5 / 1.4 EOL, то для клиентов Java существует программа Java для бизнеса - они не являются EOL, если вы платите за них ...

1 голос
/ 05 сентября 2010

Хотя я согласен с другими приведенными ответами, еще одно соображение: вы рассматривали ситуацию?Вы написали приложение таким образом, чтобы оно хорошо сочеталось с другими?Я уже некоторое время являюсь системным администратором, и одна из моих самых больших проблем - это число разработчиков, которые считают, что мы должны изменить нашу ИТ-среду, когда они будут готовы.И, конечно, если есть 2 или более таких разработчиков, поставляющих продукты на мой сайт, тогда возникает конфликт.

Вы написали свое приложение таким образом, чтобы я мог запустить выбранную вами версию Java и (выберите ваше число, но оно может быть больше 2) другие версии Java, которые мне требуются, обычно натот же сервер, чтобы поддерживать другие не менее важные приложения?И предлагать обратную совместимость не имеет значения - другой поставщик не поддержит меня, пока я не выберу их выбранную версию.

1 голос
/ 05 сентября 2010

Расскажите им о безопасности.Я не уверен, что Sun все еще выпускает патчи для старых версий (pavanlimo answer).

0 голосов
/ 05 сентября 2010

Почему бы не перейти на Java 6? И java 1.4, и java 5 достигли конца своей жизни.

0 голосов
/ 05 сентября 2010

Возможно, потому что Java 1.4 достигла EOL 30 октября 2008 года. И так, их безопасность может быть поставлена ​​под угрозу!

Покажите пару примеров, где безопасность фактически была нарушена из-за Java 1.4.

Они будут достаточно напуганы ИМО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...