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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.03.2018, 19:12   #1  
Blog bot is offline
Blog bot
Участник
 
25,475 / 846 (79) +++++++
Регистрация: 28.10.2006
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  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,873 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Как это расценить ?
MFP объявил что серьезных изменений теперь не будет - они получили что хотели и теперь все ок ?
Старый 30.03.2018, 11:04   #3  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Ну 8.0 с хардсилом, значит все ISV в сторе смогли в екстеншены, а значит и остальные смогут, походу такая логика. На самом деле не все так плохо, вот вам чего не хватает ?
Старый 30.03.2018, 11:13   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от skuull Посмотреть сообщение
вот вам чего не хватает ?
мне - CoC для data entities
__________________
-ТСЯ или -ТЬСЯ ?
Старый 30.03.2018, 11:43   #5  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от Vadik Посмотреть сообщение
мне - CoC для data entities
Та ее проще скопировать т.к. от нее ничего не зависит. Ещё что ?
Старый 30.03.2018, 11:59   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от skuull Посмотреть сообщение
Та ее проще скопировать т.к. от нее ничего не зависит
Можно, но неспортивно. И не хочется посередине проекта "перескакивать" на кастомную entity только потому что надо добавить pre- или post- логику, и хотфиксы портировать лень. Вот зачем спрашивается createXXX и updateXXX методы в LedgerJournalEntity было делать protected? Что им, жалко что ли?
Цитата:
Ещё что ?
У меня - пожалуй, все
__________________
-ТСЯ или -ТЬСЯ ?

Последний раз редактировалось Vadik; 30.03.2018 в 16:28.
Старый 30.03.2018, 18:00   #7  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Vadik Посмотреть сообщение
Вот зачем спрашивается createXXX и updateXXX методы в LedgerJournalEntity было делать protected? Что им, жалко что ли?
)
Если честно то я вообще не понимаю практического смысла в private и protected в X++. Постоянные проблемы, а пользы никакой. Во всех версиях.

Понятно доступ к методам что это обозначение интерфейса, но это как интерфейс процесса пищеварения, в био-системах как тело человека и AX - бессмысленно.

MFP может гордится тем что сделал то что до него не делал никто.
Он типа расширил сам язык, а не фреймворк или продукт как делают другие.

Но языка то на самом деле - нет. Есть продукт и только.

При этом я не вижу что тут такое в списке крутого. Летающая курица.

Цитата:
  • You can change text resources (aka. labels).
  • You can extend enums.
  • You can add controls, datasources methods to forms.
  • You can add fields, relations, indices and methods to tables.
  • You can add new methods to classes.
  • You can add state to classes.
  • You can wrap any protected and public method and thereby inject your code into the execution.
  • You can subscribe to custom and system events using attributes. (Yes – we have a patent on this).
  • You can respond to delegates in a safe manner – graceful handling of multiple respondents.
  • You can use the SysExtension framework for plug'n play class factories.
Старый 30.03.2018, 14:22   #8  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от skuull Посмотреть сообщение
Ну 8.0 с хардсилом, значит все ISV в сторе смогли в екстеншены, а значит и остальные смогут, походу такая логика. На самом деле не все так плохо, вот вам чего не хватает ?
Ну не все. т.е. от нас с 10 запросов висит на точки расширения которых нет в текущей 8.0.
Нехвататет как минимум тулинга, т.е. самые простые действия - сравнить базовый класс с экстеншеном, IntelliSense не везде работает, перекрестные ссылки и т.д.
Да вообще конечно интерестна судьба 8.0, решатся ли сделать полное закрытие
Старый 30.03.2018, 11:21   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Ни один из мне известных клиентов Microsoft Services не собирается обновляться. Читаем по слогам: даже клиенты, которым внедрил Microsoft, не собираются обновляться на новую версию продукта от Microsoft, поскольку код от Microsoft весь полон overlayering, и клиенты не хотят платить дважды.

Money talks, heads roll.
За это сообщение автора поблагодарили: ax_mct (10).
Старый 30.03.2018, 11:42   #10  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от EVGL Посмотреть сообщение
Читаем по слогам: даже клиенты, которым внедрил Microsoft, не собираются обновляться на новую версию продукта от Microsoft, поскольку код от Microsoft весь полон overlayering
https://coub.com/view/3ppgo

Новые проекты на которых я работаю (7.2, 7.3) - без overlayering. Старые проекты - есть грех, но нашего кода там минимум (не везде стандарт подлезть позволял) плюс клиентская команда и второй партнер которого клиент задешево аутсорсит
__________________
-ТСЯ или -ТЬСЯ ?
Старый 30.03.2018, 11:41   #11  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
А кто их будет спрашивать? Вот про platform update же не спрашивают, поставили дату и все. Есть\были ли у кого-то клиенты на 7.0? Что с ними случилось когда закончилась поддержка ?
Старый 01.04.2018, 09:10   #12  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
... allows multiple extenders to live side-by-side without risk of collision.
Где-то здесь пропущено слово “theoretically”.

Что касается сравнения аксапты с человеческим телом, то я бы скорее провел другую аналогию. ERP система - это мозг, а персонал и оборудование – всё остальное. Человечество хорошо научилось менять устаревшие/износившиеся персонал и оборудование.
За это сообщение автора поблагодарили: Ivanhoe (2).
Старый 01.04.2018, 12:50   #13  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
ERP система - это мозг, а персонал и оборудование – всё остальное. Человечество хорошо научилось менять устаревшие/износившиеся персонал и оборудование.
Таим образом аналогия ERP это живое, живое не имеет интерфейсов признана неверной. Давайте согласимся на этом.

Раскройте, пожалуйста, эту аналогию. Внутри могзга нет интерфейсов? ERP система работает как нейросеть?

Мне вот кажется, что как раз персонал выполняет функцию ERP системы там, где их нет. Есть ли интерфейсы между отделами?

Можно как-то перейти от неясных аналогий к логическим построениям?
Старый 02.04.2018, 11:42   #14  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Не могу сказать, что внутри мозга есть интерфейсы. Внутри мозга есть множество взаимосвязанных отделов. К примеру, вот так связаны 215 областей мозга мыши:



Если взять все объекты (или группы объектов с одинаковым префиксом) из АОТ и так же расположить по кругу, а потом нарисовать связи в соответствии с перекрестными ссылками, то должна получиться сходная картина.

Кроме того, принято условно делить мозг на 3 отдела, рептильный, лимбический и неокортекс. Рептильный мозг, самый древний и глубокий, отвечает за базовые инстинкты, лимбический (мозг птиц и низших млекопетающих) отвечает за эмоции. Неокортекс позволяет нам вести вот эту дискуссию.



Насколько я знаю. для запуска AOS достаточно модели Application Platform. Очень напоминает рептильный мозг, работающий даже когда хозяин в коме. Application Foundation -- это как лимбический мозг. И, наконец, все остальные модели -- это неокортекс. Всё условно, конечно.

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

Что касается интерфейсов между отделами. Я бы сказал, это довольно условно. Однажды попросили меня дать права доступа к оплате кредитной картой простому складскому рабочему. Я, конечно, поинтересовался у консультанта, не попутал ли он чего, ведь рабочий на складе обычно переставляет ящики. На что мне ответили, что в их бизнес-сценарии рабочий на складе должен брать в руки ящик только после того, как поступит оплата кредитной картой.
За это сообщение автора поблагодарили: belugin (5).
Старый 02.04.2018, 13:17   #15  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Если взять все объекты (или группы объектов с одинаковым префиксом) из АОТ и так же расположить по кругу, а потом нарисовать связи в соответствии с перекрестными ссылками, то должна получиться сходная картина.
Надо попробовать. Только я бы не рисовал по кругу, а кластеризовал бы. Вопрос, хорошо это или плохо - такая связанность.

Цитата:
Персонал действительно выполняет функцию ERP системы, но не там, где ее нет (она везде есть, пусть даже в виде скоросшивателя, никто не держит все проводки в голове), а где ее функциональности не хватает. Если полностью заменить персонал и оборудование, включая директора и калькулятор, но оставить скоросшиватель, новый персонал вполне сможет продолжить с работу в этой системе.
Ну это вопрос. Мне кажется внутри персонала должен быть код application foundation - бухгалтерия и прочее. И вряд ли совсем все подробности описаны в документах.

Цитата:
Что касается интерфейсов между отделами. Я бы сказал, это довольно условно. Однажды попросили меня дать права доступа к оплате кредитной картой простому складскому рабочему. Я, конечно, поинтересовался у консультанта, не попутал ли он чего, ведь рабочий на складе обычно переставляет ящики. На что мне ответили, что в их бизнес-сценарии рабочий на складе должен брать в руки ящик только после того, как поступит оплата кредитной картой.
Это правило или исключение? В софте можно было бы не описать отдельно правило подтверждения операции "брать в руки ящик" и рабочий бы спрашивал у кого-то "могу я взять в руки ящик или нет". Мне кажется тут скорее не логическая надобность а физическое ограничение.

Вообще у меня в голове вертится абстрактная идея разделить сущности - типа проводки - и бизнес-процессы. Сущности давать только расширять и создавать новые, бизнес-процессы можно менять (условно, разрешить оверлееринг на некотром подмножестве моделей, которые описывают бизнес правила) но это потребовал бы адского рефакторинга.
Старый 02.04.2018, 14:58   #16  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Вообще у меня в голове вертится абстрактная идея разделить сущности - типа проводки - и бизнес-процессы. Сущности давать только расширять и создавать новые, бизнес-процессы можно менять (условно, разрешить оверлееринг на некотром подмножестве моделей, которые описывают бизнес правила) но это потребовал бы адского рефакторинга.
А что даст и кому?
Старый 02.04.2018, 15:16   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ax_mct Посмотреть сообщение
А что даст и кому?
Вся эта штука с экстеншенами - фактически, как я понял, для облегчения обновления. Например, как сейчас можно получить новую платформу без апгрейда кода - потому что есть инетрфейсы и она обратно совместима - кастомеры смогут получить. Новую функциональность не вкладывая большие ресурсы в апгрейд кода. Примерно как сейчас апгрейд винды.
Старый 02.04.2018, 17:21   #18  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Вся эта штука с экстеншенами - фактически, как я понял, для облегчения обновления. Например, как сейчас можно получить новую платформу без апгрейда кода - потому что есть инетрфейсы и она обратно совместима - кастомеры смогут получить. Новую функциональность не вкладывая большие ресурсы в апгрейд кода. Примерно как сейчас апгрейд винды.
Если я буду изменять фунциональность Windows OS, пусть даже как бы и сбоку, через крючки и дырки, то жизнь моя будет крайне нескучней при апгрейдах. Программа установки при этом ничего не заметит, это да.

Те же Netsuite, SalesForce предоставляют API к транформаторной будке и это намного честнее. В чем крутизна хитро-изогнутых инструментов X++ если нельзя ими лазить - непонятно.

Поэтому лучше бы MFP посыпал голову пеплом. Мальчишки-живодеры.

Я кстати написал там у него вежливый но саркастичный комментарий два дня назад, но полагаю что его не пропустят. Например я задал вопрос как много сейчас программистов X++ v.7-8 во всем мире вне стен Microsoft. И пожалел что пока еще нет лямбд и шаблонов на уровне языка.
Старый 02.04.2018, 19:58   #19  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Вы таки будете смеяться, но мне вся эта история с запретом оверлеинга и введением хардлока напоминает историю с лоботомией как методом лечения. Вы почитайте про нее в Википедии, очень интересно. Сто лет назад один товарищ выяснил, что пересечение волокон в лобных долях делает из буйного пациента (читай, любителя всё оверлеить) спокойного и послушного (согласного подогнать бизнес процессы под стандарт). Были написаны многие статьи и проведены десятки тысяч операций. Были и критики, но их до поры до времени никто из приверженцев нового метода не слушал. Они даже обосновали экономическую целесообразность такого лечения:
Цитата:
... В начале 1940-х годов лоботомия уже широко применялась в США. Во время Второй мировой войны психиатрические отделения госпиталей Управления по делам ветеранов были заполнены множеством солдат, возвращавшихся с фронта и испытавших тяжёлое душевное потрясение. Эти пациенты часто оказывались в состоянии возбуждения, и чтобы осуществлять контроль над ними, требовалось множество медсестёр и другого вспомогательного медперсонала, что приводило к необходимости больших расходов. Таким образом, одной из главных причин широкого распространения лоботомии стало стремление снизить расходы на содержание обслуживающего персонала...
Обратите внимание: «... стремление снизить расходы на содержание обслуживающего персонала» ... Ничего не напоминает? В итоге лоботомию запретили, и сейчас мы о ней знаем из книг и фильмов.
За это сообщение автора поблагодарили: fed (3), Logger (5), NetBus (3).
Старый 03.04.2018, 09:50   #20  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,892 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я просто замечу, что микрософт вложился в 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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mfp: Extensible X++ – Method signatures Blog bot DAX Blogs 0 31.08.2017 18:11
mfp: Extensible Inventory Dimensions Blog bot DAX Blogs 0 10.08.2017 14:11
german_nav_developer: Dynamics NAV 2013 R2 multi-tenancy – Viele Mieterinnen ohne Stress und Neid Blog bot Dynamics CRM: Blogs 0 30.12.2013 19:00
german_nav_developer: Codepage und Multilinguale Dynamics NAV Installationen Blog bot Dynamics CRM: Blogs 0 05.06.2011 15:51
mfp: X++ - A mananged language Blog bot DAX Blogs 1 20.01.2011 00:51
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:03.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.