|
22.05.2017, 16:22 | #1 |
Участник
|
Как достучаться из веб-приложения к акс2012, акс2009? Сервер OData?
Вопрос. Пока теоретический.
Как достучаться из веб-приложения к акс2012, акс2009? Предположим, есть традиционное веб-приложение на традиционном для веба LAMP Как лучше с архитектурной точки зрения организовать доступ к Аксапте для этого приложения? делать прокси к бизнес-коннектору? делать сервер OData? Создавать специализироованные веб-сервисы средствами самой Аксапты? Еще как-то? Поделитесь опытом, размышлениями. Есть ли уже готовые решения? для акс7 понятно - там OData поставляется "из коробки". А вот для предыдущих версий? апд: И да, задача ставится не для "экономии" лицензий Аксапты. Задача "как сделать правильно" Последний раз редактировалось mazzy; 22.05.2017 в 16:41. |
|
22.05.2017, 17:31 | #2 |
Участник
|
С АХ 2012 необходимо интегрировать при помощи "custom" вэб-сервисов. Рабочеи места сотрудников, пользующихся web интерфейсом, лицензируется, как обычные, внешние пользователи - бесплатно.
|
|
22.05.2017, 17:59 | #3 |
Участник
|
"custom" вэб-сервисы - это специализированные веб-сервисы, написанные на Аксапте?
Другими словами, вести параллельную кастомизацию и в веб-приложении, и в Аксапте? А может есть что-нибудь более унверсальный способ? |
|
22.05.2017, 18:26 | #4 |
Banned
|
Цитата:
Цитата:
AX2012 это прежде всего класс RetailCommonWebAPI умеющий работать с JSON. • Обмен файлами • Обмен через общую базу данных • Удаленный вызов функций • Сервисная шина предприятия (MQ, ESB) https://habrahabr.ru/post/326088/ А на веб-сервисы мы, хорошо подумав, забили. И вместо них решили реализовать обмен по старому доброму протоколу HTTP с применением обмена файлами https://habrahabr.ru/company/bitrix/blog/129156/ Насчет всех внешних пользователей они должны быть не просто внешними но сторонними. Цитата:
External (third party) users do not require licenses. Third party users are users that are not either (i) your or your affiliates’ employees, or (ii) your or your affiliates’ contractors or agents. In this sense, the definition of third party users does not extend to onsite contractors, vendors and users performing business processes on your behalf.
|
|
22.05.2017, 18:56 | #5 |
Участник
|
Цитата:
Раньше в GMCS работал с этим модулем пару лет. Удивлен, что объекты этого модуля кто-то в пример приводит. а это ничего, что этот класс работает с JSON через System.Collections.Hashtable? причем десериализует без проверок-стражей и даже без перехвата exception? собственно мой вопрос возник из семейства классов Retail. Да, вот это мы видим. А как правильно? А что делать приложению на LAMP? Переписывать приложение на c# под IIS? апд: добавил скриншотов Последний раз редактировалось mazzy; 22.05.2017 в 19:18. |
|
22.05.2017, 19:28 | #6 |
Banned
|
Цитата:
Цитата:
Цитата:
А как правильно?
А что делать приложению на LAMP? Переписывать приложение на c# под IIS? |
|
22.05.2017, 19:42 | #7 |
Участник
|
Цитата:
предлагаю считать долг вендору и Retail-компонентам отданым и перейти к правильному с точки зрения пользователей и ИТ-команды заказчика. Кстати, не исключено, что Retail-компоненты вполне правильные с точки зрения пользователей и ИТ-команды заказчика, просто я их неправильно готовлю. Цитата:
изначально писал про то, что современные веб-приложения - это комплекс ПО и на сервере, и на клиенте. Встретить современного клиента без JS... это поискать надо. (или какой-нибудь Dynamics AX WMS. Будем считать, что и ему долг отдали. ))) Причем современные - это не только браузерные приложения, но и Android/iOS приложения. Скорее у заказчика будет уже существующее веб-приложение типа WMS, типа какой-нибудь внутренней заказывалки или еще что-нибудь. Скорее всего, это приложение будет реализовано на LAMP в виде серверной и клиентской части. Скорее всего, используются какие-нибудь стандартные для веб-мира библиотеки типа node.js, knockout и подобные Собственно, вопрос как организовать взаимодействие этого приложения с акс2012, акс2009? |
|
22.05.2017, 19:56 | #8 |
Участник
|
Цитата:
Если да, то мне такой способ больше нравится, чем с бизнес-коннектором (создавать дополнительную прослойку для обмена между AX и LAMP, С# на IIS) Почти все языки поддерживают формат обмена данными по WSDL. |
|
22.05.2017, 19:59 | #9 |
Участник
|
да, про AIF не сказал.
AIF требует доработки классов и настройки на стороне Аксапты. AIF отсутствует в акс7. да, я спрашивал про акс2009, акс2012, но точно стоит завязываться на технологию, которой не будет в следующей версии? почему? |
|
23.05.2017, 09:33 | #10 |
Участник
|
А я бы сделал старый-добрый Web сервис, ну или REST, но независимый от Аксапты - который бы реализовывал нужный функционал.
Как он будет это делать - через коннектор, Odata или просто читать напрямую из базы - уже дело вкуса. Внешнее приложение просто дергало бы в нужный момент сервис и не парилось как там чего реализовано.
__________________
Axapta 3.0 sp - хз какой, kr2 |
|
23.05.2017, 09:45 | #11 |
Участник
|
даже в случае, когда пользователь на своем браузере открывает форму с аксаптовскими данными?
типичный пример - приложение для ввода данных о расходах подотчетного лица. такое приложение уже есть в аксапе. сотрудник открывает форму в браузере и видит свои авансовые отчеты со строками и статусами одобрения. Цитата:
стоит ли заморачиватся универсальными сервисами? или наваять специализированный проще и быстрее, нежели разбираться с еще одним фреймворком? другими словами, нужен ли какой-то прокси-набор для доступа к аксапте из традиционных для веб-разработки библиотек? насколько нужен? с каких библиотек стоило бы начать? |
|
23.05.2017, 11:39 | #12 |
Участник
|
Я сторонник специализированных сервисов - и писать проще и работают быстрее.
__________________
Axapta 3.0 sp - хз какой, kr2 |
|
23.05.2017, 13:01 | #13 |
Участник
|
Цитата:
Сообщение от mazzy
Как достучаться из веб-приложения к акс2012, акс2009?
Предположим, есть традиционное веб-приложение на традиционном для веба LAMP. Как лучше с архитектурной точки зрения организовать доступ к Аксапте для этого приложения? делать прокси к бизнес-коннектору? делать сервер OData? Создавать специализироованные веб-сервисы средствами самой Аксапты? Еще как-то? Цитата:
Цитата:
Еще по поводу написания веб-сервисов в AX - я видел, к примеру, To-Increase Web Service Studio, там веб-сервисы не столько пишутся, сколько настраиваются - в простейших случаях буквально за считанные минуты: выбрали публикуемый справочник или "документ", выбрали поля, deploy, profit! Цитата:
Цитата:
|
|
|
За это сообщение автора поблагодарили: mazzy (2), Vadik (1), ax_mct (5). |
23.05.2017, 13:18 | #14 |
Участник
|
Понятно. Спасибо. Надо подумать.
Основное отличие в наших картинах мира: Цитата:
Вы считаете, что Аксапта должна взаимодействовать только с middware, ни в коем случае не с фронтом. В этом случае middlware должен быть достаточно интеллектуальным и достаточно самостоятельным. Ок. Надо подумать. |
|
23.05.2017, 15:47 | #15 |
Banned
|
Цитата:
Сообщение от mazzy
Основное отличие в наших картинах мира:
Я считаю, что middlware вполне можно создавать на Аксапте, если у нее будет удобный интерфейс к фронту и инструменты разработчика по интеграции с фронтом. На крайний случай где-то на каком-нибудь сервере должны быть развернуты прокси-объекты к Аксапте. Вы считаете, что Аксапта должна взаимодействовать только с middware, ни в коем случае не с фронтом. В этом случае middlware должен быть достаточно интеллектуальным и достаточно самостоятельным. Хотя в этом что-то есть Практичнее брать популярный и независимый LAMP продукт и организовать обмен данными. Уверен что чем больше независимости и отдельности - тем лучше. Причем обмен данными может быть и на уровне баз данных. Если тема о построении альтернативного frond-end к AX, то я прошу прощения. Для меня веб-приложения на LAMP это уже известные и популярные продукты, а не самописки. |
|
23.05.2017, 10:29 | #16 |
Участник
|
А что есть "правильно" и что есть "доступ", а какие нагрузки будут, а можно хотя бы простой сценарий озвучить.... а то бросились тут в технические подробности, хотя мне, например, задача что-то непонятна.
__________________
Sapere aude |
|
23.05.2017, 11:44 | #17 |
Участник
|
Цитата:
Сообщение от mazzy
Как достучаться из веб-приложения к акс2012, акс2009?
Предположим, есть традиционное веб-приложение на традиционном для веба LAMP Цитата:
нагрузка, сценарий, удовольствие, трудозатраты, библиотеки, архитектура - являются переменными величинами и могут обсуждаться. скорее всего, при высокой нагрузке будет одно решение. какое? а при низкой - другое. какое? или то же самое? на первой итерации я бы с удовольствием послушал знающих людей как подобная задача решается в мире традиционной веб-разработки. примеры: https://angularjs.org/ (начиная со слов Data binding) http://learn.knockoutjs.com/#/?tutorial=loadingsaving https://facebook.github.io/react/tutorial/tutorial.html |
|
23.05.2017, 12:45 | #18 |
Участник
|
Цитата:
Сообщение от mazzy
остальное сознательно не конкретизировано.
Правильно = в долгосрочной перспективе максимизировать удовольствие пользователя от приложения при минимизации трудозатрат разработчиков. нагрузка, сценарий, удовольствие, трудозатраты, библиотеки, архитектура - являются переменными величинами и могут обсуждаться. скорее всего, при высокой нагрузке будет одно решение. какое? а при низкой - другое. какое? или то же самое? на первой итерации я бы с удовольствием послушал знающих людей как подобная задача решается в мире традиционной веб-разработки. примеры: https://angularjs.org/ (начиная со слов Data binding) http://learn.knockoutjs.com/#/?tutorial=loadingsaving https://facebook.github.io/react/tutorial/tutorial.html Не понял причем тут JS фреймворки.
__________________
Sapere aude |
|
23.05.2017, 12:50 | #19 |
Участник
|
|
|
23.05.2017, 12:58 | #20 |
Участник
|
Из очередей: Rabbit, Redis, ActiveMQ
Для интеграции всего этого хозяйства с поддержкой BPM: Apache camel, Mule Если сервисs не предполагают сложной логики, а так, чисто фасад к БД, то Go, NodeJS Если сложное, то само собой C# / Java НО сразу оговорюсь - этот зоопарк есть смысл разводить для больших проектов. IMHO Для акса 2012 и выше я бы выбрал сервисы на стороне аксы.
__________________
Sapere aude Последний раз редактировалось Diman; 23.05.2017 в 13:02. |
|
|
За это сообщение автора поблагодарили: mazzy (2), Vadik (1). |
Теги |
ax2009, ax2012, lamp, как правильно |
|
|