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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2010, 09:09   #1  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,896 / 5660 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от belugin Посмотреть сообщение
Кстати, спроси их, что они думают про WF 4
Дык может не надо было Аксаптовский workflow релизить ДО выхода WF4 ?
Вот внедрили бы лучше Аксапту внутри MBD и тренировались бы на кошках
Старый 06.04.2010, 09:54   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от fed Посмотреть сообщение
в принципе не понятно как на VS и .net отмигрировать такую фундаментальную технологию как технология слоев.
А что сейчас мешает реализовать технологию слоев на .NET? В принципе, что она из себя представляет?
Для начала определимся с терминологией. Объект приложения - уникальная сущность, характеризующаяся рядом обязательных атрибутов: тип, имя, идентификатор объекта, идентификатор родительского объекта. Слой является объединением различных объектов приложения и единицей его развертывания. При этом на одном слое могут находиться лишь объекты приложения, которые в рамках слоя уникально идентифицируются комбинациями значений атрибутов [тип, идентификатор родительского объекта, идентификатор объекта] и [тип, идентификатор родительского объекта, имя] (см. AX models - Part 3 - Multiple models per layer). Объекты с одинаковыми комбинациями значений этих атрибутов могут находиться на разных слоях. Объект приложения верхнего уровня - такой объект, который не относится к другому, родительскому объекту (идентификатор родительского объекта у него пустой), но сам может быть родительским для других объектов, причем эти дочерние объекты могут находиться на разных слоях. Все типы объектов приложения четко разделены на типы, объекты которых являются объектами верхнего уровня, и типы, объекты которых являются дочерними по отношению к другим объектам, более того, для каждого типа объектов верхнего уровня есть четко определенное подмножество возможных типов дочерних объектов. Мощностью такого подмножества типов определяется гранулярность, с которой можно модифицировать объекты верхнего уровня; собственно, на данный момент такая гранулярность характерна для объектов бизнес-логики, но не презентационной логики.
С учетом взаимосвязей между различными типами объектов приложения, определяющих гранулярность модифицируемости объектов, и их распределения по слоям, можно из нескольких слоев с учетом их очередности ("приоритетов") собрать объекты приложения верхнего уровня (таблицы, классы, формы, отчеты, etc). На слоях более высокого уровня можно как создавать новые объекты приложения (в т.ч. дочерние по отношению к другим объектам - новые поля таблиц или методы классов), так и создавать копии объектов приложения из нижележащих слоев и модифицировать эти копии - в результате при сборке объектов приложения верхнего уровня будут использованы новые или модифицированные объекты-"гранулы" из слоев более высокого уровня. После сборки объекта верхнего уровня в памяти создается его некое представление, как в CLR создается экземпляр объекта-типа (класса), на который ссылаются все создаваемые экземпляры соответствующего класса (хотя применительно к Аксапте это лишь моя теортия, но я несколько раз был свидетелем того, как "представление" одного класса на клиенте и сервере "разъезжалось"). Сейчас все это делается на базе БД собственного формата, с 6-й версии приложение перенесут в БД Ms SQL Server, суть от этого не меняется.
Так вот, что мешает после получения из нескольких слоев целостного представления объекта "верхнего уровня" создать на лету соотв. .NET-сборку и использовать ее для создания экземпляров того или иного класса (в широком смысле)? Насколько я понимаю, схожим образом уже работает NAV 2009:
Цитата:
Что такое Service Tier?
Очень кратко - это промежуточный уровень в Microsoft Dynamics NAV 2009. Именно на этом уровне [теперь?] выполняется весь доступ к БД и вся бизнес-логика, что также означает, что именно на этом уровне выполняется код приложения.
...
А этот Service Tier занимается интерпретацией кода C/AL?
Как вы, вероятно, уже знаете, ответ на этот вопрос - нет. В NAV 2009 большая часть этого самого Service Tier написана на C# и выполняется в виде управляемого кода, кроме того, приложение тоже конвертируется в C# и во время работы также выполняется в виде скомпилированного управляемого кода.
Это происходит за счет того, что каждый раз, когда вы компилируете объект в C/SIDE, этот объект "за кулисами" транслируется в C#, и этот исходный код C# сохраняется в таблице Object Metadata в BLOB-поле с названием User Code. Кроме того, в таблице Object Tracking обновляется поле Object Timestamp, что позволяет Service Tier'у увидеть и подхватить эти изменения. Когда ему нужно выполнить код объекта, соответствующий объекту исходный код C# записывается на диск и посредством неких манипуляций компилируется в модуль, который может быть загружен динамически, что позволяет Service Tier на лету заменять отдельные code unit'ы, страницы, etc.
Цитата:
Сообщение от fed Посмотреть сообщение
Однако, как все мы знаем, стоимость лицензии с каждым годом только растет...
По-моему, с учетом перехода на новую схему лицензирования сложно однозначно утверждать об этом. Стоимость лицензии на одновременно работающих пользователей, позволяющая использовть Windows-клиента, растет, однако, для существенной доли пользователей может подойти DCO-лицензия, которая на порядок дешевле. С учетом того, что корпоративный портал покрывает весьма ощутимую долю стандартного функционала, часть пользователей, которым не нужен полноценный Windows-клиент, а достаточно доступа через портал или стороннее приложение, использующее business connector, можно перевести на DCO-лицензии и за счет этого существенно сэкономить на стоимости лицензий.

Цитата:
Сообщение от glibs Посмотреть сообщение
Вроде писали, что не заменили, а завернули одно внутрь другого.
Это вы же сами и писали, причем с чужих слов Если же самостоятельно поковырять эту тему с применением инструментов, которые согласно лицензии вроде как применять запрещено, то увидим обычный RPC-интерфейс с парой десятков функций.
Цитата:
Сообщение от glibs Посмотреть сообщение
Кто пытался завести десятки и сотни тысяч пользователей на портале через AD очень в восторге от этой идеи.
С задачами массового заведения пользователей в Аксапте (чтоб прям тысячами), врать не буду, я не сталкивался, но когда аналогичная задача решается при администрировании виндовых доменов, то делается это отнюдь не руками.
Цитата:
Сообщение от glibs Посмотреть сообщение
А чем это лучше если не секрет? В VS тоже исходный код в реляционной СУБД живет?
Хранение приложения в БД лучше хотя бы тем, что приложение до 6-й версии оставалось единственным узлом системы, для которого отказоустойчивость можно обеспечить в весьма ограниченном масштабе - дисков в RAID побольше поставить, UPS для сервера понадежней, да и, в общем-то, все. Вплоть до AX 2009 включительно для приложения не поддерживается ни кластеризация, ни DFS, в результате если отвалится один из серверов с AOS'ами или один из узлов кластера СУБД, то работа большинства пользователей от этого не остановится, а вот если отвалится файл-сервер с приложением, то встанет всё (конечно, можно держать несколько копий приложения на разных серверах, но официально это не поддерживается). Реляционная СУБД на этом фоне предоставляет куда более широкие возможности по обеспечению отказоустойчивости, при этом еще и обеспечивая куда более высокую скорость и гибкость работы с метаданными:
Цитата:
Today the speed is back. Navigating the AOT is suddently a pleasure again. Meta data heavy operations, like searching, completes an order of magnitude faster. For example; searching all methods on forms for any text completes in 2 seconds.
Цитата:
Сообщение от glibs Посмотреть сообщение
А старый движок был проще. И это было единое хранилище, а не кучка файлов. И слои были, кажется. И вызов пунктов меню.
На счет простоты - согласен, но то же приложение, те же меточные файлы тоже являются кучкой файлов, что не мешает для ряда задач воспринимать их как единое хранилище. MSDN Library, поставляемая на DVD, тоже хранится в кучке файлов справки, но это не мешает воспринимать ее как единое хранилище. Просто надо будет научиться их готовить...
Цитата:
Сообщение от glibs Посмотреть сообщение
Полезные функции все от новых версий ждут. Только не нужно подменять функции технологиями и другим интерфейсом. Это интересно не очень широкому кругу фанатиков, а также неконсервативным разработчикам (которые не являются в данном случае пользователями). А пользователям-практикам нужны не технологии, а результат.
Всё так, но большинство пользователей просто не представляют, что их определенные каждодневные задачи можно решать как-то по-другому. Например, пользователи 1С "не знают" о dynalink, а пользователи 3-ей Аксапты "не знают" о тех же оповещениях или об Office Snap-ins...
Цитата:
Сообщение от fed Посмотреть сообщение
Дык может не надо было Аксаптовский workflow релизить ДО выхода WF4 ?
Вот внедрили бы лучше Аксапту внутри MBD и тренировались бы на кошках
Не знаю, кто такой MDB, но Аксапта, к примеру, внедрена в Microsoft Home and Entertainment Division (HED), занимающемся разработкой Xbox, и - по официальным данным - вполне себе успешно там используется.
За это сообщение автора поблагодарили: EVGL (2), alex55 (1).
Старый 06.04.2010, 10:21   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от gl00mie Посмотреть сообщение
А что сейчас мешает реализовать технологию слоев на .NET? В принципе, что она из себя представляет?
...
Так вот, что мешает после получения из нескольких слоев целостного представления объекта "верхнего уровня" создать на лету соотв. .NET-сборку и использовать ее для создания экземпляров того или иного класса (в широком смысле)? Насколько я понимаю, схожим образом уже работает NAV 2009
Да. Согласен.

Но речь идет скорее не о реализации и технологии, а о поддержке технологии средой разработки.
Сравнение слоев, фиксированный интерфейс методов из нижележащих слоев (тип возвращаемого результата, список переменных с типами), автоматический подъем в новый слой при изменении объекта. и т.п.

сборками - это правильно. Но уж очень трудоемко по сравнению со слоями в Аксапте. Хотя согласен, что на порядки более гибко, чем слои в Аксапте.
__________________
полезное на axForum, github, vk, coub.
Теги
.net, ssrs, visual studio, workflow, как правильно, права доступа, производительность, ax2012

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
Dynamics AX: Managing Your Supply Chain Using Microsoft Dynamics AX 2009 - Book Review Blog bot DAX Blogs 0 31.03.2009 23:06
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

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

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

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