Почему использование HTTP сервисов и данных в формате JSON — оптимальный выбор, вместо всех остальных вариантов при решении задачи обменов данными
Личное мнение. Я выполнил за 2019 год 30+ интеграций разных систем.
- Описание
- Подробнее
Описание
Многие разработчики, решая задачи обмена данными, используют те технологии, с которыми уже знакомы.
Кто-то лепит обмены через COM, кто-то учит модные КД3, кто-то — использует крутых кроликов, а кому то навязали инновационную ESD.
У каждого решения есть свои плюсы и минусы. В таблице ниже свел воедино основные показатели самых распространенных инструментов и технологий.
Мой опыт в решении задач интеграции — это порядка 30 кейсов за последние 1 год. Хотя в отрасли я намного больше — просто не считал и не записывал кейсы ранее.
Оценки для решений
Все оценки даны для обмена справочником Номенклатура (из УТ в БП).
Оценки на "изучение" и "создание" я брал не по себе, а из наблюдений за своими сотрудниками.
Изучение — оценка минимального времени в часах с момента знакомства до появления "понимания" как решать задачу
Создание — оценка минимального времени в часах с момента знакомства до появления работающего решения
Доработка — добавление в обмен нового нетипового реквизита строкового типа
Скорость — оценка времени на одну итерацию обмена одним элементом справочника номенклатура
Объем данных — влияет на скорость выполнения обмена. Для оценки трафика http выполнялось сохранение передаваемых данных в файл
Обмен с использованием КД2/КД3 выполнялся через файл.
* У вас будет вполне обоснованный намек о сравнивании теплого с мягким, но прежде чем об этом написать, дочитайте до конца)
Инструмент | Изучение | Создание | Доработка | Скорость | Объем данных | Аргументы за | Аргументы против | Комментарии |
---|---|---|---|---|---|---|---|---|
Выгрузка загрузка данных XML | 0,5ч | 0 | 0 | Бесконечно | 133 КБ | Для разовой выгрузки между одинаковыми конфигурациями | Для одинаковых конфигураций | |
КД2 | 8 ч | 3 ч | 60 мин | Бесконечно | 127 КБ | Много готовых решений и специалистов | Сложно и медленно | |
КД3 | 16 ч | 3 ч | 30 мин | Бесконечно, но иногда быстрее чем КД2 | 115 КБ | Если типовая 1с и есть компетенция | Сложно и медленно | Для нетиповых надо внедрять БСП |
Rabbit | 24 ч | 8 ч | 30 мин | 1-5 сек | 1 КБ | Для серьезной нагрузки, быстрее всех | Сложна в изучении. Часто — требует внешние компоненты | |
Datareon | 18 ч | 5 ч | 30 мин | 1-5 сек | 30 КБ | Если есть много денег | Сложна в изучении. Невероятно дикая система отладки | С отладкой все печально |
Kafka | 7 ч | 5 ч | 30 мин | 1-5 сек | 1 КБ | Для серьезной нагрузки | Неведомый зверь | |
COM | 3 ч | 3 ч | 10 мин | 1-5 сек | ? | — | Супер медленный. Платформо-зависимый. | |
Http сервисы | 3 ч | 3 ч | 5 мин | 1-5 сек | 1 КБ | По совокупности показателей — лучшее решение | Надо веб-сервер | |
WEB сервисы | 5 ч | 3 ч | 10 мин | 1-5 сек | 1 КБ | — | Надо веб-сервер и подучить XDTO. Зачем, если есть Http сервисы? |