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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.03.2017, 11:05   #1  
NetBus is offline
NetBus
Участник
 
184 / 68 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
Переписывание приложения на другом языке
Добрый день!
В свете последних размышлений о судьба Axapta и превратности маркетинговых ходов фирмы Microsoft хотелось бы полюбопытствовать. А есть ли у кого-нибудь опыт, информация или хороший подробный материал про миграцию корпоративных приложении с одного языка на другой? Причем не смена framework, БД, или обновление версии (описаний таких море), а именно миграции приложения с java на php или python или обратно +)) иных языков, с экспертизой написанного за несколько лет и потраченных на разработку сотен тысяч человеко-часов.С legacy кодом от нескольких поколений разработчиков? Компании масштабом так от нескольких тысяч человек.
Старый 22.03.2017, 11:32   #2  
gl00mie is offline
gl00mie
Участник
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Most Valuable Professional
 
3,486 / 4399 (153) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Цитата:
Сообщение от NetBus Посмотреть сообщение
...материал про миграцию корпоративных приложении с одного языка на другой? Причем не смена framework, БД, а именно миграции приложения с java на php или python или обратно +)) иных языков?
А как вы себе представляете миграцию с одного языка на другой без смены framework'ов и библиотек?
Старый 22.03.2017, 11:51   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,935 / 2078 (77) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от 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,720 / 230 (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
 
1,179 / 97 (6) ++++
Регистрация: 11.01.2006
MS хотел объединить Ax, Nav, CRM в Dynamics - опаньки.
SAP хотел перейти со своей древности на современный язык - снова опаньки.

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

Spolski делал wasabi - компилятор урезанного ASP в PHP и прочее.
Старый 22.03.2017, 20:06   #9  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,609 / 512 (21) +++++++
Регистрация: 10.10.2005
Адрес: PHP
Цитата:
Сообщение от 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  
online
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
28,479 / 3359 (168) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Экспертиза - она не в коде, а в людях.
да.
причем люди - не только программисты.

Цитата:
Сообщение от ax_mct Посмотреть сообщение
Дешевле написать с нуля улучшенную версию чем мигрировать.
поэтому - нет, не дешевле
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 22.03.2017, 21:12   #11  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,609 / 512 (21) +++++++
Регистрация: 10.10.2005
Адрес: PHP
Цитата:
Сообщение от mazzy Посмотреть сообщение
да.
причем люди - не только программисты.

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

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

Понятно что если есть какой-то слой front-end в JS или back-end в Java, можно переписывать не все, а только один слой. Но если говорить о нашей типичной ERP мешанине, то мне кажется что ее надо или не трогать вообще или написать заново.
Мигрировать завал сучьев - гм
Старый 22.03.2017, 21:53   #12  
online
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
28,479 / 3359 (168) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от NetBus Посмотреть сообщение
...материал про миграцию корпоративных приложении с одного языка на другой?
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Любая миграция упирается не в трансляцию кода в код, а в разность фреймворка и его библиотек.
Вы опять вне контекста.
Или опять уводите в оффтопик. Не надо этого делать.


Вопрос был не про любую миграцию.
а про миграцию корпоративных приложении с одного языка на другой.
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 22.03.2017, 22:47   #13  
ax_mct is offline
ax_mct
Участник
Аватар для ax_mct
 
1,609 / 512 (21) +++++++
Регистрация: 10.10.2005
Адрес: PHP
Цитата:
Сообщение от 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  
online
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
28,479 / 3359 (168) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Виноват. Но корпоративным любое приложение делает только его предназначение.
Нет. Корпоративным делают приложение люди. Которые настраивают, обслуживают, используют. Используют как само приложение, так и данные из него в других приложениях.

Цитата:
Сообщение от mazzy Посмотреть сообщение
да.
причем люди - не только программисты.
поэтому - нет, не дешевле
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 23.03.2017, 06:21   #15  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
1,970 / 868 (32) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от 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
 
1,970 / 868 (32) +++++++
Регистрация: 03.04.2002
Адрес: Australia
Цитата:
Сообщение от NetBus Посмотреть сообщение
материал про миграцию корпоративных приложении с одного языка на другой?
попробуй поискать тех, кто миграцией с cobol занимается. У них больше всего опыта. И у них все еще достаточно хороших контрактов.
__________________
Isn't it nice when things just work?
Старый 23.03.2017, 08:45   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,935 / 2078 (77) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
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
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
Сотрудники Microsoft Dynamics
 
3,935 / 2078 (77) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Цитата:
Сообщение от ax_mct Посмотреть сообщение
В принципе типичное и живое корпоративное приложение отличается. Мешаниной кода и нарушением правил проектирования. Что делает любую миграцию кода полной дурью. Проще взять новую платформу и внедрить решение заново.
Вопрос, насколько эта мешанина внутри себя или это мешанина сама по себе.

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

Можно например скопилировать ваш модуль в IL и посмотреть чем-то типа Telerik Decompiler и взять за основу получившийся код.
Старый 23.03.2017, 10:25   #19  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
 
3,290 / 1304 (50) ++++++++
Регистрация: 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
Участник
 
322 / 219 (8) ++++++
Регистрация: 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, время: 21:47.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.