|
29.03.2018, 19:12 | #1 |
Участник
|
mfp: X++ the most extensible language on the planet!
Источник: https://blogs.msdn.microsoft.com/mfp...-the-planet-2/
============== Disclaimer: I have no idea if the title is true or not. There are no world cups for languages competing against each other for the trophy. What I do know is that X++ has taken some gigantic leaps forward lately in terms of extensibility – if someone decides to host a world cup; I'd be... ============== Источник: https://blogs.msdn.microsoft.com/mfp...-the-planet-2/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
30.03.2018, 10:43 | #2 |
Участник
|
Как это расценить ?
MFP объявил что серьезных изменений теперь не будет - они получили что хотели и теперь все ок ? |
|
30.03.2018, 11:04 | #3 |
Участник
|
Ну 8.0 с хардсилом, значит все ISV в сторе смогли в екстеншены, а значит и остальные смогут, походу такая логика. На самом деле не все так плохо, вот вам чего не хватает ?
|
|
30.03.2018, 11:13 | #4 |
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
30.03.2018, 11:43 | #5 |
Участник
|
|
|
30.03.2018, 11:59 | #6 |
Модератор
|
Можно, но неспортивно. И не хочется посередине проекта "перескакивать" на кастомную entity только потому что надо добавить pre- или post- логику, и хотфиксы портировать лень. Вот зачем спрашивается createXXX и updateXXX методы в LedgerJournalEntity было делать protected? Что им, жалко что ли?
Цитата:
Ещё что ?
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 30.03.2018 в 16:28. |
|
30.03.2018, 18:00 | #7 |
Banned
|
Цитата:
Понятно доступ к методам что это обозначение интерфейса, но это как интерфейс процесса пищеварения, в био-системах как тело человека и AX - бессмысленно. MFP может гордится тем что сделал то что до него не делал никто. Он типа расширил сам язык, а не фреймворк или продукт как делают другие. Но языка то на самом деле - нет. Есть продукт и только. При этом я не вижу что тут такое в списке крутого. Летающая курица. Цитата:
|
|
30.03.2018, 14:22 | #8 |
Участник
|
Цитата:
Нехвататет как минимум тулинга, т.е. самые простые действия - сравнить базовый класс с экстеншеном, IntelliSense не везде работает, перекрестные ссылки и т.д. Да вообще конечно интерестна судьба 8.0, решатся ли сделать полное закрытие |
|
30.03.2018, 11:21 | #9 |
Banned
|
Ни один из мне известных клиентов Microsoft Services не собирается обновляться. Читаем по слогам: даже клиенты, которым внедрил Microsoft, не собираются обновляться на новую версию продукта от Microsoft, поскольку код от Microsoft весь полон overlayering, и клиенты не хотят платить дважды.
Money talks, heads roll. |
|
|
За это сообщение автора поблагодарили: ax_mct (10). |
30.03.2018, 11:42 | #10 |
Модератор
|
Цитата:
Новые проекты на которых я работаю (7.2, 7.3) - без overlayering. Старые проекты - есть грех, но нашего кода там минимум (не везде стандарт подлезть позволял) плюс клиентская команда и второй партнер которого клиент задешево аутсорсит
__________________
-ТСЯ или -ТЬСЯ ? |
|
30.03.2018, 11:41 | #11 |
Участник
|
А кто их будет спрашивать? Вот про platform update же не спрашивают, поставили дату и все. Есть\были ли у кого-то клиенты на 7.0? Что с ними случилось когда закончилась поддержка ?
|
|
01.04.2018, 09:10 | #12 |
Участник
|
Цитата:
... allows multiple extenders to live side-by-side without risk of collision.
Что касается сравнения аксапты с человеческим телом, то я бы скорее провел другую аналогию. ERP система - это мозг, а персонал и оборудование – всё остальное. Человечество хорошо научилось менять устаревшие/износившиеся персонал и оборудование. |
|
|
За это сообщение автора поблагодарили: Ivanhoe (2). |
01.04.2018, 12:50 | #13 |
Участник
|
Цитата:
Раскройте, пожалуйста, эту аналогию. Внутри могзга нет интерфейсов? ERP система работает как нейросеть? Мне вот кажется, что как раз персонал выполняет функцию ERP системы там, где их нет. Есть ли интерфейсы между отделами? Можно как-то перейти от неясных аналогий к логическим построениям? |
|
02.04.2018, 11:42 | #14 |
Участник
|
Не могу сказать, что внутри мозга есть интерфейсы. Внутри мозга есть множество взаимосвязанных отделов. К примеру, вот так связаны 215 областей мозга мыши:
Если взять все объекты (или группы объектов с одинаковым префиксом) из АОТ и так же расположить по кругу, а потом нарисовать связи в соответствии с перекрестными ссылками, то должна получиться сходная картина. Кроме того, принято условно делить мозг на 3 отдела, рептильный, лимбический и неокортекс. Рептильный мозг, самый древний и глубокий, отвечает за базовые инстинкты, лимбический (мозг птиц и низших млекопетающих) отвечает за эмоции. Неокортекс позволяет нам вести вот эту дискуссию. Насколько я знаю. для запуска AOS достаточно модели Application Platform. Очень напоминает рептильный мозг, работающий даже когда хозяин в коме. Application Foundation -- это как лимбический мозг. И, наконец, все остальные модели -- это неокортекс. Всё условно, конечно. Персонал действительно выполняет функцию ERP системы, но не там, где ее нет (она везде есть, пусть даже в виде скоросшивателя, никто не держит все проводки в голове), а где ее функциональности не хватает. Если полностью заменить персонал и оборудование, включая директора и калькулятор, но оставить скоросшиватель, новый персонал вполне сможет продолжить с работу в этой системе. Что касается интерфейсов между отделами. Я бы сказал, это довольно условно. Однажды попросили меня дать права доступа к оплате кредитной картой простому складскому рабочему. Я, конечно, поинтересовался у консультанта, не попутал ли он чего, ведь рабочий на складе обычно переставляет ящики. На что мне ответили, что в их бизнес-сценарии рабочий на складе должен брать в руки ящик только после того, как поступит оплата кредитной картой. |
|
|
За это сообщение автора поблагодарили: belugin (5). |
02.04.2018, 13:17 | #15 |
Участник
|
Цитата:
Цитата:
Персонал действительно выполняет функцию ERP системы, но не там, где ее нет (она везде есть, пусть даже в виде скоросшивателя, никто не держит все проводки в голове), а где ее функциональности не хватает. Если полностью заменить персонал и оборудование, включая директора и калькулятор, но оставить скоросшиватель, новый персонал вполне сможет продолжить с работу в этой системе.
Цитата:
Что касается интерфейсов между отделами. Я бы сказал, это довольно условно. Однажды попросили меня дать права доступа к оплате кредитной картой простому складскому рабочему. Я, конечно, поинтересовался у консультанта, не попутал ли он чего, ведь рабочий на складе обычно переставляет ящики. На что мне ответили, что в их бизнес-сценарии рабочий на складе должен брать в руки ящик только после того, как поступит оплата кредитной картой.
Вообще у меня в голове вертится абстрактная идея разделить сущности - типа проводки - и бизнес-процессы. Сущности давать только расширять и создавать новые, бизнес-процессы можно менять (условно, разрешить оверлееринг на некотром подмножестве моделей, которые описывают бизнес правила) но это потребовал бы адского рефакторинга. |
|
02.04.2018, 14:58 | #16 |
Banned
|
Цитата:
Сообщение от belugin
Вообще у меня в голове вертится абстрактная идея разделить сущности - типа проводки - и бизнес-процессы. Сущности давать только расширять и создавать новые, бизнес-процессы можно менять (условно, разрешить оверлееринг на некотром подмножестве моделей, которые описывают бизнес правила) но это потребовал бы адского рефакторинга.
|
|
02.04.2018, 15:16 | #17 |
Участник
|
Вся эта штука с экстеншенами - фактически, как я понял, для облегчения обновления. Например, как сейчас можно получить новую платформу без апгрейда кода - потому что есть инетрфейсы и она обратно совместима - кастомеры смогут получить. Новую функциональность не вкладывая большие ресурсы в апгрейд кода. Примерно как сейчас апгрейд винды.
|
|
02.04.2018, 17:21 | #18 |
Banned
|
Цитата:
Сообщение от belugin
Вся эта штука с экстеншенами - фактически, как я понял, для облегчения обновления. Например, как сейчас можно получить новую платформу без апгрейда кода - потому что есть инетрфейсы и она обратно совместима - кастомеры смогут получить. Новую функциональность не вкладывая большие ресурсы в апгрейд кода. Примерно как сейчас апгрейд винды.
Те же Netsuite, SalesForce предоставляют API к транформаторной будке и это намного честнее. В чем крутизна хитро-изогнутых инструментов X++ если нельзя ими лазить - непонятно. Поэтому лучше бы MFP посыпал голову пеплом. Мальчишки-живодеры. Я кстати написал там у него вежливый но саркастичный комментарий два дня назад, но полагаю что его не пропустят. Например я задал вопрос как много сейчас программистов X++ v.7-8 во всем мире вне стен Microsoft. И пожалел что пока еще нет лямбд и шаблонов на уровне языка. |
|
02.04.2018, 19:58 | #19 |
Участник
|
Вы таки будете смеяться, но мне вся эта история с запретом оверлеинга и введением хардлока напоминает историю с лоботомией как методом лечения. Вы почитайте про нее в Википедии, очень интересно. Сто лет назад один товарищ выяснил, что пересечение волокон в лобных долях делает из буйного пациента (читай, любителя всё оверлеить) спокойного и послушного (согласного подогнать бизнес процессы под стандарт). Были написаны многие статьи и проведены десятки тысяч операций. Были и критики, но их до поры до времени никто из приверженцев нового метода не слушал. Они даже обосновали экономическую целесообразность такого лечения:
Цитата:
... В начале 1940-х годов лоботомия уже широко применялась в США. Во время Второй мировой войны психиатрические отделения госпиталей Управления по делам ветеранов были заполнены множеством солдат, возвращавшихся с фронта и испытавших тяжёлое душевное потрясение. Эти пациенты часто оказывались в состоянии возбуждения, и чтобы осуществлять контроль над ними, требовалось множество медсестёр и другого вспомогательного медперсонала, что приводило к необходимости больших расходов. Таким образом, одной из главных причин широкого распространения лоботомии стало стремление снизить расходы на содержание обслуживающего персонала...
|
|
|
За это сообщение автора поблагодарили: fed (3), Logger (5), NetBus (3). |
03.04.2018, 09:50 | #20 |
Moderator
|
Я просто замечу, что микрософт вложился в Extensions model в надежде на то что клиенты будут более регулярно обновлятся на свежие версии, а микрософт сможет снизить затраты на поддержку. Опыт показывает, что снижение трудозатрат либо пренебрежимо мало, либо вообще отрицательное.
Просто мне пришлось на одно из наших достаточно сильно кастомизированное приложение на Dax2012R2 устанавливать аж 3 CU (CU5, CU7, CU12). Средние мои (то есть - технического консультанта/разработчика) трудозатраты на обновление всех трех окружений (DEV,TEST,PROD), составляли, наверное, около 5-6 человеко-дней. Собственно мерджинг кода в DEV составлял порядка 8-12 часов. Остальное уходило на обновление данных и всякие другие технические мероприятия. При обновлении D365 с extensions, трудозатрат на мерджинг нет. Однако же трудозартаты на то чтобы забэкапить данные из всех окружений, удалить все виртуальные машины, восстановить данные, проапгрейдить данные в режиме командной строки (со всеми трудностями сопутствующей диагностики) - заметно больше чем трудозатраты на мерджинг. Кроме того, поскольку без слоев значительно тяжелее найти конфликты в логике, затраты на тестирование возрастают. Аналогично - если клиент требовал более или менее существенных кастомизаций, то заметная часть доработок была сделана по модели copy-on-write. Без технологии слоев, мерджинг микрософтовских изменений в копии микрософтовских классов занимает на порядок дольше. Не имел пока опыта обновления реального продуктивного приложения в D365, но очень подозреваю что из за необходимости взаимодействовать с DSE (которые работают по крайне примитивному алгоритму), времени на это уйдет заметно поболее чем при старом подходе (когда я все сам мог сделать). Ну и наконец - модель extensions никак не влияет на время собственно тестирования нового приложения пользователями. (А скорее оно опять таки малость выростет, поскольку шансы на не пойманные конфликты в логике - выше). Соответственно, я очень подозреваю, что большая часть клиентов просто не будет обновляться вообще. Тяжело будет оправдать достаточно заметные вложения в обновление, если это обновление ничего кроме косметических правок не привносит. Собственно - вопрос в том, что будет MS делать с теми клиентами, которые не хотят обновляться (Ну то есть - за подписку платят, но тратить свое время на установку обновлений не хотят). Попытки просто кинуть клиентов и прекратить контракты чреваты очень серьезными репутационными потерями (а может даже судебными исками). А если MS сдастся и будет поддерживать клиентов со старыми версиями, то в общем-то смысл extensions model просто пропадет.... Последний раз редактировалось fed; 03.04.2018 в 11:44. |
|
|
За это сообщение автора поблагодарили: raz (1), DAX.Company (2), Logger (3), belugin (5), ax_mct (7), MikeR (6), AlexeyS (2), Stitch_MS (3), Vadik (1), Link (9), sukhanchik (6). |
Теги |
ax8, dyn365fo, extensions, mfp |
|
|