Powerbuilder 10.5: обновить или уйти?

Недавно мы начали поддерживать приложение PowerBuilder 10.5, и возник вопрос, следует ли нам думать об альтернативах или поддерживать приложение в PB 10.5. Это классическое приложение PB; административное программное обеспечение, основанное на базе данных Oracle.

Прямо сейчас, приложение работает отлично, но есть две причины, по которым мы пересматриваем:

  1. Единственный разработчик этого приложения собирается уйти в отставку. Он единственный, кто обладает всеми знаниями PB, чтобы поддержать это приложение.
  2. Возможно, мы захотим улучшить предлагаемые услуги приложения. Таким образом, интеграция с другими инструментами не за горами.

Я не очень знаком с PB, но я читал его (только самые новые версии), теперь поддерживается Appeon. Последняя версия теперь 2017 R3, с выходом версии 2019.

Мне интересно, что за и против того, чтобы пытаться обновить текущую версию 10.5 до последней версии. Стоит ли обновлять? Или что за и против придерживаться версии 10.5?

Или нам стоит подумать о переходе на более новую технологию, поскольку в настоящее время так мало энергетиков? И если да, то какую технологию вы бы посоветовали?

Вместо различий между более старой и более новой PB-версиями, я ищу мотивации для обновления / переноса / вообще ничего не делать.

Благодарю.

2 ответа

Решение

Таким образом, нет четкого ответа, но мы можем привести некоторые идеи по нетехническим пунктам (по запросу).

Оставаясь на 10,5: можно сказать, что "если ничего не сломано, не чини". Если это работает, и вы довольны тем, что он делает, не двигайте его.

Однако, поскольку вы сказали, что планируете продвигать его вперед, вы можете подумать, что 10.5 не поддерживает текущие операционные системы (в течение года системы Windows, поддерживаемые в настоящее время MS, будут только Win8 и Win10), которые были ничем иным, как плодом воображения, когда вышел 10,5. Ваше приложение 10.5 может теперь работать на Win10, но это исключительно из-за работы MS над обратной совместимостью приложений и того, что вы не использовали область PB, в которой возникла проблема в будущей версии Windows. Если вам нужно добавить функциональность, может оказаться полезным использование версии, которая хотя бы предполагает, что она работает в вашей операционной системе.

Параллельный аргумент для баз данных, за исключением того, что если ваше приложение использует SQL Anywhere, база данных, которая раньше предоставлялась бесплатно в нескольких пакетах PB. Теперь это то, что вы должны приобрести отдельно.

Одна вещь, которую нужно помнить при попытке двигаться вперед со старой версией чего-либо, - это поддержка. Если вы застряли, поставщик в основном не будет с вами разговаривать, а сообщество коллег сокращается, поэтому у вас меньше шансов наладить диалог с коллегами-разработчиками.

Обновление: Обновление обычно незначительное усилие. Наиболее частые причины, по которым я видел исключения: устаревшая функциональность и кодирование, которое зависит от поведения, которое не оставалось согласованным между версиями (обещано, что некоторые поведения будут оставаться согласованными, но не все). Запустите миграционный тест со следовой версией с вашим экспертом по PB, чтобы снять этот вопрос со стола.

При обновлении нужно помнить, что модель лицензирования изменилась. Раньше у PB была постоянная модель (купи один раз, используй навсегда), но теперь это модель подписки. Является ли это улучшением для вас или нет, решать вам.

"Стоит ли" обновляться, на мой взгляд, обычно сводится к

  • Поддержка ОС
  • Поддержка БД
  • поддержка поставщиков
  • взаимной поддержки
  • устаревшие функции, и буду ли я их использовать
  • новые функции и буду ли я их использовать (и вы попросили нас не обсуждать эти два последних вопроса, которые в любом случае необходимо взвешивать очень индивидуально и которые хорошо документированы на сайте Appeon)

"Миграция": я поместил "миграцию" в кавычки, потому что я не верю, что есть технология, которая позволяет вам "мигрировать" в смысле перевода кода. (Я позволю вам прочитать одну из моих старых тирад о желании "мигрировать" из PB.) Здесь я расскажу о переписывании с использованием новой технологии. Как вытащить бизнес-правила из старой системы PB, так и переписать / переписать в другой технологии - это большое усилие.

В наши дни самый большой аргумент в пользу получения и сохранения таланта PowerBuilder. Заставить людей с ПБ за плечами трудно, и судить о законном таланте сложно, даже если кто-то с ПБ находится на вашей стороне стола для интервью. (Используйте своего уходящего на пенсию парня, если вы хотите двигаться вперед с PB.) Обучение кого-то с PB тоже не маленькая задача. Кто-то однажды спросил меня, а не преподавателя, могу ли я придумать курс и обучить его команду за неделю. Я смеялся. После двухнедельного курса, разработанного и проведенного профессиональными педагогами из тогдашнего поставщика Powersoft, я пришел домой и написал невероятно неловкий код. Мне также нужно было много времени практиковаться и получать отзывы от моих сверстников. Если вы можете найти кого-то или обучить кого-то, если они выполняют ПБ только пару недель в году, эти "мышцы" ПБ атрофируются. Независимо от технических аргументов PB против чего-то еще, если вы не можете получить талант PB для его поддержки, PB - это тупик.

Боюсь, я не из тех, кто предлагает альтернативные технологии. Раньше считалось, что с точки зрения богатых клиентских приложений вы не ошиблись, выбрав Microsoft, но с тех пор MS направила сообщество разработчиков на некоторые дикие погони, которые закончились устаревшими технологиями. Я не хотел бы быть парнем, заглядывающим в будущее, чтобы угадать.

Удачи.

Ответ Терри довольно хороший, но вопрос о миграции не был рассмотрен в отношении новых функций в PowerBuilder 2019.

Одной из основных функций PowerBuilder 2019 является C# DataStore (совместимый с.NET Core) и утилита миграции объектов DataWindow. Хранилище данных C# имеет те же API и механизм транзакций, что и хранилище данных PowerScript. Это подробно описано на веб-сайте Appeon: https://doc.appeon.com/snapobjects/api_references/Appeon.Data.PowerBuilder/DataStore/IDataStore/IDataStore.html

Если вы решите, что C# - это то, что нужно, эта функция PowerBuilder 2019 делает миграцию "портом" невизуального кода PowerScript, а не перезаписью (по причинам, упомянутым выше).

Вот пример кода PowerScript:

public function datastore of_retrieve (date ad_start, date ad_end, decimal adec_amt);
Datastore lds
lds = Create Datastore
lds.dataobject = "d_order_customer"
lds.SetTransObject(SQLCA)
lds.Retrieve(ad_start, ad_end, adec_amt)
Return lds
end function

Вот тот же пример в C# с использованием C# DataStore:

public IDataStore GetOrderCustomerInfo(DateTime startDate, DateTime endDate, decimal amount)
{
IDataStore dataStore = new DataStore("d_order_customer", _context);
dataStore.Retrieve(startDate, endDate, amount);
return dataStore;
}

Я бы порекомендовал мигрировать. Вы найдете несколько компаний, которые предлагают переход на java и.net, которые являются ведущими платформами. С точки зрения пользовательского интерфейса для меня в настоящее время единственным вариантом является веб. Использование других технологий не имеет большого смысла. Если ваша компания использует много стека MS, как MS OS, SQL-сервер. Exchange, Sharepoint и т. Д. Я рекомендую перейти на C#, в противном случае переход на Java имеет больше смысла

Другие вопросы по тегам