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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2019, 00:14   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от ax_mct Посмотреть сообщение
А вот как стучаться в D365 из .NET сборки на том же сервере? ODATA если вставка записей или custom service JSON/SOAP если обращение к коду? То есть только через Active Directory и IIS?
Это вроде описано в документации. есть даже пример с открытым кодом
https://github.com/Microsoft/Recurri...ions-Scheduler
Старый 12.03.2019, 15:32   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от ax_mct Посмотреть сообщение

А вот как стучаться в D365 из .NET сборки на том же сервере? ODATA если вставка записей или custom service JSON/SOAP если обращение к коду? То есть только через Active Directory и IIS?
Цитата:
Сообщение от trud Посмотреть сообщение
Это вроде описано в документации. есть даже пример с открытым кодом
https://github.com/Microsoft/Recurri...ions-Scheduler
Пример классный спасибо. Интересно и очень в тему. Там сервис который перемещает файлы c данными и умеет это делать в частности в Azure BLOB.

Но это не совсем "то". Хотя я уже все понял. Martin Dráb сказал что можно все что можно в .NET и я призадумался. И обнаружил что в современном .NET можно сделать гораздо меньше чем в мое время.

То есть .NET Remoting (https://en.wikipedia.org/wiki/.NET_Remoting) в D365FO не применим. Это конечно вопрос к .NET.
То есть .NET Business Connector уже не часть D365FO и варианты вызова кода это только веб-сервисы. Через AAD и IIS и никак иначе. И тут я всплакнул за Business Connector.
Старый 12.03.2019, 15:42   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ax_mct Посмотреть сообщение
То есть .NET Business Connector уже не часть D365FO и варианты вызова кода это только веб-сервисы..
Если сборка уже загружена в процесс dyn365fo и вызвана оттуда, то из нее можно вызывать X++ классы https://docs.microsoft.com/en-us/dyn...business-logic
Старый 12.03.2019, 16:29   #4  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Если сборка уже загружена в процесс dyn365fo и вызвана оттуда, то из нее можно вызывать X++ классы https://docs.microsoft.com/en-us/dyn...business-logic
Классный пример в копилку. Спасибо.
В приведенном примере AXQueryProvider (LINQ) и подписка на AX событие из C#.
Вызова X++ класса в примере нет.

Кстати жалуются что данный пример не рабочий из-за binding errors.
"12 Sep 2018 Bug 246523 has been logged to track this issue." и до сих пор.
https://github.com/MicrosoftDocs/dyn...lic/issues/326

Но идея интересная сама по себе. Только мне кажется что это даже чинить не будут, закроют такую фичу как ненужную. Оставив замечательную статью о возможностях

И будет сакральное знание о том что так делать не стоит уделом экспертов которым платят за то что они знают чему верить, а чему нет. Я например из этого понял что AX из C# это плохой и проблемный дизайн в данном контексте. Так как то же самое можно сделать с C# из X++ и спокойнее спать.

Или таки есть опыт вызовов X++ классов из C#?
Старый 12.03.2019, 17:40   #5  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от ax_mct Посмотреть сообщение
к сожалению .NET Remoting прибили для кросс-платформенности.
...
Martin Dráb сказал что можно все что можно в .NET и я призадумался. И обнаружил что в современном .NET можно сделать гораздо меньше чем в мое время.
Что интересно Java RMI так и осталось. Те же удаленные вызовы кода на уровне сокетов по внутреннему протоколу.
https://en.wikipedia.org/wiki/Java_r...hod_invocation
https://docs.oracle.com/javase/1.5.0...llo-world.html

При этом да, судя по всему Java RMI сейчас используют намного меньше чем раньше, все делают REST. Как бы общий тренд вообще.
P.S. По сути формально оставшись Java RMI тоже с рынка ушла.

Но добавляя (интеграционный) компонент на ту же машину (в виде DLL в случае .NET) и использовать
web-средства коммуникации, это странно.
Даже в on-premise это сборка (подписанная причем) должна быть зарегистрирована как приложение в Azure AD и ходить TCP через IIS (в AX).

Последний раз редактировалось ax_mct; 12.03.2019 в 17:59.
Старый 17.04.2019, 09:51   #6  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
С помощью BYOD можно экспортировать в SQL Server, проблема только в том чтобы наклепать дата энтитей, но они вам все равно нужны только на чтение и не для всех таблиц, так что давно можно было сделать. Экспортите себе инкрементео хоть каждую минуту, в чем проблема?

Data Lake можно пощупать уже сейчас, это как раз горячо любимые многими файлы в Azure Storage Account, но пока это только aggregated measurements которые мало кто и так использует.
Старый 17.04.2019, 10:08   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от skuull Посмотреть сообщение
С помощью BYOD можно экспортировать в SQL Server, проблема только в том чтобы наклепать дата энтитей, но они вам все равно нужны только на чтение и не для всех таблиц, так что давно можно было сделать. Экспортите себе инкрементео хоть каждую минуту, в чем проблема?
Можно, но:
  1. Почему бы просто не дать клиентам read-only доступ к основной БД ? Зачем умножать сущности сверх необходимости ? Также стоит вспомнить про классический "принцип биплана": Самолет с двумя парами крыльев ломается в два раза чаще чем с одной.
  2. Entity для транзакционных сущностей надо еще разработать.
  3. Инкрементальный экспорт работает не очень устойчиво.Если бы он устойчиво работал, вряд ли бы пришлось Микрософту писать толстый батч для перекачки из основной БД в Data Warehouse, который каждый раз с ноля данные перезаливает .
  4. Клиенту надо платить за еще один Azure SQL инстанц, который реально нужен только для того чтобы перекачать данные в его собственную локальную БД. При этом - эта Azure SQL БД, это уже не второе крыло, а третье, поскольку по дороге из нее в локальную базу данных тоже что-то отсохнуть может.
Ну то есть - я могу согласиться что Power BI полезен для не очень больших клиентов (в пределах 40 рабочих мест на круг - не только для D365). Но если клиент большой, то у него наверняка стоят какие-то другие системы (типа MES или систем бюджетирование или еще чего-то подобного), наверняка есть какой-то тул для бизнес-аналитики, которому надо данные и из этих систем качать и из аксапты. Так вот - зачем заставлять клиента так мучаться,если достаточно было просто открыть R/O доступ к основной базе данных ?

Последний раз редактировалось fed; 17.04.2019 в 10:17.
За это сообщение автора поблагодарили: Ivanhoe (5).
Старый 17.04.2019, 11:24   #8  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от fed Посмотреть сообщение
[*]Клиенту надо платить за еще один Azure SQL инстанц, который реально нужен только для того чтобы перекачать данные в его собственную локальную БД. При этом - эта Azure SQL БД, это уже не второе крыло, а третье, поскольку по дороге из нее в локальную базу данных тоже что-то отсохнуть может.
Я писал об экспорте в SQL Sever, а не Azure SQL, т.е.напрямую, зачем вам прослойка?

Нет смысла спорить, что с доступом в базу было бы проще, но его нет. entity надо разработать, но за 2 года любой партнёр уже мог их наразрабатывать и продавать пачкой. Список будет примерно одинаковый.

Итак у вас есть entities и выгрузка в локальный SQL, что вам ещё не хватает ?
Старый 17.04.2019, 11:33   #9  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от skuull Посмотреть сообщение
Я писал об экспорте в SQL Sever, а не Azure SQL, т.е.напрямую, зачем вам прослойка?
Может быть он напрямую и работает (не пробовал), но поддерживается ли он ? Во вторых - не факт что клиент захочет свой основной Data Warehouse в интернет открывать, так что скорее всего придется отдельный сервер БД ставить (и лицензию покупать), через который все равно придется данные протягивать.
Я пожалуй добавлю, что я это все написал просто по мотивам вопросов пары клиентов. То есть - можно мне долго чего-то доказывать, но клиенты просто спрашивают - почему им надо платить дополнительные деньги, за что-то заведомо менее надежное чем был бы простой прямой доступ к БД? И я в общем не могу ничего другого ответить кроме как "Потому что это - Microsoft". Вопрос - хорошо ли это для самого Микрософта в долгосрочной перспективе?

Последний раз редактировалось fed; 17.04.2019 в 11:37.
Старый 18.04.2019, 00:40   #10  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от fed Посмотреть сообщение
Почему бы просто не дать клиентам read-only доступ к основной БД ?
Самое базовая причина полагаю это сдвинутость на защите информации клиента ото всех включая клиента как sales point (security compliance certifications, HIPAA etc )
https://docs.microsoft.com/en-us/azu...urity-overview

Думаю что варианты с тем же ODBC тоже можно реализовать с этим всем compliance но оно им зачем. То есть для них одни минусы.
Старый 18.04.2019, 00:46   #11  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Самое базовая причина полагаю это сдвинутость на защите информации клиента ото всех включая клиента как sales point (security compliance certifications, HIPAA etc ).
MS говорит, что это производительность, типа не надо отчёты гонять по продакшен базе, а потом говорить что все медленно.
За это сообщение автора поблагодарили: ax_mct (3).
Старый 18.04.2019, 00:56   #12  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от skuull Посмотреть сообщение
MS говорит, что это производительность, типа не надо отчёты гонять по продакшен базе, а потом говорить что все медленно.
Очень может быть так как статистика использования портится. Да и тот же ODBC в целом к Azure SQL не запрещен и это только особенность D365FO. Скорее всего производительность настолько больное место у продукта что не хотят хоть как-то еще ухудшать.
Старый 18.04.2019, 09:35   #13  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от skuull Посмотреть сообщение
MS говорит, что это производительность, типа не надо отчёты гонять по продакшен базе, а потом говорить что все медленно.
Гм. Насколько я помню, у микрософта нету никаких SLA по производительности D365FO. То есть - даже если у клиента медленно, им сейчас в целом - все равно. Соответственно - не понятно почему их в таком случае производительность беспокоит...
Старый 17.04.2019, 22:47   #14  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
сюда напшите, или в яммер https://experience.dynamics.com/idea...d%20Operations
Старый 26.08.2016, 19:11   #15  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Fillin Посмотреть сообщение
А какой бюджет и по какой ставке?
Оцените в часах. Бюджет заранее неизвестен. Предположим, что вы отвечаете на RFQ.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
#msftadvocate, aif, абстракции, закопаем стюардессу, индийская кухня, интеграция, как правильно, холивар

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Должностные лица - использовать или нет? olesh DAX: Программирование 5 04.03.2019 16:22
Модуль Проекты можно ли использовать Aquarius DAX: Функционал 1 27.02.2015 18:35
AX.NET: интеграция .NET-приложений с Аксаптой и (будущие) возможности облачных вычислений gl00mie DAX: Программирование 2 23.04.2010 00:47
Андре: Интеграция Ax с системами контроля версий Андре DAX Blogs 7 03.03.2008 14:47
Управление командой разработчиков - что лучше использовать ShadowFromXZone DAX: Прочие вопросы 66 05.02.2007 19:58

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:58.