AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2017, 11:05   #1  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
Переписывание приложения на другом языке
Добрый день!
В свете последних размышлений о судьба Axapta и превратности маркетинговых ходов фирмы Microsoft хотелось бы полюбопытствовать. А есть ли у кого-нибудь опыт, информация или хороший подробный материал про миграцию корпоративных приложении с одного языка на другой? Причем не смена framework, БД, или обновление версии (описаний таких море), а именно миграции приложения с java на php или python или обратно +)) иных языков, с экспертизой написанного за несколько лет и потраченных на разработку сотен тысяч человеко-часов.С legacy кодом от нескольких поколений разработчиков? Компании масштабом так от нескольких тысяч человек.
Старый 22.03.2017, 11:32   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от NetBus Посмотреть сообщение
...материал про миграцию корпоративных приложении с одного языка на другой? Причем не смена framework, БД, а именно миграции приложения с java на php или python или обратно +)) иных языков?
А как вы себе представляете миграцию с одного языка на другой без смены framework'ов и библиотек?
Старый 22.03.2017, 11:51   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от gl00mie Посмотреть сообщение
А как вы себе представляете миграцию с одного языка на другой без смены framework'ов и библиотек?
Между языками с одним фреймворком можно.
http://converter.telerik.com/

Или например в Ax7 - X++ это .NET язык, а в Ax5 - нет. Есть слой который описывает .NET FW в терминах стандартной библиотеки Ax5
За это сообщение автора поблагодарили: mazzy (2).
Старый 22.03.2017, 11:53   #4  
Pavel is offline
Pavel
SAP
SAP
 
2,760 / 239 (13) ++++++
Регистрация: 14.12.2001
Адрес: Moscow
Цитата:
Сообщение от NetBus Посмотреть сообщение
Добрый день!
В свете последних размышлений о судьба Axapta и превратности маркетинговых ходов фирмы Microsoft хотелось бы полюбопытствовать. А есть ли у кого-нибудь опыт, информация или хороший подробный материал про миграцию корпоративных приложении с одного языка на другой? Причем не смена framework, БД, или обновление версии (описаний таких море), а именно миграции приложения с java на php или python или обратно +)) иных языков, с экспертизой написанного за несколько лет и потраченных на разработку сотен тысяч человеко-часов.С legacy кодом от нескольких поколений разработчиков? Компании масштабом так от нескольких тысяч человек.
Так сама Аксапта и есть пример как раз такого переписывания... кому-то очень захотелось, чтобы бизнес-логика приложения была написана на объектно-ориентированном языке программирования (заменили XAL на Х++). Все более-менее простое переписали, а на серьезных и сложных вещах возникли, мягко говоря, трудности... получили в итоге 'недоделанный' Конкорд и кучу гемора на девелопменте, суппорте, в производительности...
Теперь что? Опять на те же грабли хочется? )))
За это сообщение автора поблагодарили: mazzy (2).
Старый 22.03.2017, 12:19   #5  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
MS хотел объединить Ax, Nav, CRM в Dynamics - опаньки.
SAP хотел перейти со своей древности на современный язык - снова опаньки.

панельный дом в кирпичный или деревянный непросто переделать.
Старый 22.03.2017, 12:53   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от belugin Посмотреть сообщение
Там только C# <-> VB.NET; я тоже о них подумал, когда писал свое предыдущее сообщение, но решил не занудствовать с такими очевидными оговорками
Цитата:
Сообщение от belugin Посмотреть сообщение
Или например в Ax7 - X++ это .NET язык, а в Ax5 - нет. Есть слой который описывает .NET FW в терминах стандартной библиотеки Ax5
Очень хороший пример: язык один, а фреймворки во многом - разные, и уже даже код на одном языке теряет переносимость. С трудом представляю, как можно было бы автоматизированно конвертировать, скажем, модуль из AX5 в кусок работающего функционала в AX7 или наоборот.
Старый 22.03.2017, 12:58   #7  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
О.. кстати 2 дня назад мне такой же вопрос задал босс. нужно оценить потенциальное время на перевод решения с AX D365 на другие языки(само решение - порядка 100 форм, большинство функциональности сбоку, что-то типа русских договоров). на выбор были предложены С#, навижн, CRM..(но можно предложить что-то свое)
кто-нибудь имел опыт кодирования в этих системах - насколько там все сложно или просто кодировать по сравнению с АХ?
Старый 22.03.2017, 13:23   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Там только C# <-> VB.NET; я тоже о них подумал, когда писал свое предыдущее сообщение, но решил не занудствовать с такими очевидными оговорками
Есть еще GWT, WebSharper и прочий траспайлинг в JS - причем в первом, насколько я помню, стандартные коллекции джавы переводятся в js.

Spolski делал wasabi - компилятор урезанного ASP в PHP и прочее.
Старый 22.03.2017, 20:06   #9  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от NetBus Посмотреть сообщение
Добрый день!
...а именно миграции приложения с java на php или python или обратно +)) иных языков, с экспертизой написанного за несколько лет и потраченных на разработку сотен тысяч человеко-часов.С legacy кодом от нескольких поколений разработчиков? Компании масштабом так от нескольких тысяч человек.
Микросервисы/REST API между слоями/компонентами приложения написанного на разных языках.

Дешевле написать с нуля улучшенную версию чем мигрировать. Экспертиза - она не в коде, а в людях. То есть сама идея миграции "код-код"- пагубна, но написать улучшенную версию используя "экспертиза-код" - это да.

Если конкретно о Java, PHP и Python - то они прекрасно могут ужиться в одном приложении. Хотя я бы рекомендовал PHP

Цитата:
Сообщение от trud Посмотреть сообщение
О.. кстати 2 дня назад мне такой же вопрос задал босс. нужно оценить потенциальное время на перевод решения с AX D365 на другие языки(само решение - порядка 100 форм, большинство функциональности сбоку, что-то типа русских договоров). на выбор были предложены С#, навижн, CRM..(но можно предложить что-то свое)
кто-нибудь имел опыт кодирования в этих системах - насколько там все сложно или просто кодировать по сравнению с АХ?
Если это не вертикальное решение для продажи, а для себя, то использовать MS навижн или MS CRM как платформу для вашего сбоку - это странно.

Для desktop версии С# будет дешевле всего. Раза в два "дороже" чем в desktop AX.

Для web версии и платформы - посмотрите Zoho CRM как неплохой вариант.
Старый 22.03.2017, 20:13   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Экспертиза - она не в коде, а в людях.
да.
причем люди - не только программисты.

Цитата:
Сообщение от ax_mct Посмотреть сообщение
Дешевле написать с нуля улучшенную версию чем мигрировать.
поэтому - нет, не дешевле
__________________
полезное на axForum, github, vk, coub.
Старый 22.03.2017, 21:12   #11  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от mazzy Посмотреть сообщение
да.
причем люди - не только программисты.

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

Понятно что миграцию .NET языков скажем из VB.NET to C sharp я даже не рассматриваю если скажем это все тот же ASP.NET Forms framework. Это даже не миграция, а лишь перевод синтаксиса.

Понятно что если есть какой-то слой front-end в JS или back-end в Java, можно переписывать не все, а только один слой. Но если говорить о нашей типичной ERP мешанине, то мне кажется что ее надо или не трогать вообще или написать заново.
Мигрировать завал сучьев - гм
Старый 22.03.2017, 21:53   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от NetBus Посмотреть сообщение
...материал про миграцию корпоративных приложении с одного языка на другой?
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Любая миграция упирается не в трансляцию кода в код, а в разность фреймворка и его библиотек.
Вы опять вне контекста.
Или опять уводите в оффтопик. Не надо этого делать.


Вопрос был не про любую миграцию.
а про миграцию корпоративных приложении с одного языка на другой.
__________________
полезное на axForum, github, vk, coub.
Старый 22.03.2017, 22:47   #13  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от mazzy Посмотреть сообщение
Вы опять вне контекста.
Или опять уводите в оффтопик. Не надо этого делать.

Вопрос был не про любую миграцию.
а про миграцию корпоративных приложении с одного языка на другой.
Виноват. Но корпоративным любое приложение делает только его предназначение. C точки зрения технологий и языков это может быть что угодно.

Вот это вот - миграция приложения:
"Миграция корпоративного веб-приложения в службу приложений Azure"
https://docs.microsoft.com/ru-ru/azu...rom-iis-server

А вот это вот миграция кода/проекта которой все равно корпоративное это приложение или домохозяек
Translate existing C# code into native PHP code
http://www.cs2php.com/
http://www.cs2php.com/how-to-begin.htm

В принципе типичное и живое корпоративное приложение отличается. Мешаниной кода и нарушением правил проектирования. Что делает любую миграцию кода полной дурью. Проще взять новую платформу и внедрить решение заново.

Да даже если бы тот проект в AX/D365 был идеален с точки зрения проектирования и разделения логики - все равно UI писать заново в новой системе, а c учетом того что все прыгает от UI и обслуживает UI, переписывать придется все. Какая тут бездумная и/или автоматизированная миграция кода? Полноценная иммиграция.
Старый 22.03.2017, 23:21   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Виноват. Но корпоративным любое приложение делает только его предназначение.
Нет. Корпоративным делают приложение люди. Которые настраивают, обслуживают, используют. Используют как само приложение, так и данные из него в других приложениях.

Цитата:
Сообщение от mazzy Посмотреть сообщение
да.
причем люди - не только программисты.
поэтому - нет, не дешевле
__________________
полезное на axForum, github, vk, coub.
Старый 23.03.2017, 06:21   #15  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,252 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от trud Посмотреть сообщение
на выбор были предложены С#, навижн, CRM
По моему личному опыту, в CRM что-то делать в несколько раз дольше, чем в AX. При этом, если AX все равно использовать надо, лицензий в 2 раза больше.
__________________
Isn't it nice when things just work?
Старый 23.03.2017, 06:31   #16  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,252 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от NetBus Посмотреть сообщение
материал про миграцию корпоративных приложении с одного языка на другой?
попробуй поискать тех, кто миграцией с cobol занимается. У них больше всего опыта. И у них все еще достаточно хороших контрактов.
__________________
Isn't it nice when things just work?
Старый 23.03.2017, 08:45   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
https://habrahabr.ru/post/219651/i/


Наконец выходит первая публичная бета-версия Netscape 6.0. Версии 5.0 не существует. Предыдущий мажорный релиз — версия 4.0 — был выпущен почти три года назад. Три года — это невероятно большой срок в мире интернета. Все это время в Netscape сидели и беспомощно наблюдали за тем, как уменьшается их доля рынка.

Это немного подло с моей стороны критиковать их за столь долгое ожидание между релизами. Они ведь не специально это сделали, правда?

Неправда! Именно так они и сделали. И этим они совершили единственную самую большую стратегическую ошибку, которую когда-либо может сделать софтверная компания.

Они решили переписать код с нуля.
За это сообщение автора поблагодарили: ax_mct (3).
Старый 23.03.2017, 09:06   #18  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ax_mct Посмотреть сообщение
В принципе типичное и живое корпоративное приложение отличается. Мешаниной кода и нарушением правил проектирования. Что делает любую миграцию кода полной дурью. Проще взять новую платформу и внедрить решение заново.
Вопрос, насколько эта мешанина внутри себя или это мешанина сама по себе.

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

Можно например скопилировать ваш модуль в IL и посмотреть чем-то типа Telerik Decompiler и взять за основу получившийся код.
Старый 23.03.2017, 10:25   #19  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от macklakov Посмотреть сообщение
попробуй поискать тех, кто миграцией с cobol занимается. У них больше всего опыта. И у них все еще достаточно хороших контрактов.
Точно так же в цене в 2030 году буду седовласые (ну или лысые) старики помнящие что такое X++ - рано или поздно надо же будет когда-нибудь энтерпрайз-клиентов ax_mct апгрейдить
P.S. Получается, что апгрейдиться сейчас на распоследнюю версию, что ждать до последнего пока продукт напрочь не устареет и будет запускаться только на железе из антикварной лавки - со всех сторон профит. Надо только дожить..
__________________
-ТСЯ или -ТЬСЯ ?

Последний раз редактировалось Vadik; 23.03.2017 в 10:32.
Старый 23.03.2017, 10:37   #20  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
Вопрос был не про любую миграцию.
а про миграцию корпоративных приложении с одного языка на другой.
Любое приложение это набор сущностей, плюс связи между ними плюс язык. В корпоративных приложениях сущностей много, а связей очень много.
И если сущности еще можно как-то перетащить, например заказ это набор полей в шапке и набор полей в строках. С алгоритмами сложнее, если в одном языке есть сборщик мусора, а в другом нет и это будет проблема. С языком еще сложнее. Как пример - переводить X++ на язык в котором нет контейнеров?
Возникают те же проблемы, что и с переводом с человеческого на человеческий, red brick это красный кирпич, но red fox это рыжая лиса, а не красная. И если это не учитываешь, получается не english, а рунглиш. Проще и дешевле переписать.

Последний раз редактировалось AlexeyS; 23.03.2017 в 10:40.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему у меня главная страница http://axforum.info открывается на англ. языке ? Poleax Обсуждение форума 19 07.12.2010 17:31
Кто на каком языке предпочитает читать документацию? miklenew Курилка 21 16.06.2009 17:07
Добавлен блок для обсуждений на немецком языке. EVGL - модератор. Поздравляем. mazzy Информация для участников 5 28.02.2007 15:52
Программить на X++ или на другом языке? miklenew Курилка 58 28.11.2006 15:45
Вопросы и ответы (на англ. языке) Роман Кошелев Информация для участников 0 11.12.2001 15:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:48.