Является ли DataNucleus преемником Kodo JDO? - PullRequest
0 голосов
/ 03 ноября 2018

Я унаследовал 15-летнее JEE-приложение, которое использует уже давно неподдерживаемый уровень персистентности, называемый Kodo от Solarmetric (v4) . Solarmetrics был выкуплен компанией BEA, а затем Oracle. Поддержка этого уровня персистентности давно прекратилась, и я полагаюсь на 15-летнюю технологию, чтобы обеспечить применение.

Я хочу изменить реализацию персистентности. Из того, что я смог сделать вывод, Kodo основан на спецификации JDO (но не совсем уверен, какая версия).

Заменить технологию на Hibernate или чистое решение JPA было бы кошмаром - слишком большая часть логики, встроенной в приложение, полагается на идентификатор сущности JDO.

Вместо этого я смотрю, смогу ли я упростить обновление / замену более современной реализацией JDO, такой как DataNucleus.

Есть ли у кого-нибудь опыт / истории успеха в обновлении такой старой технологии до чего-то более позднего? Совместима ли DataNucleus с чем-то таким же старым и неподдерживаемым, как Kodo? Изменились ли спецификации JDO с 2005 года настолько, чтобы реализация на основе 2005 потребовала большой переписки для поддержки реализаций 2018 года?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Я не работал с Kodo, но работал с другими реализациями JDO и DataNucleus. Все, что я могу сказать, так это то, что, я полагаю, будет возможно перенести код в DataNucleus. Обычно предполагается, что он обратно совместим, и в основном меняется конфигурация, а не код. Я настоятельно рекомендую не пытаться перевести его на другие стандарты, поскольку JDO гораздо шире и эластичнее, чем JPA или Hibernate - так что его будет не только легче переносить, но и легче для дальнейшего развития.

0 голосов
/ 03 ноября 2018

DataNucleus - это независимая (с открытым исходным кодом) реализация JDO (и JPA тоже в этом отношении). Он начал свою жизнь как TJDO, затем стал JPOX (и стал эталонной реализацией для JDO 2.0), прежде чем сменил свое имя на DataNucleus в 2008 году. Это все еще эталонная реализация для JDO (JDO2.0, 2.1, 2.2, 3.0, 3.1, и 3,2).

В настоящее время он реализует JDO 3.2, который является гораздо более продвинутым, чем все, что когда-либо поддерживал Kodo (они делали JDO 2.0 до того, как Oracle подставил любого, кто использовал его, отказавшись от него). Люди успешно обновили приложения JDO для использования DataNucleus от других поставщиков JDO, но ответ на этот вопрос зависит от того, использовали ли вы расширения Kodo для поставщиков. Конечно, DataNucleus также является открытым исходным кодом (в отличие от Kodo), поэтому вы защищены от получения выкупа компаниями и можете внести исправления, если у вас возникли проблемы.

JDO значительно расширился со времени JDO 2.0 (то, что вы используете), добавляя аннотации, вводите безопасные запросы, многие другие методы запросов, а также другие функции. Все выпуски JDO предназначены для обратной совместимости с тем, что я помню. Посмотрите на веб-сайт Apache JDO и DataNucleus docs , чтобы увидеть, что изменилось в JDO.

...