|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
А в чем легкость по сравнению с любой программной очередью, к примеру Azure Queue ? Одно приложение кладёт сообщение в очередь, другое достает. Хотите подебажить - положите сообщение еще раз. Плюсы для меня: не надо писать экспорт данных в файл, не надо хранить файлы, не надо администрировать доступ к файлам и т.д. и т.п. Последний раз редактировалось skuull; 29.09.2017 в 04:56. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от skuull
![]() А в чем легкость по сравнению с любой программной очередью, к примеру Azure Queue ? Одно приложение кладёт сообщение в очередь, другое достает. Хотите подебажить - положите сообщение еще раз. Плюсы для меня: не надо писать экспорт данных в файл, не надо хранить файлы, не надо администрировать доступ к файлам и т.д. и т.п.
Последний раз редактировалось trud; 29.09.2017 в 07:15. |
|
![]() |
#3 |
NavAx
|
Цитата:
По скриншотам QuartzAX не понятно как настроить, если надо обмениватся разными типами данных (клиенты, поставщики, заказы и т.д.), надо для каждого типа свой инстанс настраивать/запускать или все можео настроить в одном? ЗЫ. На чистом .Net только один статический метод для чтения body из сообщения в Azure Service Bus. Последний раз редактировалось raz; 29.09.2017 в 09:37. |
|
![]() |
#4 |
Banned
|
Все в одном. Один процесс контролирует множественные задания.
|
|
![]() |
#5 |
NavAx
|
Идея такая.
1. Есть Interface - связь с DMF проектом и dataentity. 2. Есть Shared resource - связь с тем, где брать/куда класть файлы с данными. 3. Есть звязка между Interface и Shared resource. 4. Есть Interface log, промежуточная таблица, куда попадают данные для экспорта/импорта. Данные - это файлы сгенерированные DMF или для DMF. 5. Обработчик (пакетник) для обработки Shared resource, при запуске нужно указать какой ресурс. Сколько интерфейсов нужно мониторить, столько пактеных заданий запускаем. Для входящих интерфейсов файлы будут браться с ресурса и класться в Interface log со статусом Pending import. Для исходящих данных из Interface log будут браться строки с Pending export и отправляться на/в ресурс. 6. Обработчик для Pending import. Нужно одно пакетное задание. 7. Для экспорта нужны или триггеры, или можно натроить Auto push для dataentity с Incremental push only. Данные попадают в Interface log со статусом Pending export. 8. Обработчик для Pending import. Нужно одно пакетное задание. 9. Обработчик для Auto push интерфейсов. |
|
![]() |
#6 |
Участник
|
Ну т.е. если у вас обычное пакетное задание, читает что-то(в принципе то неважно что, очередь azure или директорию с файлами) и обрабатывает
мне это кажется логичным, но вот EVGL такой подход считает "некошерным" (аналогично кстати отозвались на яммере, используя правда терминологию "не энтерпрайс подход" ![]() собственно в этом и вопрос - зачем для такой задачи нужно отдельное приложение-сервис, с собственным планировщиком и т.п. |
|
![]() |
#7 |
Участник
|
Цитата:
вендору понятно зачем - микросервисы, разделение по командам, независимое планирование/тестирование/приемка, независимое ценообразование. масса преимуществ для вендора. |
|
![]() |
#8 |
Участник
|
Если обратить свой взор на DMFIntegrationBridge то можно найти использование разных интересных библиотек типа Microsoft.Dynamics.Platform.Integration.*, а дальше рефлектор в руки и смотрите как используеться и блоб и очереди и прочие прелести Azure.
|
|
![]() |
#9 |
Moderator
|
Цитата:
Это я к тому, что любые рассуждения о прогрессе неплохо бы сопровождать хотя бы примерными обоснованиями финансовой эффективности. Цитата:
Во вторых - далеко не всегда в Enterprise реалиях количество документов исчисляется тысячами и миллионами. Если у нас интеграция, например, с внешним рассчетом зарплаты, то там документ только один в месяц - итоговый платежный табель. Вообще когда говорится о миллионах сообщений, возникает ощущение что речь идет о каком-то серьезном архитектурном просчете. Наверное, можно таких размеров обмена достичь, если попытаться написать внутри Аксапты свою MES и собирать в нее данные с датчиков. Но все-таки правильнее держать MES где-то во внешнем приложении, а в аксапту ежедневно импортировать данные о нескольких сотнях активных производственных заказах и их потреблении/выпуске. А это - задача вполне посильная файловому обмену. Цитата:
Сообщение от skuull
![]() А в чем легкость по сравнению с любой программной очередью, к примеру Azure Queue ? Одно приложение кладёт сообщение в очередь, другое достает. Хотите подебажить - положите сообщение еще раз. Плюсы для меня: не надо писать экспорт данных в файл, не надо хранить файлы, не надо администрировать доступ к файлам и т.д. и т.п.
В принципе - я согласен что при использовании стандартных Message Queue экономится немного времени на огранизацию очередей, логирования и тп. Но на аксапте это порядка 3-4 экранов кода - экономия не гигантская. Формировать XML или JSON тебе все равно надо в обоих случаях - и при очереди и при примитивной папочке на диске. Единственное реальное преимущество Message Queue (причем гигантское) - это их интеграция с менеджерами транзакций. То есть - можно гарантировать, что сообщения пропадут из очереди ТОЛЬКО при успешном завершении текущей транзакции. (Чего при файловом доступе добится нельзя ни при каких условиях). Однако, Аксапта не поддерживает работу с менеджерами транзакций и преимущество это может сработать только при разработке на голом C#/Java Последний раз редактировалось fed; 29.09.2017 в 11:14. |
|
|
За это сообщение автора поблагодарили: EVGL (2), Link (2). |
![]() |
#10 |
Участник
|
Цитата:
Цитата:
Давайте уйдем от полемики. Кроме возможности прочитать и подправить руками есть еще преимущества? |
|
![]() |
#11 |
Moderator
|
Цитата:
А насчет полемики - так нету плохих и хороших технологий. Есть технологии применимые для каждого конкретного случая с конкретными параметрами. Я просто пытаюсь представить себе ситуацию на реальном, более или менее разумно спроектированном внедрении Аксапты, при котором файловый обмен дествительно начинает несправляться. Но реального примера у меня придумать не получается. Ситуации с датчиками в производстве или с закачкой всех ритейловых заказов в аксапту - это как раз примеры скверной архитектуры. Кроме возможности подправить и прочитать, замечу большую легкость администрирования. Расшарить папочку на компе любой пользователь может, а администрировать message queue - это надо учиться. Наконец - хотя написание кода для записи/чтения XML/JSON и занимает время, но текстовый формат обмена легче согласовать между поставщиками, легче верифицировать и тд. То есть - речь идет не только о времени на кодинг, но и о времени на дизайн. То есть - на мой взгляд - message queue и Enterprise Service Bus - это вещи вполне полезные, но только в том случае, если внедряется не ERP, а best of breed. Вот если у нас CRM, складская система, финансовая система, система бюджетирования, APS, MES, Business Intellignce, система прогнозирования спроса и тд взяты от разных разработчиков и живут частично в облаке, частично on-premise, то использование MQ и ESB вполне оправдано. (просто потому что объем обмена внутри этого хозяйства просто непосилен для файлового обмена). А если нам надо ERP заинтегрировать с 3-4-5 внешними системами, то в большинстве случаев, использование тяжелых интеграционных технологий - это стрельба из пушки по воробьям. Последний раз редактировалось fed; 29.09.2017 в 11:13. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|