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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.05.2017, 13:01   #12  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от mazzy Посмотреть сообщение
Как достучаться из веб-приложения к акс2012, акс2009?
Предположим, есть традиционное веб-приложение на традиционном для веба LAMP. Как лучше с архитектурной точки зрения организовать доступ к Аксапте для этого приложения? делать прокси к бизнес-коннектору? делать сервер OData? Создавать специализироованные веб-сервисы средствами самой Аксапты? Еще как-то?
Нужно уточнить, что значит "достучаться", достаточно ли асинхронного обмена или нужен непременно синхронный. От ответа на этот и другие вопросы сильно зависит реализация.
Цитата:
Сообщение от mazzy Посмотреть сообщение
для акс7 понятно - там OData поставляется "из коробки". А вот для предыдущих версий?
Возможно, в вопросе есть часть ответа Может, спустить OData из коробки AX7 в ту же 2012-ю? На счет 2009-й не уверен, что получится легко и просто, но с .net-обертками тоже всё реализуемо.
Цитата:
Сообщение от mazzy Посмотреть сообщение
"custom" вэб-сервисы - это специализированные веб-сервисы, написанные на Аксапте?
Другими словами, вести параллельную кастомизацию и в веб-приложении, и в Аксапте?
Если "достучаться" значит "читать данные их AX", то можно сделать что-то универсальное, если же нужно писать данные в AX, то необходимо задействовать бизнес-логику приложения, и тогда, весьма вероятно, без доработки AX не обойтись.
Еще по поводу написания веб-сервисов в AX - я видел, к примеру, To-Increase Web Service Studio, там веб-сервисы не столько пишутся, сколько настраиваются - в простейших случаях буквально за считанные минуты: выбрали публикуемый справочник или "документ", выбрали поля, deploy, profit!
Цитата:
Сообщение от mazzy Посмотреть сообщение
даже в случае, когда пользователь на своем браузере открывает форму с аксаптовскими данными? типичный пример - приложение для ввода данных о расходах подотчетного лица.
Ни фига себе типичный пример! Это не "достучаться до AX", это - смостоятельный полноценный модуль из AX с мордой веб-клиента, в котором:
  1. используется синхронный обмен данными с AX (важна актуальность данных)
  2. непосредственно дергается бизнес-логика AX
Для меня типичный пример - это скорее какая-нибудь интеграция с интернет-магазином:
  • обмен данными асинхронный
  • стороннее веб-приложение может какое-то время работать автономно
  • бизнес-логика AX дергается опосредованно в момент обработки документов
Цитата:
Сообщение от mazzy Посмотреть сообщение
Другими словами, на каждый случай свой отдельный сервис? стоит ли заморачиватся универсальными сервисами?
По-моему, можно выделить следующие основные требования к интеграции:
  • направление потоков данных (из AX либо в AX)
  • синхронность/асинхронность обмена
  • необходимость обратной связи
  • необходимость дергать бизнес-логику AX (в т.ч. для контроля доступа и применения политик RLS/XDS)
  • допустимые виды транспорта данных
Синхронность/асинхронность обмена я выделил как требование, а не как вариант реализации, потому что считаю, что интеграции нужно всегда по возможности делать асинхронными. Отсюда - отсутствие в списке такого параметра как нагрузка. Комбинации приведенных условий формируют ограничения, в рамках которых можно уже искать свой оптимальный вариант реализации:
  • Если данные читаются из AX без обратной связи, и бизнес-логику дергать не надо, то возможен вариант наподобие DWH, когда данные читаются напрямую из базы AX либо ее копии. Это - самый лайтовый, самый простой в реализации вариант "достучаться"
  • Если всё то же, что с DWH, но прямой доступ к базе AX невозможен, то нужно использовать отдельное решение для интеграции, которое обеспечит доступный транспорт
  • Если данные читаются, но нужно контролировать доступ (в т.ч. RLS/XDS), то нужно писать/использовать коробочный сервис в AX - универсальный или нет, дело десятое.
  • Если данные читаются, но нужно обеспечить асинхронность (независимость от доступности AX), то нужно писать периодические выгрузки, либо использовать некий фреймворк/горизонтальное решение для интеграции, либо использовать отдельный движок для синхронизации баз (как в модуле Retail)
  • Если данные читаются, но нужно обеспечить обратную связь (дошли/не дошли, загрузились или нет), то это уже - вариант с записью данных, см. ниже
  • Если данные пишутся синхронно, то нужно в любом случае писать/использовать коробочный сервис в AX, который будет дергать бизнес-логику валидации/defaulting'а/обработки данных
  • Если данные пишутся асинхронно, то нужно опять же иметь в AX нечто, что будет дергать бизнес-логику валидации/defaulting'а/обработки данных в AX, при этом для "перекладывания" данных можно использовать DIXF или иное решение для интеграции.
  • etc
За это сообщение автора поблагодарили: mazzy (2), Vadik (1), ax_mct (5).
Теги
ax2009, ax2012, lamp, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Working with the OData Endpoint in Dynamics 365 for Operations Blog bot DAX Blogs 0 12.01.2017 17:11
AIF: OData Query Service Blog bot DAX Blogs 0 24.08.2011 09:11
axforum blogs: Трудности перехода: опыт переноса модификаций с AX 3.0 SP5 EE на AX 2009 SP1 RU5 EE Blog bot DAX Blogs 0 19.07.2011 03:14
DAX2009 workflows - отдельный сервер для каждого приложения nebraska DAX: Администрирование 1 01.10.2010 09:37

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

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

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