28.03.2013, 08:59 | #1 |
Модератор
|
Microsoft Dynamics AX 2012 White Paper: Introduction to the SysOperation Framework
Overview
The SysOperation framework enables application logic to be written in a way that supports running interactively or via the batch server in Microsoft Dynamics AX 2012. This white paper illustrates how the SysOperation framework can be used to build operations that can run asynchronously and make use of the full processing power available on the server. Four code samples are presented and explained to illustrate the comparison between the SysOperation and the RunBaseBatch framework, and to demonstrate the use of the SysOperation framework in building asynchrouous and scalable operations. Microsoft Dynamics AX 2012 White Paper: Introduction to the SysOperation Framework
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: mazzy (2), sukhanchik (2), alex55 (1). |
28.03.2013, 09:31 | #2 |
Участник
|
ну, нафига? нафига?! они используют вызов метода через classstr()/methodstr().
так же перестают работать перекрестные ссылки, синтаксическое переименование. начинаются глюки при переименовании метода. пидарасы. нет у меня другого слова. |
|
28.03.2013, 09:52 | #3 |
Участник
|
может я чего не понимаю?
может, кто-нибудь сможет объяснить: "ЗАЧЕМ они делают это?" я, конечно, обещал не использовать термин Программистский подход но, на мой взгляд, это типичный пример пресловутого подхода: программирование ради программирования. не учитывая интересы и мотивацию людей. типичный пример - "Execution Mode". кто? в какой момент? и как сделает выбор между этими 4 режимами? может, кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?" вот, например, runbasebatch имеет очень понятное, простое и человеческое объяснение: разгрузить компьютер пользователя и перенести тяжелую обработку на мощный сервер. есть более программистское (но все еще понятное) расширение этого объяснения: Заодно и параметры повторения есть, и задачи выполняются поочередно (что снижает вероятность блокировок). А для этого Фреймворка есть какое-нибудь объяснение на человеческом языке: ЗАЧЕМ? весь документ я прочитал. introduction перечитал несколько раз. все равно - нуб и опозорился. |
|
28.03.2013, 09:55 | #4 |
Модератор
|
В целом согласен но хотел бы уточнить некоторые детали.. О какой версии речь? В 4.0 и 2012 к примеру перекрестные ссылки на staticmethodstr() и classstr() создаются.
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.03.2013, 10:03 | #5 |
Участник
|
Цитата:
я про invokeStaticMethodIL, который выполняется в дальнейшем. во-первых, они ВЫНУЖДЕНЫ делать assert для invoke. во-вторых, invoke уже не ловится перекрестными ссылками. И встав мышкой на метод контролера мы НЕ узнаем, где же он вызывается. Нужен дополнительный и трудоемкий анализ. |
|
28.03.2013, 10:05 | #6 |
Administrator
|
Цитата:
Лояльнее надо быть к вендору . И во всем искать свою плюсы. Даже на кладбище Я так понимаю, что речь идет о попытке переноса кода в СIL. Отсюда и вызов метода. Или я чего-то не понял? (Тоже неоднократно перечитал доку). Т.е. как я понял изначально - ключевое отличие SysOperationFramework от RunBaseBatch состоит в том, что первый предполагает вызов кода из CIL. А во всем остальном (с т.з. идеологии) никаких изменений нет. Я неправ?
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 28.03.2013 в 10:10. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
28.03.2013, 10:23 | #7 |
Участник
|
Ну по моему все более понятно.
Назначили нового Архитектора с 20 летним ERP опытом, который слова ранбейсбетч и перекрестные ссылки и не слышал ранее А тут все так красиво - разделение кода и данных, попробуй возрази |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
28.03.2013, 10:43 | #8 |
Участник
|
для добавления одного параметра в RunBase надо:
- добавить поле в класс - добавить поле в макрос со списком полей для упаковки/распаковки - по хорошему еще: 1. добавить два макроса для новой версии в classdeclaration 2. Добавить в распаковку логику по разделению этих версий - добавить в создание диалога - добавить в получение данных из диалога Для добавления параметра в SysOperationFramework надо - добавить поле в класс-контракт - добавить метод-свойство в класс-контракт - аннотировать метод атрибутами для диалога |
|
|
За это сообщение автора поблагодарили: mazzy (2), ta_and (4), Kabardian (5). |
28.03.2013, 11:01 | #9 |
Участник
|
Цитата:
см. страница 8 - метод runbase.run и на странице 13 результат выполнения runbase на CIL |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
28.03.2013, 11:05 | #10 |
Участник
|
Цитата:
Максим, а почему это проще/предпочтительнее для разработчика? Может быть я чего не знаю? Можно я повторю вопрос: "кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?" |
|
28.03.2013, 11:16 | #11 |
Боец
|
Цитата:
Сообщение от mazzy
может я чего не понимаю?
может, кто-нибудь сможет объяснить: "ЗАЧЕМ они делают это?" я, конечно, обещал не использовать термин Программистский подход но, на мой взгляд, это типичный пример пресловутого подхода: программирование ради программирования. не учитывая интересы и мотивацию людей. типичный пример - "Execution Mode". кто? в какой момент? и как сделает выбор между этими 4 режимами? может, кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?" вот, например, runbasebatch имеет очень понятное, простое и человеческое объяснение: разгрузить компьютер пользователя и перенести тяжелую обработку на мощный сервер. есть более программистское (но все еще понятное) расширение этого объяснения: Заодно и параметры повторения есть, и задачи выполняются поочередно (что снижает вероятность блокировок). А для этого Фреймворка есть какое-нибудь объяснение на человеческом языке: ЗАЧЕМ? весь документ я прочитал. introduction перечитал несколько раз. все равно - нуб и опозорился. Цитата:
Сообщение от belugin
для добавления одного параметра в RunBase надо:
- добавить поле в класс - добавить поле в макрос со списком полей для упаковки/распаковки - по хорошему еще: 1. добавить два макроса для новой версии в classdeclaration 2. Добавить в распаковку логику по разделению этих версий - добавить в создание диалога - добавить в получение данных из диалога Для добавления параметра в SysOperationFramework надо - добавить поле в класс-контракт - добавить метод-свойство в класс-контракт - аннотировать метод атрибутами для диалога |
|
28.03.2013, 11:21 | #12 |
Боец
|
Цитата:
Сообщение от mazzy
О! и поэтому программист теперь должен работать не с одним классом, в котором присутствуют все переменные, а с целым набором классов, в котором все равно будут эти же переменные (но разбросанные по коду)? и к тому же через assert/invoke и methodstr?
Максим, а почему это проще/предпочтительнее для разработчика? Может быть я чего не знаю? Можно я повторю вопрос: "кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?" Цитата:
Routing tasks to the .NET Common Language Runtime (CLR) environment.
Цитата:
может, кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?"
Последний раз редактировалось DSPIC; 28.03.2013 в 11:25. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
28.03.2013, 11:32 | #13 |
Участник
|
Цитата:
|
|
28.03.2013, 11:56 | #14 |
Moderator
|
Я бы главную проблему DAX2012 сформулировал так: Разработчики (в широком смысле) в MS не понимали что их продукт, на проектах, будут переписывать люди, у которых значительно меньше времени и значительно шире специализация чем у сотрудников MS.
Все остальное - лишь проявление этой проблемы... |
|
|
За это сообщение автора поблагодарили: mazzy (2), Vadik (1), denny (1), Logger (3), Stitch_MS (3), miklenew (2). |
28.03.2013, 12:23 | #15 |
Участник
|
Цитата:
Зато - не будет переменных и кода, который генерирует интерфейс - не будет макросов и кода для упаковки распаковки Цитата:
и к тому же через assert/invoke и methodstr?
Цитата:
Максим, а почему это проще/предпочтительнее для разработчика? Может быть я чего не знаю?
Цитата:
Можно я повторю вопрос: "кто-нибудь может придумать "ПОЧЕМУ человек-программист захочет использовать ЭТОТ фреймворк? в каких сценариях?"
- программист хочет ускорить работу за счет удобного распараллеливания |
|
28.03.2013, 12:34 | #16 |
Модератор
|
Цитата:
Сообщение от fed
Я бы главную проблему DAX2012 сформулировал так: Разработчики (в широком смысле) в MS не понимали что их продукт, на проектах, будут переписывать люди, у которых значительно меньше времени и значительно шире специализация чем у сотрудников MS.
Все остальное - лишь проявление этой проблемы...
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.03.2013, 12:36 | #17 |
Участник
|
Цитата:
Сообщение от fed
Я бы главную проблему DAX2012 сформулировал так: Разработчики (в широком смысле) в MS не понимали что их продукт, на проектах, будут переписывать люди, у которых значительно меньше времени и значительно шире специализация чем у сотрудников MS.
Все остальное - лишь проявление этой проблемы... Я вот помню, совсем не умел читать код так как работал на русском языке и термины в программе были незнакомы. Никакой XML документации не было и просто документации по коду и фреймворкам был минимум. |
|
28.03.2013, 13:03 | #18 |
Moderator
|
Цитата:
Сообщение от Vadik
Может, продукт таки уже внедрять начнем а не мертворожденных кадавров (см. "Решения") плодить.. Мне лично с AX 2012 проще стало мотивированно отказываться какую-то очевидную туфту делать. В старой системе (4.0) когда к примеру очередной бездарь по заказу другого бездаря за полдня (а че там делать-то) рисует десятый по счету Inventory value отчет (ни один из кастомных естественно ни с другими ни с GL не сходится) довольно занятно наблюдать трехмесячное шоу под названием "закрытие года и внешний аудит"
Маленький мальчик прибегает к отцу и говорит:"Папа,папа,водка подорожала!Это значит,что ты теперь будешь меньше пить?" - "Нет,сынок,это значит,что ты теперь будешь меньше есть! Ты-то может реквестов пользовательских и наотвергаешь, а вот качество среднестатистического внедрения у среднестатистического партнера с "естественной кривизной рук" - заметно упадет... |
|
28.03.2013, 13:09 | #19 |
Модератор
|
Качество решений у КРИВОРУКОГО партнера уже ниже плинтуса независимо от версии. Мне куда интереснее пряморукие
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.03.2013, 13:49 | #20 |
Moderator
|
Проблема в том, что криворукие партнеры роняют нам рынок. При этом их Микрософт нифига не вычищает. Так что - им там в консерватории надо либо криворуких партнеров вычишать (причем ориентируясь на качество внедрений, а не на число сертификатов и объем квартальных продаж), либо уж продукт не усложнять до нынешнего состояния...
|
|
Теги |
ax2012, runbase, runbasebatch, sysoperation framework |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|